This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Openacc offload C library


Hello!

I am happily using GCC version 7.0.1 20170411 (experimental) (GCC) on
ubuntu 5.4.0 for offloading C code to my Palit Geforce GXT
1070 graphics card containing 1920 CUDA cores running at max. 1683 MHz. ;)

How to offload a C library that I have installed myself ?

I try to offload the ta_lib library.

The library files are in /usr/lib: libta_lib.a  libta_lib.so  libta_lib.so.0
The headers are in /usr/include: ta_abstract.h  ta_common.h  ta_defs.h
 ta_func.h  ta_libc.h

The CPU-only code using the library works great. I compile like this:

gcc test3.c -o test3.x -lm -lconfig -lta_lib

Offloading without the library also works great:

gcc test3.c -fopenacc -foffload=nvptx-none -foffload="-O3" -o test3.x
-lm -lconfig

Is is possible to offload the library? Can I put multiple -l -L and -I
options within the -foffload argument? or use multiple -foffload
options?

something like this?

gcc test3.c -fopenacc -foffload=nvptx-none -foffload="-O3 -lta_lib /
-L/usr/local/lib" -O3 -o test3.x -lm -lconfig -lta_lib
-I/usr/local/include/ta-lib/ -L/usr/local/lib

or this?

gcc test3.c -fopenacc -foffload=nvptx-none -foffload=-L/usr/local/lib
-foffload=-lta_lib -foffload=-I/usr/local/include/ta-lib -O2 -o
test3.x -lm -lconfig -lta_lib -I/usr/local/include/ta-lib/
-L/usr/local/lib -v


I keep on getting an unresolved symbol error TA_S_RSI

It is in the static archive:
nm /usr/lib/libta_lib.a | grep RSI gives:
ta_RSI.o:
0000000000000050 T TA_RSI
0000000000000000 T TA_RSI_Lookback
0000000000000480 T TA_S_RSI


I have the library both in /usr/lib and /usr/local/lib, and the
includes in /usr/local/include and /usr/include.

thanks a lot.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]