I’m trying to call a CUDA C kernel from PGI CUDA Fortran, and I followed the instructions in this topic
by using a similar Fortran interface statement as in http://www.pgroup.com/lit/articles/insider/v2n1a4.htm
Unfortunately, I get link-time errors in Visual Studio. What I did was to build a static C library containing the CUDA kernel as a function (I built the library using an NVIDIA project inside Visual Studio), and then link in the resulting library in my PGI Visual Fortran project. Here are the linker errors:
2>erfCuda.lib(erf_kernel.cu.obj) : error LNK2001: unresolved external symbol __imp_frexp
2>erfCuda.lib(erf_kernel.cu.obj) : error LNK2001: unresolved external symbol __imp_ldexp
2>erfCuda.lib(erf_kernel.cu.obj) : error LNK2001: unresolved external symbol __imp_modff
I’ve searched for these symbols online, but didn’t find what libraries contain them. Has anybody here have any success in calling a CUDA C kernel from PGI Visual Fortran within MS Visual Studio? I’ve also tried building using “make” inside the PVF command prompt, but nvcc needs the Visual C compiler.