ACML 5.0.0

Open discussion for MAGMA

ACML 5.0.0

Postby haskell » Sat Aug 27, 2011 2:12 am

When installing Magma 1.0.0 with ACML 5.0.0 (it is fine with ACML 4.4.0), I get:

gcc -O3 -DADD_ -fPIC -DGPUSHMEM=200 -fPIC -Xlinker -zmuldefs -DGPUSHMEM=200 testing_zgemm.o -o testing_zgemm lin/liblapacktest.a -L../lib \
-lcuda -lmagma -lmagmablas -lmagma -L/opt/acml5.0.0/gfortran64/lib -L/home/john/CBLAS/lib -L/usr/local/cuda/lib64 /home/john/CBLAS/lib/cblas_LINUX.a -lacml -lpthread -lcublas -lm
/opt/acml5.0.0/gfortran64/lib/libacml.so: undefined reference to `_gfortran_transfer_integer_write@GFORTRAN_1.4'
/opt/acml5.0.0/gfortran64/lib/libacml.so: undefined reference to `_gfortran_transfer_character_write@GFORTRAN_1.4'
/opt/acml5.0.0/gfortran64/lib/libacml.so: undefined reference to `_gfortran_transfer_real_write@GFORTRAN_1.4'

The make.inc is:
Code: Select all
GPU_TARGET = 1

CC        = gcc
NVCC      = nvcc
FORT      = gfortran

ARCH      = ar
ARCHFLAGS = cr
RANLIB    = ranlib

# OPTS      = -O3 -DADD_ -fPIC
# NVOPTS    = --compiler-options -fno-strict-aliasing -DUNIX -O3 -DADD_
# LDOPTS    = -fPIC -Xlinker -zmuldefs

OPTS      = -O3 -DADD_ -fPIC
#OPTS      = -O3 -DADD_
FOPTS     = -O3 -DADD_ -x f95-cpp-input
NVOPTS    = --compiler-options -fno-strict-aliasing -DUNIX -O3 -DADD_
# NVOPTS    = --compiler-options -fno-strict-aliasing -DUNIX -O3 -DADD_ -arch sm_21
LDOPTS    = -fPIC -Xlinker -zmuldefs


#LIB       = -lacml -lpthread -lcublas -lm
LIB       = /home/john/CBLAS/lib/cblas_LINUX.a -lacml -lpthread -lcublas -lm

CUDADIR   = /usr/local/cuda

LIBDIR    =    -L/opt/acml5.0.0/gfortran64/lib \
               -L/home/john/CBLAS/lib \
               -L$(CUDADIR)/lib64
INC       =    -I/opt/acml5.0.0/gfortran64/include \
               -I/home/john/CBLAS/include \
      -I$(CUDADIR)/include

LIBMAGMA     = ../lib/libmagma.a
LIBMAGMABLAS = ../lib/libmagmablas.a
haskell
 
Posts: 9
Joined: Sun Jul 03, 2011 11:58 pm

Re: ACML 5.0.0

Postby tdong » Wed Aug 31, 2011 11:23 am

It seems to be related to compiler option or something. I install ACML5.0.0 with gfortran and build it with magma on an Tesla card.I use this makefile, it works. you can try it.
#
# GPU_TARGET specifies for which GPU you want to compile MAGMA
# 0: Tesla family
# 1: Fermi Family
#
GPU_TARGET = 0

CC = gcc
NVCC = nvcc
FORT = gfortran

ARCH = ar
ARCHFLAGS = cr
RANLIB = ranlib

OPTS = -O3 -DADD_
FOPTS = -O3 -DADD_ -x f95-cpp-input
NVOPTS = --compiler-options -fno-strict-aliasing -DUNIX -O3 -DADD_
LDOPTS = -fPIC -Xlinker -zmuldefs

LIB = -acml -lpthread -lcublas -lcudart -llapack -lm

CUDADIR = /usr/local/cuda
ACMLDIR = /home/tdong/acml5.0.0/gfortran64

LIBDIR = -L/bummer/GotoBLAS -L$(CUDADIR)/lib64 -L/usr/lib64 -L~/lapack -L$(ACMLDIR)/lib
INC = -I$(CUDADIR)/include -I$(ACMLDIR)/include

LIBMAGMA = ../lib/libmagma.a
LIBMAGMABLAS = ../lib/libmagmablas.a
tdong
 
Posts: 2
Joined: Thu Jan 20, 2011 3:31 pm

Re: ACML 5.0.0

Postby haskell » Thu Sep 01, 2011 11:21 pm

It turns out this error is nothing to do with Magma, CBLAS or CUDA.
I wanted to find out what version of gfortran had been used to compile ACML so I tried:
gfortran-4.4 -lacml -I/opt/acml5.0.0/gfortran64/include -L/opt/acml5.0.0/gfortran64/lib acmlinfo.f
to be able to run the acmlinfo subroutine but the compilation fails with the same error:
/opt/acml5.0.0/gfortran64/lib/libacml.so: undefined reference to `_gfortran_transfer_integer_write@GFORTRAN_1.4'
/opt/acml5.0.0/gfortran64/lib/libacml.so: undefined reference to `_gfortran_transfer_real_write@GFORTRAN_1.4'
/opt/acml5.0.0/gfortran64/lib/libacml.so: undefined reference to `_gfortran_transfer_character_write@GFORTRAN_1.4'

The compilation of acmlinfo.f works fine for ACML 4.4.0 and reveals that the version of gfortran used there was 4.3.2

What version of gfortran are you using?
I have tried gfortran-4.4 and gfortran-4.5
haskell
 
Posts: 9
Joined: Sun Jul 03, 2011 11:58 pm

Re: ACML 5.0.0

Postby tdong » Wed Sep 07, 2011 4:03 pm

tdong:hydra1 /usr/bin> gfortran -v <- 4:02PM
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
tdong
 
Posts: 2
Joined: Thu Jan 20, 2011 3:31 pm

Re: ACML 5.0.0

Postby haskell » Sun Nov 27, 2011 2:56 am

I see this problem is discussed in the AMD ACML forum:
http://forums.amd.com/forum/messageview.cfm?catid=217&threadid=154719
haskell
 
Posts: 9
Joined: Sun Jul 03, 2011 11:58 pm


Return to User discussion

Who is online

Users browsing this forum: Baidu [Spider], Bing [Bot], Google [Bot] and 3 guests

cron