- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试了解我的每个 CUDA 线程的资源使用情况,以用于手写内核。
我使用 nvcc -arch=sm_20 -ptxas-options=-v
将我的 kernel.cu
文件编译为 kernel.o
文件
我得到了以下输出(通过c++filt
):
ptxas info : Compiling entry function 'searchkernel(octree, int*, double, int, double*, double*, double*)' for 'sm_20'
ptxas info : Function properties for searchkernel(octree, int*, double, int, double*, double*, double*)
72 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info : Used 46 registers, 176 bytes cmem[0], 16 bytes cmem[14]
看上面的输出,这样说对吗
我在理解输出方面也有一些问题。
我的内核正在调用很多 __device__
函数。 IS 72 字节总和__global__
和 __device__
函数的堆栈帧的内存是多少?
0 字节溢出存储
和 0 字节溢出加载有什么区别
为什么 cmem
的信息(我假设是常量内存)会以不同的数字重复两次?在内核中我没有使用任何常量内存。这是否意味着编译器在后台会告诉 GPU 使用一些常量内存?
最佳答案
__global__
和 __device__
函数的堆栈帧的内存总和是 72 字节吗? 是的,正确__constant__
变量和内核参数,使用不同的“银行”,开始有点详细,但只要您使用小于 64KB 的内存__constant__
变量和小于 4KB 的内核参数就可以了。关于memory - 解释 ptxas 的详细输出,第一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12388207/
我在编译 CUDA 代码时收到以下我不理解的警告: CUDACOMPILE : ptxas warning : Stack size for entry function '_Z24gpu_kerne
我正在使用 CUDA,我创建了一个 int2_ 类来处理复杂的整数。 ComplexTypes.h 文件中的类声明如下: namespace LibraryNameSpace { class
我正在尝试了解我的每个 CUDA 线程的资源使用情况,以用于手写内核。 我使用 nvcc -arch=sm_20 -ptxas-options=-v 将我的 kernel.cu 文件编译为 kerne
我在带有 CUDA 5 的 Linux 上使用具有计算能力 35 的 tesla k20。通过一个简单的子内核调用,它给出了一个编译错误:Unresolved extern function cuda
我正在尝试使用 thrust::sort 在我的 GPU 上对结构数组进行排序。但是,当我使用 nvcc 编译时,我收到此警告: ptxas/tmp/tmpxft_00005186_00000000-
当我尝试构建 a Windows port of Faster-RCNN 时出现 nvcc fatal : '--ptxas-options=-v': Expected a number 错误。您可以
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我以前从未使用过 CUDA 或 C++,但我正在尝试让 Ramses GPU 从 ( http://www.maisondelasimulation.fr/projects/RAMSES-GPU/ht
我是一名优秀的程序员,十分优秀!