I hope you can help me to figure out the correct compiler option required for the below card:
> ./deviceQuery Starting... > > CUDA Device Query (Runtime API) version (CUDART static linking) > > Detected 1 CUDA Capable device(s) > > Device 0: "GeForce GTX 780 Ti" > CUDA Driver Version / Runtime Version 7.0 / 6.5 > CUDA Capability Major/Minor version number: 3.5 > Total amount of global memory: 3072 MBytes (3220897792 > bytes) > (15) Multiprocessors, (192) CUDA Cores/MP: > 2880 CUDA Cores > GPU Clock rate: 1020 MHz (1.02GHz) > Memory Clock rate: 3500 Mhz > Memory Bus Width: 384-bit > L2 Cache Size: 1572864 bytes ... Maximum Texture > Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), > 3D=(4096, 4096, 4096) Maximum Layered 1D Texture Size, (num) layers > 1D=(16384), 2048 layers Maximum Layered 2D Texture Size, (num) > layers 2D=(16384, 16384), 2048 layers Total amount of constant > memory: 65536 bytes Total amount of shared memory per > block: 49152 bytes Total number of registers available per > block: 65536 Warp size: 32 > 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) Maximum memory pitch: > 2147483647 bytes Texture alignment: 512 > bytes Concurrent copy and kernel execution: Yes with 1 copy > engine(s) Run time limit on kernels: Yes > 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): Yes Device > PCI Bus ID / PCI location ID: 3 / 0 Compute Mode: > < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) > > > deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 7.0, CUDA > Runtime Version = 6.5, NumDevs = 1, Device0 = GeForce GTX 780 Ti > Result = PASS I have a piece of cuda code and debug with nvcc (CUDA 6.5). When I added those options:
-arch compute_20 -code sm_20
then program gave me this error:
error code invalid device function
If I remove those options (nvcc source -o exe), the program runs fine. Can anyone help me figure out which compute_ and sm_ is suitable for my card by looking at the output of ./deviceQuery? I read from the nvidia manual that using the correct option of compute_ and sm_ for the card results in significant speed up . Has anyone observed quantitatively this speed up?
Thanks