LINUX.ORG.RU

hpl + goto blas


0

0

Здравствуйте. 
Кто нибудь собирал hpl с GotoBLAS ?  
Что то у меня не получается. Вот как я делал :
Goto собрал средствами gentoo:
#USE="doc threads" emerge blas-goto 

Далее собрал C интерфейс для blas те CBLAS.
Конфиг такой:
HELL = /bin/sh
PLAT = LINUX
BLLIB = /usr/lib/blas/goto/libgoto_opteronp-r1.19.a
CBDIR = $(HOME)/CBLAS
CBLIBDIR = $(CBDIR)/lib/$(PLAT)
CBLIB = $(CBLIBDIR)/cblas_$(PLAT).a
CC = gcc
FC = gfortran
LOADER = $(FC)

#make alllib

здесь тоже все ок.

Ну и наконец hpl:
Конфиг такой:
LAdir        = $(HOME)/CBLAS
LAinc        =
LAlib        = $(LAdir)/lib/LINUX/cblas_LINUX.a $(LAdir)/src/xerbla.o
CC           = mpicc
CCNOOPT      = $(HPL_DEFS)
CCFLAGS      = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops -W -Wall

LINKER       = mpif77
LINKFLAGS    = $(CCFLAGS) -lm

#make arch=Linux_ATHLON_goto 
и тут все заканчивается на сл ошибке: 
...........
mpif77  -DHPL_CALL_CBLAS -I/home/kilohertz/hpl/include -I/home/kilohertz/hpl/include/Linux_ATHLON_goto   -fomit-frame-pointer -O3 -funroll-loops -W -Wall -lm -o /home/kilohertz/hpl/bin/Linux_ATHLON_goto/xhpl HPL_pddriver.o         HPL_pdinfo.o           HPL_pdtest.o /home/kilohertz/hpl/lib/Linux_ATHLON_goto/libhpl.a  /home/kilohertz/CBLAS/lib/LINUX/cblas_LINUX.a /home/kilohertz/CBLAS/src/xerbla.o
HPL_pddriver.o: In function `main':
HPL_pddriver.c:(.text+0x0): multiple definition of `main'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0/libgfortranbegin.a(fmain.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0/libgfortranbegin.a(fmain.o): In function `main':
(.text+0xa): undefined reference to `MAIN__'
/home/kilohertz/CBLAS/lib/LINUX/cblas_LINUX.a(cblas_dscal.o): In function `cblas_dscal':
cblas_dscal.c:(.text+0x28): undefined reference to `dscal_'
/home/kilohertz/CBLAS/lib/LINUX/cblas_LINUX.a(cblas_dcopy.o): In function `cblas_dcopy':
cblas_dcopy.c:(.text+0x21): undefined reference to `dcopy_'
/home/kilohertz/CBLAS/lib/LINUX/cblas_LINUX.a(cblas_daxpy.o): In function `cblas_daxpy':
cblas_daxpy.c:(.text+0x35): undefined reference to `daxpy_'
/home/kilohertz/CBLAS/lib/LINUX/cblas_LINUX.a(idamaxsub.o): In function `idamaxsub_':
idamaxsub.f:(.text+0x7): undefined reference to `idamax_'
/home/kilohertz/CBLAS/lib/LINUX/cblas_LINUX.a(cblas_dgemv.o): In function `cblas_dgemv':
cblas_dgemv.c:(.text+0xe1): undefined reference to `dgemv_'
/home/kilohertz/CBLAS/lib/LINUX/cblas_LINUX.a(cblas_dger.o): In function `cblas_dger':
cblas_dger.c:(.text+0xaf): undefined reference to `dger_'
cblas_dger.c:(.text+0xea): undefined reference to `dger_'
/home/kilohertz/CBLAS/lib/LINUX/cblas_LINUX.a(cblas_dtrsv.o): In function `cblas_dtrsv':
cblas_dtrsv.c:(.text+0x17b): undefined reference to `dtrsv_'
/home/kilohertz/CBLAS/lib/LINUX/cblas_LINUX.a(cblas_dgemm.o): In function `cblas_dgemm':
cblas_dgemm.c:(.text+0x130): undefined reference to `dgemm_'
cblas_dgemm.c:(.text+0x1f4): undefined reference to `dgemm_'
/home/kilohertz/CBLAS/lib/LINUX/cblas_LINUX.a(cblas_dtrsm.o): In function `cblas_dtrsm':
cblas_dtrsm.c:(.text+0x1e6): undefined reference to `dtrsm_'
cblas_dtrsm.c:(.text+0x2b9): undefined reference to `dtrsm_'
collect2: выполнение ld завершилось с кодом возврата 1
.............

Подозреваю что я ошибся в шаге с CBLAS , но никак не могу понять в чем именно. 

Помогите plz разобраться. 
anonymous

Ответ на: комментарий от anonymous

ATLAS отсасывает по производительности у Goto BLAS значительно.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.