2014-02-10 68 views
1

我想用一些params來啓動一個內核,我相信這個參數是有效的,但我正在接收無效的配置參數錯誤。cuda invalid配置參數

我設置的大小是這樣的:

dim3 BlockDim = dim3(128, 1, 1); 
dim3 GridDim = dim3(321, 320, 1); 

,然後推出我的內核

kernel<<<BlockDim,GridDim>>>(); 

我的理解是,這應該是罰款。 從設備查詢我得到:

Device 0: "Tesla C1060" 
    CUDA Driver Version/Runtime Version   6.0/5.5 
    CUDA Capability Major/Minor version number: 1.3 
    Total amount of global memory:     4096 MBytes (4294770688 bytes) 
    (30) Multiprocessors x ( 8) CUDA Cores/MP: 240 CUDA Cores 
    GPU Clock rate:        1296 MHz (1.30 GHz) 
    Memory Clock rate:        800 Mhz 
    Memory Bus Width:        512-bit 
    Max Texture Dimension Size (x,y,z)    1D=(8192), 2D=(65536,32768), 3D=(2048,2048,2048) 
    Max Layered Texture Size (dim) x layers  1D=(8192) x 512, 2D=(8192,8192) x 512 
    Total amount of constant memory:    65536 bytes 
    Total amount of shared memory per block:  16384 bytes 
    Total number of registers available per block: 16384 
    Warp size:          32 
    Maximum number of threads per multiprocessor: 1024 
    Maximum number of threads per block:   512 
    Maximum sizes of each dimension of a block: 512 x 512 x 64 
    Maximum sizes of each dimension of a grid:  65535 x 65535 x 1 
    Maximum memory pitch:       2147483647 bytes 
    Texture alignment:        256 bytes 
    Concurrent copy and kernel execution:   Yes with 1 copy engine(s) 
    Run time limit on kernels:      No 
    Integrated GPU sharing Host Memory:   No 
    Support host page-locked memory mapping:  Yes 
    Alignment requirement for Surfaces:   Yes 
    Device has ECC support:      Disabled 
    Device supports Unified Addressing (UVA):  No 
    Device PCI Bus ID/PCI location ID:   66/0 
    Compute Mode: 

我在這裏錯過了什麼嗎?

多試驗幾次我已經運行:

作品

dim3 BlockDim = dim3(128, 1, 1); 
dim3 GridDim = dim3(200, 1, 1); 

不工作

dim3 BlockDim = dim3(128, 1, 1); 
dim3 GridDim = dim3(30001, 1, 1); 

回答

1

想通了。

我有blockDim和gridDim在我的內核調用逆轉。

本來應該是:

kernel<<<GridDim,BlockDim>>>();