I recently received a CentOS 5.7 box with some AMD Opteron processors with the bulldozer instruction set.
At first I could not compile anything with pgi ( http://www.pgroup.com/userforum/viewtopic.php?t=1287&postdays=0&postorder=asc&start=5 ), but then after installing gcc 4.6 and binutils 2.2 (in my home directory) I’ve now been able to compile.
I can’t seem to run anything though:
matt@sahand:tmp$ rm -f a.out; pgfortran -V test.f90 ; ./a.out pgfortran 11.10-0 64-bit target on x86-64 Linux -tp bulldozer Copyright 1989-2000, The Portland Group, Inc. All Rights Reserved. Copyright 2000-2011, STMicroelectronics, Inc. All Rights Reserved. PGF90/x86-64 Linux 11.10-0 Illegal instruction matt@sahand:tmp$
where test.f90 is simply a print hello world.
I’ve ever re-run the makelocalrc while specifying with my version of gcc can be found, to ensure it’s using 4.6:
set LFC=-lg2c; set LDSO=/lib64/ld-linux-x86-64.so.2; set GCCDIR=/opt/home/matt/local/lib/gcc/x86_64-unknown-linux-gnu/4.6.2; set GCCINC=/opt/home/matt/local/lib/gcc/x86_64-unknown-linux-gnu/4.6.2/include; set G77DIR=/usr/lib/gcc/x86_64-redhat-linux/3.4.6/; set OEM_INFO=64-bit target on x86-64 Linux $INFOTPVAL; set LOCALRC=YES; set THROW=__THROW=; set EXTENSION=__extension__=; set LC=$if(-Bstatic,-lgcc -lgcc_eh -lc -lgcc -lgcc_eh -lc, -lgcc -lc -lgcc); # GLIBC version 2.5 # GCC version 4.6.2 set GCCVERSION=40602; set LOCALDEFS=__STDC_HOSTED__; export PGI=$COMPBASE; # makelocalrc executed by matt Mon Jan 23 04:22:20
LDSO doesn’t look great but the rest looks right, could that be the problem?
Right now I’ve been using the istanbul instruction set to build everything, but I would like to use the newest one on the possibility that it might speed things up.