PGI 12.3 bug with device constant data

I’m using PGI 12.3 and CUDA 4.1.

    
REAL :: CaF_infty, F_T, Ca_myo
REAL, constant :: Kd_F_const

CaF_infty =  F_T * Ca_myo / (Kd_F_const + Ca_myo)

The internal compiler error is

PGF90-S-0000-Internal compiler error. mk_offset: unexpected ast    7303 (src/tscell_gpu_utility.f95: 350)
  0 inform,   0 warnings,   1 severes, 0 fatal for init_fluo

PGI 11.10 with CUDA 4.0 works fine. This is supposed to be PGI bug, not from CUDA library.

Thanks,
Tuan

Hi Tuan,

Thanks for the report. I was able to create a small reproducing example and have filed a problem report (TPR#18571). The work around is to copy the device constant variable to a host temporary variable before using it in an expression.

Best Regards,
Mat