Olimit exceeded....

Hi. can anyone explain what might be causing this? Note, I don’t get it if I I use -Mcuda=cuda3.1 :

$ pgfortran -c curk4_mod.cuf -Mpreprocess
/tmp/pgnvdLD3gVPbtUj9x.nv4(0): Warning: Olimit was exceeded on function curk4_kernel; will not perform function-scope optimization.
        To still perform function-scope optimization, use -OPT:Olimit=0 (no limit) or -OPT:Olimit=48636
/tmp/pgnvdLD3gVPbtUj9x.nv4(0): Warning: To override Olimit for all functions in file, use -OPT:Olimit=48636
        (Compiler may run out of memory or run very slowly for large Olimit values)
^Ccleaning up after signal(2)...
cleaning up after signal(2)...

Hi Rob,

We use a few NVIDIA’s CUDA back end tools to create the GPU binary. I believe this error comes from one of these tools when performing register allocation. Basically, you have too many local variables and were hitting an internal limit within the tool. NVIDIA has fixed this issue in later CUDA versions (by default the 2010 compilers use CUDA 2.3).

Hope this helps,
Mat

Cheers for the info Mat.

Rob.