x64 vs x86 for CUDA
x64 vs x86 for CUDA
在此线程中,x64 允许每个块的线程数少于 Win32? 有一个关于寄存器用完的问题。我的印象是 Nvidia 在 CUDA 7.5 及更高版本中放弃了对 x86 的支持。这可能是一个愚蠢的问题,但这是否意味着所有指针都需要两个寄存器?而且可能减少的线程/块将是未来的工作方式?
这可能是一个愚蠢的问题,但这是否意味着所有指针都需要两个寄存器?
是的。 x64 模式下的所有指针都需要 2(32 位(寄存器进行存储。
而且可能减少的线程/块将是未来的工作方式?
当然,应该不会影响可以启动的区块数量。 关于线程,是的,对每个块的线程有潜在的影响(因为每个块启动的线程乘以每个线程的寄存器乘积必须低于机器限制(,但正如我在回答您链接的问题时所说,线程的限制通常可以使用其中提到的几种方法之一来解决。 许多内核不会受到影响,因为它们没有"达到极限"。 对于那些"达到极限"的内核,有一些成熟的技术可以减轻这种影响,并允许您每个块运行所需数量的线程,最多 1024 个。
最终,这意味着所呈现的问题与其说是功能问题,不如说是性能优化问题,而性能优化问题将始终存在。
相关文章:
- "error: no matching function for call to"构造函数错误
- 表示"accepting anything for this template argument" C++概念的通配符
- 如何在C++中从两个单独的for循环中添加两个数组
- 编译时未启用intel oneApi CUDA支持
- 在Linux for Windows上编译C++代码时出错
- 调用专用模板时出错"no matching function for call to [...]"
- 在cuda线程之间共享大量常量数据
- 为什么我的for循环不能正确获取argv
- 为什么我不能在 FOR LOOP 中使用 i/10,C++?
- 是否有与C++"-Wl,--stack,[a number, e.g. 4194304 for 4Mb of stack]"的 CUDA 等效性?
- CUDA 错误:"dynamic initialization is not supported for __device__, __constant__ and __shared__ variabl
- Python vs C++ for CUDA web server?
- x64 vs x86 for CUDA
- 嵌套for循环中的Cuda减少
- 内核中的"while"/"for"循环导致 CUDA 内存不足错误?
- 在CUDA内核中放入for循环
- CUDA中的三重For循环
- 跳到for循环Cuda中的下一个块
- Cuda三重嵌套for循环赋值
- 如何使用CUDA实现2-for粒子交互循环,以及由此产生的复杂性是什么