Porting cuda application to cpu application - linking


I had a cuda C/C++ program and I would like to test the performance of your compiler on it. So I modified my makefile to use pgCC instead of nvcc. But it is impossible to do the linking of the application. I’m working on Ubuntu 10.04 64 bits with an intel i7 Sandy Bridge.

The errors are :
in the .cu file : undefined reference to cudaMemcpy2DArrayToArray' /opt/pgi/linux86-64/2012/libso/libcudaforemu.so: undefined reference to cublasAlloc’
/opt/pgi/linux86-64/2012/libso/libcudaforemu.so: undefined reference to `cublasFree’

My command line is :
$(PGCC) -Mcudax86 -fast -m64 -tp sandybridge-64 -mp -o $(EXE) $(OBJS) $(LIB) -lm -lrt -pgf90libs

Thank you for your help

Hi MathieuT,

We’re expecting CUDA-x86 to support textures as well as CUDA arrays beginning Q2 of 2012. Till then however, routines such as “cudaMemcpy2DArrayToArray” are not available. For a full list of current limitations please see the article First Look: PGI CUDA C/C++ for x86.

Best Regards,