Magma 1.4 on nvidia tesla (compute 1x) arch

Open discussion for MAGMA

Magma 1.4 on nvidia tesla (compute 1x) arch

Postby miseiler » Tue Oct 29, 2013 1:04 pm

Hi, I'm trying to get HiPLARM working correctly, and I've come upon a snag.

I compiled MAGMA with the following make.inc:
Code: Select all
GPU_TARGET=Tesla
CC        = gcc
NVCC      = /usr/local/cuda/bin/nvcc
FORT      = gfortran
ARCH      = ar
ARCHFLAGS = cr
RANLIB    = ranlib
OPTS      = -fPIC -O3 -DADD_ -Wall -fno-strict-aliasing -fopenmp -DMAGMA_SETAFFINITY
F77OPTS   = -fPIC -O3 -DADD_ -Wall
FOPTS     = -fPIC -O3 -DADD_ -Wall -x f95-cpp-input
NVOPTS    = -O3 -DADD_ -Xcompiler -fno-strict-aliasing,-fPIC
LDOPTS    = -fPIC -fopenmp
LIB       = -lopenblas -lpthread -lcublas -lcudart -lstdc++ -lm -lgfortran
CUDADIR   = /usr/local/cuda
LIBDIR    = -L/u2/home/miseiler/tmp/LALibs/lib -L/usr/local/cuda/lib64
INC       = -I/usr/local/cuda/include


And all seems to go fine. However, libmagma.so has some undefined symbols:
Code: Select all
ld lib/libmagma.so                                                                                                                                                                                              ──(Tue,Oct29)─┘
ld: warning: cannot find entry symbol _start; not setting start address
lib/libmagma.so: undefined reference to `magmablas_chemv2'
lib/libmagma.so: undefined reference to `magmablas_ssymv2'
lib/libmagma.so: undefined reference to `magmablas_dsymv2'


And I can't get HiPLARM to link libmagma without them. Any ideas? Thanks!
miseiler
 
Posts: 2
Joined: Tue Oct 29, 2013 12:58 pm

Re: Magma 1.4 on nvidia tesla (compute 1x) arch

Postby mgates3 » Tue Oct 29, 2013 1:56 pm

Are you really using an old CUDA architecture 1.x card (i.e., GPU_TARGET=Tesla)?
Cards in the past few years are either Fermi or Kepler. Changing the GPU_TARGET to Fermi or Kepler should solve the problem.

(Sorry for the confusion -- Nvidia uses "Tesla" to mean two different things: (1) CUDA arch 1.x and (2) their high-end GPU line across various CUDA arch. We used it in the former way.)

-mark
mgates3
 
Posts: 442
Joined: Fri Jan 06, 2012 2:13 pm

Re: Magma 1.4 on nvidia tesla (compute 1x) arch

Postby miseiler » Tue Oct 29, 2013 1:57 pm

mgates3 wrote:Are you really using an old CUDA architecture 1.x card (i.e., GPU_TARGET=Tesla)?
Cards in the past few years are either Fermi or Kepler. Changing the GPU_TARGET to Fermi or Kepler should solve the problem.

(Sorry for the confusion -- Nvidia uses "Tesla" to mean two different things: (1) CUDA arch 1.x and (2) their high-end GPU line across various CUDA arch. We used it in the former way.)

-mark


Yes, it is a real 1.x device.

It's actually a GTX295 and not a Tesla; I forgot we installed the Tesla (original) in another machine. Still compute 1.3
miseiler
 
Posts: 2
Joined: Tue Oct 29, 2013 12:58 pm

Re: Magma 1.4 on nvidia tesla (compute 1x) arch

Postby mgates3 » Thu Oct 31, 2013 4:54 pm

The multi-GPU Fermi hemv was erroneously compiled on Tesla, and it calls the hemv2. Attached is a patch to fix the problem. Let me know if that works.

cd magma-1.4.0
patch -p1 < hemv2patch.txt

-mark
Attachments
hemv2patch.txt
(4.43 KiB) Downloaded 48 times
mgates3
 
Posts: 442
Joined: Fri Jan 06, 2012 2:13 pm


Return to User discussion

Who is online

Users browsing this forum: Baidu [Spider] and 1 guest