Linking of libcufft_static_nocallback.a

I am having trouble interpreting the documentation for using the no-callback libcufft. It says:

2.12.1. Static library without callback support
Starting with cuFFT version 9.2, a new variant of the cuFTT static library, libcufft_static_nocallback.a, was added. This new version does not contain callback functionality and can be linked using the host compiler only.

which I interpret to mean that device linking would not be necessary for code that is not employing the cufft callback mechanism. I tried that and am still seeing undefined references:

g++ -pipe -m64 -march=x86-64 -mmmx -msse -msse2 -mfpmath=sse -mno-ieee-fp -O2 -rdynamic -L. -o a.out main.o /usr/local/cuda/lib64/libcufft_static_nocallback.a /usr/local/cuda/lib64/libcudart_static.a -lrt -ldl  -lpthread -lstdc++ -lm -lc
/usr/local/cuda/lib64/libcufft_static_nocallback.a(functions-basic.o): In function `cufftCreate':
functions-basic.cpp:(.text+0xb9b): undefined reference to `culibosEnterCriticalSection'

Am I incorrect in my interpretation of how libcufft_static_nocallback.a should be used? I am developing with CUDA v10.1. Thanks.

UPDATE

Nevermind, I got it to work by also including libculibos.a in the link command.

2 Likes