For the NVIDIA GEFORCE 940mx GPU, Device Query shows it has 3 Multiprocessor and 128 cores for each MP.
每个多处理器的线程数=2048
所以,3*2048=6144.ie。 GPU 共有 6144 个线程。
6144/1024=6,即。总共6块。经纱尺寸为 32。
但从这个视频来看https://www.youtube.com/watch?v=kzXjRFL-gjo我发现每个GPU对线程有限制,但对块数没有限制。
所以我对此感到困惑。我想知道
- 我的 GPU 中总共有多少个线程?我们可以使用所有线程吗
执行一个程序?
- 有多少个块和网格?
看来您感到困惑的主要根源是混淆了两组完全不同的限制:
- GPU 上可以同时运行的最大线程和块数。
- 可以为给定内核启动的最大线程和块数。
您引用的数字(每个多处理器 2048 个线程,总共三个多处理器 = 6144 个线程代表第一组限制。您在屏幕截图中显示的数字deviceQuery
output:
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
定义给定内核启动的限制。虽然它们有些重叠,但您可以将它们或多或少地分开。有关内核启动参数和块尺寸的实用性的更全面讨论,请参阅here.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)