我想以這樣的方式來啓動一個內核:CUDA:網格中的最大塊數!= CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X?
kernel_code<<<NUMBER_BLOCKS, NUMBER_THREADS_PER_BLOCK>>> (param1, param2, param3, param4);
因此,僅使用網格的x尺寸。我想用盡可能多的塊來調用內核。我認爲最大。一維網格中的塊數爲65535.
但是,我探索了常數CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X
,這聽起來像我想要找出的完全相同的數字。但是,這個常數在我的GeForce 210(CUDA 1.2)上返回1899336。我錯了什麼?
所以你的疑問是什麼CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X?或者是其他東西 ? –
我正在尋找最大。當我以上面所示的方式調用它時,我可以分配給內核的塊的數量(僅使用了一個維度)。 根據API CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X是'塊的最大x維度',這似乎指的是我可以分配給一個塊維度的最大線程數。因此,這可能不是我正在尋找的數字。 –
是的,這是正確的。 –