I need a hashtable on the host

I am writing some code to solve support vector machines and I am handling some “cache” on the host of the kernel matrix.

When I try to compile using nvcc and include the <tr1/unordered_map> I get an cfee++ error.

I thought it was possible to compile the kernel using nvcc and then use gcc to compile the rest of the code, but I think the gcc on the server I am using is too old. I have no admin control of the server. What options do I have to use a hast table?

nvcc and gcc versions:

-bash-3.2$ nvcc --version
nvcc: NVIDIA ® Cuda compiler driver
Copyright © 2005-2007 NVIDIA Corporation
Built on Thu_Jun_19_03:38:28_PDT_2008
Cuda compilation tools, release 2.0, V0.2.1221

-bash-3.2$ gcc --version
gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42)
Copyright © 2006 Free Software Foundation, Inc.

I think it will be impossible to do that if you are using Windows-based NVCC, whose name mangling is different from that of GCC.

If you are using Linux-based NVCC, just compile the kernel using NVCC, compile the other modules using GCC, and then link all objects using NVCC.