Hi, I’m trying to get an existing application that uses both host and device compilers with cross linking. I’ve looked at the simple_cuFFT_callback example, and that compiles/links fine, but it only uses the nvcc compiler. When I cross-link, I see a bunch of:
set_callback.compute_75.cudafe1.cpp:(.text+0x504): undefined reference to `__cudaRegisterLinkedBinary_31_set_callback_compute_75_cpp1_ii_d966aea7’
This is despite -lcufft_static -lculibos, and I can see with “strings” that the symbol is in cufft_static.a, so I don’t understand what’s going on. I’m following the exact examples here:
https://stackoverflow.com/questions/22076052/cuda-dynamic-parallelism-makefile
I’m using g++ on all host files, nvcc on all device files with -dc, combining them all with -dlink into a single object, and finally linking with g++ on that object. I’ve tried nvcc with the final link step as well, and that appears to be hitting an issue where the linker reports:
nvlink fatal : Memory allocation failure
Anyone have an idea?