Error with bulldozer instruction set

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.

Thanks.

Hi khea_actua1,

As best as I can tell, CentOS didn’t support AVX until version 6.2. Granted, I can’t find anything specific on there website, the following post from June 11, 2011 on http://old.nabble.com/Strange-error-td31749507.html states:

We have confirmed that AVX code won’t run on CentOS 5.6. As Red Hat 6.1
(recently finalized) is meant to have full support for AVX, we
anticipate availability of CentOS 6.1. I guess 5.8 may have a degree of
AVX support.

Can you upgrade to CentOS 6.2?

  • Mat