You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Nsight Systems无法识别8GB数据的CUDA统一内存迁移?

问题:Nsight Systems为何无法识别8GB数据量下的CUDA统一内存迁移操作?

我的CUDA代码如下:

float *dev;
size_t size = 1024 * 1024 * 1024;
// size_t size = 1024 * 1024 * 1024 * 2L;
cudaMallocManaged((void**)&dev, size *sizeof(float));
initialData(dev, size); // 由CPU初始化数据
TestKernel<<<>>>(dev, size);

我通过cudaMallocManaged分配统一内存,先由CPU初始化dev指针(此时数据存储在主机内存),之后调用cudaMemPrefetchAsync将所有数据预取至GPU,理论上应该触发Host-To-Device(HtoD)的数据迁移。

以下是4GB和8GB数据量下的Nsight Systems分析结果:

4GB数据量的分析结果

迁移记录清晰可见:

[5/9] Executing 'cuda_gpu_mem_time_sum' stats report

 Time (%)  Total Time (ns)  Count  Avg (ns)  Med (ns)  Min (ns)  Max (ns)  StdDev (ns)              Operation            
 --------  ---------------  -----  --------  --------  --------  --------  -----------  ---------------------------------
    100.0      163,782,529  2,048  79,971.9  79,903.0    79,711    92,415        813.2  [CUDA Unified Memory memcpy HtoD]

[6/9] Executing 'cuda_gpu_mem_size_sum' stats report

 Total (MB)  Count  Avg (MB)  Med (MB)  Min (MB)  Max (MB)  StdDev (MB)              Operation            
 ----------  -----  --------  --------  --------  --------  -----------  ---------------------------------
  4,294.967  2,048     2.097     2.097     2.097     2.097        0.000  [CUDA Unified Memory memcpy HtoD]

8GB数据量的分析结果

无任何迁移相关记录,所有内存数据检测项均被跳过:

[5/9] Executing 'cuda_gpu_mem_time_sum' stats report
SKIPPED: /data00/home/mem_test/report14.sqlite does not contain GPU memory data.
[6/9] Executing 'cuda_gpu_mem_size_sum' stats report
SKIPPED: /data00/home/mem_test/report14.sqlite does not contain GPU memory data.
[7/9] Executing 'um_sum' stats report
SKIPPED: /data00/home/mem_test/report14.sqlite does not contain CUDA memory transfers data.
[8/9] Executing 'um_total_sum' stats report
SKIPPED: /data00/home/mem_test/report14.sqlite does not contain CUDA memory transfers data.
[9/9] Executing 'um_cpu_page_faults_sum' stats report
SKIPPED: /data00/home/mem_test/report14.sqlite does not contain CUDA Unified Memory CPU page faults data.

附上Nsight Systems的GUI截图:
Nsight Systems GUI截图

请问为何Nsight Systems无法识别8GB数据量下的CUDA统一内存迁移操作?


内容的提问来源于stack exchange,提问作者xiaobin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 20:42:10