I’m a Cuda newbie and I have some problems with my project.
I have defined 4 classes:
Tetrahedra
Face
Mesh
This classes have 2 files (.h and .cu) device tags have been used.
I have my kernel in other a .cu file and it is called by an external function nextFaceCall:
void nextFaceCall(Lock *lock, face *currentFace, tetrahedra *currentTriangle, float* coordY, float* coordZ, face* ptr_face_dev, face *next_dev)
{
getNextFace<<<1024,512>>>(lock, currentFace, currentTriangle, coordY, coordZ, ptr_face_dev, next_dev);
}
This function is called from a class function
I’ve been doing some tests with it but I cannot make any progress because I have this compilation error:
ptxas : fatal error : Unresolved extern function '_ZN4faceD1Ev'
According to c++filtjs this means
face::~face().
I’ve already had set -rdc=true in project properties but the error continues to show up.
I’m using a geforce gtx 650 and the nvcc command line is:
nvcc.exe" --use-local-env --cl-version 2012 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin" -rdc=true -G -lineinfo --keep-dir Debug -maxrregcount=0 --ptxas-options=-v --machine 32 --compile -cudart static -g -DWIN32 -Xcompiler "/EHsc /nologo /Zi /MTd " -o Debug\%(Filename)%(Extension).obj "%(FullPath)"
And code generation is set to:compute_30,sm_30;compute_35,sm_35;compute_50,sm_50
Thanks a lot.