PGI 12.8+ and cc30

I’m guessing the answer to this question will be simple, but I’m stumped. I recently got access to some K10 GPUs and so, naturally, I thought I’d recompile my code to try it out, looking at cc30. However, when I try I get (on a sample program):

(1005) > pgfortran -Mcuda=cc30 matmul.CUF 
PGF90-S-0155-No valid compute capability generated  (matmul.CUF)
  0 inform,   0 warnings,   1 severes, 0 fatal for X.sqrt

Huh. I do know the cards are K10/CC 3.0:

(1006) > pgaccelinfo 
CUDA Driver Version:           5000
NVRM version: NVIDIA UNIX x86_64 Kernel Module  310.19  Thu Nov  8 00:52:03 PST 2012

Device Number:                 0
Device Name:                   Tesla K10.G1.8GB
Device Revision Number:        3.0
Global Memory Size:            3757637632
Number of Multiprocessors:     8
Number of SP Cores:            1536
Number of DP Cores:            512
<snip>

So, what very basic thing am I missing? Is cc30 not supported in PGI 12.8+? When I do a ‘pgfortran -Mcuda=help’, it appears as an option:

(1007) > pgfortran -Mcuda=help
pgfortran-Error-Switch -Mcuda with unknown keyword help
-Mcuda[=emu|cc10|cc11|cc12|cc13|cc1x|cc20|cc2x|cc30|cc3x|cc1.x|cc2.x|cuda3.2|3.2|cuda4.0|4.0|cuda4.1|4.1|cuda4.2|4.2|cuda5.0|5.0|fastmath|[no]flushz|keepgpu|keepbin|keepptx|maxregcount:<n>|nofma|ptxinfo]

Thanks,
Matt

Ah ha! Answering (partially) my question, I tried:

(1011) > pgfortran -Mcuda=4.2,cc30,ptxinfo matmul.CUF
ptxas info    : Compiling entry function 'mmul_kernel' for 'sm_30'
ptxas info    : Function properties for mmul_kernel
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 21 registers, 2048+0 bytes smem, 356 bytes cmem[0]

Since I’m using PGI 12.8, CUDA 4.1 is the default and since CUDA 4.1 doesn’t handle CC 3.0…boom.

Now I’m a bit confused by:

(1012) > pgfortran -Mcuda=5.0,cc30,ptxinfo matmul.CUF
pgfortran-Error-CUDA version 5.0 is not available in this installation

since the ‘-Mcuda=help’ output above says it’s a viable option and the node has the CUDA 5 driver (as pgaccelinfo says). Did I ask for the wrong driver? (I know CUDA is touchy about exact driver versions.)

Hi Matt,

CC3.x and CUDA 5 support will be available in the 13.0 release due out shortly. For testing purposes our rcfiles (and thus the help messages) got updated early. Publicly though, these features aren’t available in 12.8.

Sorry for the confusion,
Mat

No worries. I figured that was the reason, but we’ve been doing lots of OS, etc. changes here and I wanted to make sure something didn’t get broken in the change (i.e., we need to re-install PGI to get some autodetection for setup to work).

Thanks,
Matt