I have noticed some bizarre compiling behaviour with the 13.3 version of pgfortran when using cuda (12.6 seems to work without a problem).
When I compile my code with
it compiles and gives correct results.
pgfortran -Mcuda=maxregcount:32 -tp=sandybridge-64
also compiles and gives correct results
pgfortran -Mcuda=maxregcount:32 -tp=sandybridge-64 -ta=nvidia
compiles BUT gives wrong results. Some debugging showed that two complex variables (say, CP and CS) have identical values when compiling with the -ta switch even though they should not.
Am I doing something obviously wrong in the compiler switches? I thought the -ta switch is the new way of specifying the target.
In addition, the code also returns wrong results when I use -fast. I tried a different computer where I still run version 12.6 and it has no such issues.
Any help greatly appreciated.