我想在一个内核的内核调用之间使用共享内存。 我可以在内核调用之间使用共享内存吗?如何在CUDA的内核调用之间使用共享内存?
1
A
回答
2
不,你不能。共享内存具有线程块生命周期。在一个__global__
函数调用期间,属于一个组的所有线程都可以访问存储在其中的变量。
0
尝试页锁内存,但速度应该比图形内存慢得多。 cudaHostAlloc(void ** ptr,size_t size,cudaHostAllocMapped); 然后发送ptr到内核代码。
0
以前,你可以用非标准的方式做到这一点,每个共享内存块都有一个唯一的ID,下一个内核会检查这个ID,因此在这个共享内存块上执行所需的处理。这很难实现,因为您需要确保每个内核的完全占用并处理各种角落情况。另外,如果没有正式支持,coulf不会依赖计算设备和cuda版本之间的兼容性。
相关问题
- 1. CUDA:在不同内核之间使用共享内存
- 2. 用户空间和内核线程之间的共享内存
- 3. CUDA共享内存占用
- 4. 何时使用volatile共享CUDA内存
- 5. CUDA共享内存
- 6. 用户模式和内核模式之间的共享内存
- 7. 在不使用内核的情况下在CUDA中写入共享内存
- 8. 使用共享内存在cuda内核中应用高斯掩模
- 9. cuda中的共享内存
- 10. 调用CUDA内核
- 11. CUDA:共享内存分配
- 12. CUDA共享内存速度
- 13. cuda共享内存覆盖?
- 14. 保护内核和用户空间之间的共享内存段
- 15. CUDA:写入共享内存increses内核时执行了很多
- 16. 如何在两个进程之间协调共享内存
- 17. Cuda的:内核调用
- 18. CUDA中的内核调用
- 19. 使用CUDA内核
- 20. 如何使用mmap共享用户空间和内核线程
- 21. 如何在服务和用户进程之间共享内存?
- 22. 如何最好地同步在内核和用户空间之间共享的内存访问,在Windows中
- 23. 在模块之间共享内存
- 24. CUDA - 多次调用内核
- 25. CUDA内核调用阻塞?
- 26. CUDA指针,调用内核
- 27. 使用动态共享内存分配时的正确内核调用
- 28. python:StringIO之间共享的内存?
- 29. 线程之间的共享内存
- 30. CUDA中的共享内存分配
共享内存具有块范围生命周期,而不是内核范围。 – talonmies
@talonmies,谢谢!对不起,我的意思是一样的,但是在术语上是错误的。我的意思是,而不是全局内存(实际上,当你不调用cudaFree),没有办法让全局函数调用之间变量。 – geek