GPGPU CUDA运行时内存使用统计信息 如何在CUDA C++中运行时从所有类型的内存中访问和输出内存统计信息(已使用内存、可用内存)?

GPGPU CUDA运行时内存使用统计信息 如何在CUDA C++中运行时从所有类型的内存中访问和输出内存统计信息(已使用内存、可用内存)?,cuda,gpgpu,memory-profiling,Cuda,Gpgpu,Memory Profiling,全局内存、纹理内存、共享内存、本地内存、寄存器(恒定内存?) 附加问题:你能给我指一下关于如何使用Windows CUDA探查器工具进行此操作的文档吗?是所有卡都支持内存分析,还是只支持某些特定型号的内存分析?要在运行时检查设备上的总体内存使用情况,请使用API。请注意,NVIDIA设备上没有专门的纹理内存。纹理存储在全局内存中,无法使用我所知道的任何CUDA API单独解释它们。您还可以使用API以编程方式查询消耗全局内存(运行时堆、printf缓冲区、堆栈)的运行时组件的大小 常量内存是在编

全局内存、纹理内存、共享内存、本地内存、寄存器(恒定内存?)


附加问题:你能给我指一下关于如何使用Windows CUDA探查器工具进行此操作的文档吗?是所有卡都支持内存分析,还是只支持某些特定型号的内存分析?

要在运行时检查设备上的总体内存使用情况,请使用API。请注意,NVIDIA设备上没有专门的纹理内存。纹理存储在全局内存中,无法使用我所知道的任何CUDA API单独解释它们。您还可以使用API以编程方式查询消耗全局内存(运行时堆、printf缓冲区、堆栈)的运行时组件的大小

常量内存是在编译时静态分配的,您可以通过获取特定翻译单元的常量内存使用量

据我所知,没有办法在运行时动态检查SM级别的资源使用情况(寄存器、共享内存、本地内存)。您可以在运行时使用API查询特定内核函数的每线程和每块资源需求


VisualProfiler可以在它的。我不是VisualProfiler的大用户,所以我不确定它是否在运行期间动态收集设备级内存使用情况。我当然不记得看到过类似的情况,但这并不意味着它不存在。

要在运行时检查设备上的总体内存使用情况,请使用API。请注意,NVIDIA设备上没有专门的纹理内存。纹理存储在全局内存中,无法使用我所知道的任何CUDA API单独解释它们。您还可以使用API以编程方式查询消耗全局内存(运行时堆、printf缓冲区、堆栈)的运行时组件的大小

常量内存是在编译时静态分配的,您可以通过获取特定翻译单元的常量内存使用量

据我所知,没有办法在运行时动态检查SM级别的资源使用情况(寄存器、共享内存、本地内存)。您可以在运行时使用API查询特定内核函数的每线程和每块资源需求


VisualProfiler可以在它的。我不是VisualProfiler的大用户,所以我不确定它是否在运行期间动态收集设备级内存使用情况。我当然不记得看到过类似的情况,但这并不意味着它不存在。

非常感谢,我将尽快查看您在回答中提供的资源!非常感谢,我会尽快查看您在回答中提供的资源!