undefined reference to `magma_dlaed2_' with open64-4.5.2 &
undefined reference to `magma_dlaed2_' with open64-4.5.2 &
.. & acml-5-1-0-open64-64bit-int64
I've started moving back to older revisions of ACML (begun with 5.3.0) , my make.inc:
CC = opencc
FORT = openf95
NVCC = nvcc
ARCH = ar
ARCHFLAGS = cr
RANLIB = ranlib
OPTS = -O3 -DADD_ -DCUBLAS_GFORTRAN
F77OPTS = -O3 -DADD_
FOPTS = -O3 -DADD_
NVOPTS = -O3 -DADD_ --compiler-options -fno-strict-aliasing -DUNIX
LDOPTS = -fPIC -Xlinker
LIB = -lstdc++ -lcudart -lcblas -lcublas -llapack -lpthread -lfortran -lffio -lm -lrt -lacml_mp -mp
failure errors:
../lib/libmagma.a(dlaex1.o): In function `magma_dlaex1':
/home/pe243/rpmbuild/tar.src/magma-1.3.0-open64/src/dlaex1.cpp:203: undefined reference to `magma_dlaed2_'
collect2: ld returned 1 exit status
make[1]: *** [testing_dsyevd_gpu] Error 1
make[1]: Leaving directory `/home/pe243/rpmbuild/tar.src/magma-1.3.0-open64/testing'
make: *** [test] Error 2
I've tried that bit with:
#define magma_dlaed2 FORTRAN_NAME( magma_dlaed2_, MAGMA_DLAED2_ )
in src/dlaex1.cpp
this gives me:
/home/pe243/rpmbuild/tar.src/magma-1.3.0-open64/testing/testing_zgetrf_gpu_f.F90:34: undefined reference to `cublas_init__'
/home/pe243/rpmbuild/tar.src/magma-1.3.0-open64/testing/testing_zgetrf_gpu_f.F90:49: undefined reference to `cublas_alloc__'
/home/pe243/rpmbuild/tar.src/magma-1.3.0-open64/testing/testing_zgetrf_gpu_f.F90:55: undefined reference to `cublas_alloc__'
/home/pe243/rpmbuild/tar.src/magma-1.3.0-open64/testing/testing_zgetrf_gpu_f.F90:74: undefined reference to `cublas_set_matrix__'
/home/pe243/rpmbuild/tar.src/magma-1.3.0-open64/testing/testing_zgetrf_gpu_f.F90:77: undefined reference to `cublas_set_matrix__'
...
I wonder if anybody's had any success with open64 & ACML?
I've started moving back to older revisions of ACML (begun with 5.3.0) , my make.inc:
CC = opencc
FORT = openf95
NVCC = nvcc
ARCH = ar
ARCHFLAGS = cr
RANLIB = ranlib
OPTS = -O3 -DADD_ -DCUBLAS_GFORTRAN
F77OPTS = -O3 -DADD_
FOPTS = -O3 -DADD_
NVOPTS = -O3 -DADD_ --compiler-options -fno-strict-aliasing -DUNIX
LDOPTS = -fPIC -Xlinker
LIB = -lstdc++ -lcudart -lcblas -lcublas -llapack -lpthread -lfortran -lffio -lm -lrt -lacml_mp -mp
failure errors:
../lib/libmagma.a(dlaex1.o): In function `magma_dlaex1':
/home/pe243/rpmbuild/tar.src/magma-1.3.0-open64/src/dlaex1.cpp:203: undefined reference to `magma_dlaed2_'
collect2: ld returned 1 exit status
make[1]: *** [testing_dsyevd_gpu] Error 1
make[1]: Leaving directory `/home/pe243/rpmbuild/tar.src/magma-1.3.0-open64/testing'
make: *** [test] Error 2
I've tried that bit with:
#define magma_dlaed2 FORTRAN_NAME( magma_dlaed2_, MAGMA_DLAED2_ )
in src/dlaex1.cpp
this gives me:
/home/pe243/rpmbuild/tar.src/magma-1.3.0-open64/testing/testing_zgetrf_gpu_f.F90:34: undefined reference to `cublas_init__'
/home/pe243/rpmbuild/tar.src/magma-1.3.0-open64/testing/testing_zgetrf_gpu_f.F90:49: undefined reference to `cublas_alloc__'
/home/pe243/rpmbuild/tar.src/magma-1.3.0-open64/testing/testing_zgetrf_gpu_f.F90:55: undefined reference to `cublas_alloc__'
/home/pe243/rpmbuild/tar.src/magma-1.3.0-open64/testing/testing_zgetrf_gpu_f.F90:74: undefined reference to `cublas_set_matrix__'
/home/pe243/rpmbuild/tar.src/magma-1.3.0-open64/testing/testing_zgetrf_gpu_f.F90:77: undefined reference to `cublas_set_matrix__'
...
I wonder if anybody's had any success with open64 & ACML?
Re: undefined reference to `magma_dlaed2_' with open64-4.5.2
also, I thought I'd mention that the same compilation (magma-1.3.0) succeeds on the same system only with distro's plain-vanilla gcc/gfortran (4.4.7-3) and atlas.
ps.
I'm a novice and wonder why ./testing_sgetrf_gpu gets no number for CPU
?
best regards
ps.
I'm a novice and wonder why ./testing_sgetrf_gpu gets no number for CPU
?
best regards
Re: undefined reference to `magma_dlaed2_' with open64-4.5.2
To get CPU results, you need to add the -c (check) flag.
With:
Without:
With:
Code: Select all
magma-1.3.0/testing> ./testing_sgetrf_gpu -c
MAGMA 1.3.0
device 0: Tesla S2050, 1147.0 MHz clock, 2687.4 MB memory, capability 2.0
Usage: ./testing_sgetrf_gpu -N <m,n> -c
-N can be repeated up to 10 times. If only m is given, then m=n.
-c or setting $MAGMA_TESTINGS_CHECK runs LAPACK and checks result.
M N CPU GFlop/s (sec) GPU GFlop/s (sec) ||PA-LU||/(||A||*N)
=========================================================================
1024 1024 44.79 ( 0.02) 29.31 ( 0.02) 2.22e-09
2048 2048 71.22 ( 0.08) 90.48 ( 0.06) 1.92e-09
Without:
Code: Select all
magma-1.3.0/testing> ./testing_sgetrf_gpu
...
M N CPU GFlop/s (sec) GPU GFlop/s (sec) ||PA-LU||/(||A||*N)
=========================================================================
1024 1024 --- ( --- ) 15.84 ( 0.05) ---
2048 2048 --- ( --- ) 89.94 ( 0.06) ---
Re: undefined reference to `magma_dlaed2_' with open64-4.5.2
Can you please show the exact command that make is using to compile this file?
E.g., in the testing directory, what is the complete output of make testing_zgetrf_gpu_f:
If it is only that Fortran file that fails, you can easily skip it and compile all the C tests, e.g., with make -k.
E.g., in the testing directory, what is the complete output of make testing_zgetrf_gpu_f:
Code: Select all
magma> cd testing
magma/testing> make testing_zgetrf_gpu_f
gfortran -fPIC -DADD_ -O3 -x f95-cpp-input -Dmagma_devptr_t="integer(kind=8)" -I/mnt/scratch/cuda/include -I../include -I../control -c testing_zgetrf_gpu_f.F90 -o testing_zgetrf_gpu_f.o
gfortran -fPIC -DGPUSHMEM=200 testing_zgetrf_gpu_f.o fortran.o -o testing_zgetrf_gpu_f \
libtest.a lin/liblapacktest.a -L../lib -lmagma -lmagmablas \
-L/mnt/scratch/sw/intel/composer_xe_2013.3.163/mkl/lib/intel64 -L/mnt/scratch/cuda/lib64 \
-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lpthread -lcublas -lcudart -lm -fopenmp -liomp5
Re: undefined reference to `magma_dlaed2_' with open64-4.5.2
hi mgates3
I have some success with acml-5.xx compilation, even with open64 instead of gcc but runtime errors
to troubleshoot it I am trying most generic setup while sticking to ACML, reverted back to gcc and now acml-4-4-0-gfortran-64bit-int64 compiles, but!
runtime fails:
testing_sgetrf_[17637]: segfault at 7f6c5c4d6000 ip 00007f6c5e663608 sp 00007fff428848b0 error 6 in libacml_mp.so[7f6c5deae000+1c7c000]
I have some success with acml-5.xx compilation, even with open64 instead of gcc but runtime errors
to troubleshoot it I am trying most generic setup while sticking to ACML, reverted back to gcc and now acml-4-4-0-gfortran-64bit-int64 compiles, but!
runtime fails:
testing_sgetrf_[17637]: segfault at 7f6c5c4d6000 ip 00007f6c5e663608 sp 00007fff428848b0 error 6 in libacml_mp.so[7f6c5deae000+1c7c000]
Re: undefined reference to `magma_dlaed2_' with open64-4.5.2
partial success with acml-5-3-0 + open64, it compiles but fails upon exec
terminate called after throwing an instance of 'cudaError_enum'
terminate called after throwing an instance of 'cudaError_enum'