Hi Erik.
On 5/27/11 7:20 PM, "Erik Schnetter" schnetter@cct.lsu.edu wrote:
(4) A linker problem, and the code actually uses a different (not the Cactus built-in version) of LAPACK/BLAS. Can you rebuild with SILENT=no as make option, and look at the final link line to see which LAPACK and BLAS versions are used?
That's not it. I explicitly linked that simple test program against the Cactus-built LAPACK + BLAS:
ifort lapack_test.F90 -o lapack_test.exe -L../configs/handpugh/scratch/external/LAPACK -llapack -L../configs/handpugh/scratch/external/BLAS -lblas
... and that's where I got the wrong results ...
It may still be that another library called "lapack" is found first. Can you leave out all -L and -l options, and give the library name directly?
ifort lapack_test.F90 -o lapack_test.exe ../configs/handpugh/scratch/external/LAPACK/liblapack.a ../configs/handpugh/scratch/external/BLAS/libblas.a
I've tried this variation, with no difference in result. I also switched from using mpiF90 etc to using the Intel compilers directly, with no different in result.
Beany
P.S. Since I didn't include it in the original mail, perhaps I should quote all my user-specified Cactus config options. Since I switched to the unwrapped Intel compilers, I may be missing some MPI libraries, but this is sufficient to get through the BLAS and LAPACK generation stage:
-------------------------------------------------- FFTW = no SILENT = no
CPP = /usr/bin/cpp FPP = /usr/bin/cpp CC=icc CXX=icpc F77=ifort F90=ifort
LIBS = cprts cxa cxaguard guide guide_stats imf irc irc_pic irc_s irc_s_pic ompstub svml unwind ifcore stdc++ pthread m ifcore LIBDIRS = "/data/numrel/software/opt/intel/cc/10.1.015/lib /data/numrel/software/opt/intel/fc/10.1.015/lib /data/numrel/software/lib" LD=/data/numrel/software/mpich2_1.3-INTEL/bin/mpif90 -nofor_main
CFLAGS = -g -restrict F77FLAGS = -align -w95 -f66 F90FLAGS = -align -w95 FPPFLAGS = -traditional F77_F90_HAHNDOL_FLAGS=-r8 C_OPTIMISE FLAGS="-00" CXX_OPTIMISE FLAGS="-00" F90_OPTIMISE FLAGS="-00 -ip" F77_OPTIMISE FLAGS="-00 -ip"
LIBDIR = -L/data/numrel/software/lib -L/data/numrel/software/opt/intel/fc/10.1.015/lib LDFLAGS = -L/data/numrel/software/lib
PTHREADS=yes
MPI=MPICH MPICH_DIR=/data/numrel/software/mpich2_1.3-INTEL
SYS_INC_DIRS = /data/numrel/software/mpich2_1.3-INTEL/include /data/numrel/software/include
--------------------------------------------------
I'm also trying your example on my notebook, but am still compiling.
-erik
-- Erik Schnetter schnetter@cct.lsu.edu http://www.cct.lsu.edu/~eschnett/