CUDA 10.0 设备属性结构体 cudaDeviceProp 和 Managed Memory 说明
CUDA 10.0 设备属性结构体 cudaDeviceProp 和 Managed Memory 说明
cudaDeviceProp 结构体
struct cudaDeviceProp 是一个包含了设备属性的结构体,其中包含了许多成员,包括:
char name[256]:设备名size_t totalGlobalMem:全局内存总大小int sharedMemPerBlock:每个线程块可用的共享内存大小int regsPerBlock:每个线程块可用的寄存器数量int warpSize:每个线程束中线程的数量int maxThreadsPerBlock:每个线程块可容纳的最大线程数int maxThreadsDim[3]:每个线程块中每个维度的最大线程数int maxGridSize[3]:每个网格中每个维度的最大线程数int clockRate:设备时钟频率int memoryClockRate:内存时钟频率int memoryBusWidth:内存总线宽度int multiprocessorCount:设备上的多处理器数量int maxThreadsPerMultiProcessor:每个多处理器可容纳的最大线程数size_t totalConstMem:常量内存总大小int computeMode:设备的计算模式int maximumTexture1D:1D 纹理的最大大小int maximumTexture2D[2]:2D 纹理的最大大小int maximumTexture3D[3]:3D 纹理的最大大小int maxSurface1D:1D 表面的最大大小int maxSurface2D[2]:2D 表面的最大大小int maxSurface3D[3]:3D 表面的最大大小int cudaCores:CUDA 核心数量
managedMemory 枚举类型
managedMemory 是一个枚举类型,表示设备是否支持统一内存 (Unified Memory) 的管理内存模式。可能的值包括:
cudaComputeModeDefault:默认计算模式,不支持统一内存cudaComputeModeExclusive:独占计算模式,不支持统一内存cudaComputeModeProhibited:禁止计算模式,不支持统一内存cudaComputeModeExclusiveProcess:独占进程计算模式,不支持统一内存cudaComputeModeProhibitedShared:禁止共享内存计算模式,不支持统一内存cudaComputeModeExclusiveProcessShared:独占进程共享内存计算模式,支持统一内存
统一内存 (Unified Memory)
支持统一内存的设备可以使用统一内存管理模式,将主机和设备内存统一起来,从而简化了内存管理的复杂性。而不支持统一内存的设备则需要手动管理内存,将数据从主机内存复制到设备内存,或者从设备内存复制到主机内存。
原文地址: https://www.cveoy.top/t/topic/obaZ 著作权归作者所有。请勿转载和采集!