Сколько измерений сетки можно использовать на карте cuda computeability 2.0? - PullRequest
0 голосов
/ 29 июля 2011

Я хочу использовать 3D-сетку для расчетов с cuda. На этой странице [1] или в этом ответе [2] сказано, что я могу использовать для этого три измерения, но запрос свойств моего устройства дает мне следующее:

   --- General Information for device 0 ---
Name:  Quadro 4000
Compute capability:  2.0
Clock rate:  950000
Device copy overlap:  Enabled
Kernel execution timeout :  Enabled
   --- Memory Information for device 0 ---
Total global mem:  2146631680
Total constant Mem:  65536
Max mem pitch:  2147483647
Texture Alignment:  512
   --- MP Information for device 0 ---
Multiprocessor count:  8
Shared mem per mp:  49152
Registers per mp:  32768
Threads in warp:  32
Max threads per block:  1024
Max thread dimensions:  (1024, 1024, 64)
Max grid dimensions:  (65535, 65535, 1)

Если я пытаюсь использовать 3D-сетку с моим кодом, ничего не происходит:

__global__ void updateBuffer( ... )
{
  int x = blockIdx.x;
  int y = blockIdx.y;
  int z = threadIdx.x;

  int offset =
      x +
      y * width +
      z * width * height;

  buffer[offset] = ...;
}

__global__ void updateBuffer2( ... )
{
  int x = blockIdx.x;
  int y = blockIdx.y;
  int z = blockIdx.z;

  int offset =
      x +
      y * width +
      z * width * height;

  buffer[offset] = ...;
}

void callKerner() {
  dim3 blocks(extW,extH,1);
  dim3 threads(extD,1,1);

  dim3 blocks2(extW,extH,extD);
  dim3 threads2(1,1,1);


  updateBuffer<<<blocks,threads>>>( ... ); // works fine
  updateBuffer2<<<blocks2,threads2>>>( ... ); // nothing happens
}

Так что, 3d сетка не работает с некоторыми картами?

[1] http://en.wikipedia.org/wiki/CUDA#Version_features_and_specifications [2] Максимальное количество блоков на сетку: CUDA

Ответы [ 2 ]

2 голосов
/ 29 июля 2011

Я исправил это, установив последнюю версию драйвера nvidia и обновившись до cuda 4.0

1 голос
/ 29 июля 2011

В этой строке есть подсказка:

Max grid dimensions:  (65535, 65535, 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...