目前典型的GPU大多是面向32位的。虽然它们可以执行双精度,但ALU基本上采用32位整数,线程索引和网格大小为32位,并且(我假设)伪指针也对应于32位无符号物理地址。 / p>
然而,一些GPU(Teslas,GTX Titans)配备6GB,8GB,12GB内存。
嗯,这是怎么回事?我的意思是,你能一次解决超过4GB的问题吗?如果是这样,怎么样?你可以做一个[i] = 123,我的类型是unsigned long int吗?还是像8086年的美好时光那样是一些细分偏移的事情?或者每个内核单独可能只能处理4GB,但不同的内核可以解决更多问题?
答案 0 :(得分:2)
嗯,事实证明,GPU指针(至少在NVIDIA GPU中,可能在AMD中也是如此)是64位。因此,处理4GB,40GB,400GB或400万GB没有问题。只有32位平台才有可能支持32位指针。