help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: linking question [SEC=UNCLASSIFIED]


From: Sergei Steshenko
Subject: Re: linking question [SEC=UNCLASSIFIED]
Date: Wed, 18 Jan 2017 14:25:30 +0000 (UTC)





>________________________________
> From: "DOHERTY, Greg" <address@hidden>
>To: "address@hidden" <address@hidden> 
>Sent: Wednesday, January 18, 2017 5:06 AM
>Subject: linking question [SEC=UNCLASSIFIED]
> 
>
>
> 
>I am trying to produce a version of the matlab routine GPSR_BB that octave can 
>call, eventually, on a Jetson board with an nvidia gpu. At the moment I am 
>testing on an x86_64 server.
>I have a working version of GPSR_BB.oct produced with mkoctfile from  a C++ 
>version of GPSR_BB that I translated, which runs well.
>I have edited the C++ version to include the openACC directives required to 
>use the gpu. I also want to be able to call Sgemv from cublas.
>I have a linking problem that you can see below. Any suggestions on how to fix 
>it would be very welcome.
>Greg Doherty
> 
>$ cat Makefile
>CXX1=pgc++
>CXX1FLAGS=-fast -ta=tesla:lineinfo -Minfo=all,ccff -fPIC -shared -acc -Mcuda
>LDFLAGS= ${CXX1FLAGS}
> 
>MKOCT=/data1/packages/octave/4.0.3/bin/mkoctfile
> 
>libgdz.a: gdz.o
>        ${CXX1} ${CXX1FLAGS}  gdz.o  -lcublas_static -o libgdz.a
> 
>gdz.o:
>        ${CXX1} ${LDFLAGS} -c gdz.cc  > compiler.out 2>&1
> 
>GPSR_BB.oct:  GPSR_BB.cc libgdz.a
>        $(MKOCT) -g -L/home/gdz/DAVID/BLAS -lgdz -Mcuda -fPIC  GPSR_BB.cc
> 
>clean:
>        rm -Rf  GPSR_BB.oct  pgprof* core *.o *.so *.a
> 
> 
>$ make clean
>rm -Rf  GPSR_BB.oct  pgprof* core *.o *.so *.a
>$ make GPSR_BB.oct > ld.out 2>&1
>$ cat ld.out
>pgc++ -fast -ta=tesla:lineinfo -Minfo=all,ccff -fPIC -shared -acc -Mcuda -c 
>gdz.cc  > compiler.out 2>&1
>pgc++ -fast -ta=tesla:lineinfo -Minfo=all,ccff -fPIC -shared -acc -Mcuda  
>gdz.o  -lcublas_static -o libgdz.a
>/usr/bin/ld: /tmp/pgcudaregxXgfvNbp-fw.o: relocation R_X86_64_PC32 against 
>undefined symbol `__pgi_cuda_register_fat_binary' can not be used when making 
>a shared object; recompile with -fPIC
>/usr/bin/ld: final link failed: Bad value
>pgacclnk: child process exit status 1: /usr/bin/ld
>make: *** [libgdz.a] Error 2
>$
> 
>_______________________________________________
>Help-octave mailing list
>address@hidden
>https://lists.gnu.org/mailman/listinfo/help-octave
>
>

>

Your statement: "Any suggestions on how to fix it would be very welcome" <-> 
the linker suggestion: "recompile with -fPIC".

Is there any problem with following the linker suggestion ?

--Sergei.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]