CUDA with Matlab - nvmex throws error with cl.exe


i am quite new to CUDA and MEX-Programming, so i tried Readme.txt, involved in Matlab-package for CUDA.

Building with mex works fine. Unfortunatly, nvmex wont.
I tried ‘-f nvmexopts.bat -IG:\cuda\include -LG:\cuda\lib -lcufft -lcudart’, as shown in readme.
First it thorws: >> Undefined subroutine &main::uuidgen called at E:\Matlab\R2008a\bin\ line 728.
I thought, well ok, whats about round(10000*rand()) ? Ok, dont work, cause it’s pearl. I also dont know anything of pearl, so typed ‘100’ for my uuID.

now it says: nvcc fatal : Cannot find compiler ‘cl.exe’ in PATH
Well, i have VC8 (2005), added all paths, containing a cl.exe (after \VC\bin only wont work), but it everytime says the same.

How do i start nvcc ?

Thanks in Advantage and please excuse my bad english !

mex -setup should be run before as far as I remember to set up the paths for cl.exe within matlab.

Don’t work anyway. It prints me out, to use MS Visual 8, but can’t find pl.exe.

Ah, i got it: it’s in “nvmexopts.bat”:

nvcc suggests, my VC is in partition C: - but not on my system :ph34r:

edited, and it works. (so error was in batch, not in Matlab)

<img src=‘http://hqnveipbwb20/public/style_emoticons/<#EMO_DIR#>/crying.gif’ class=‘bbc_emoticon’ alt=’:’(’ /> but it won’t work.

Compiler says:

g:\cuda\include\common_functions.h(56): warning: dllexport/dllimport conflict with “clock”

G:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\time.h(176): here; dllimport/dllexport dropped

cl : Command line warning D9025 : overriding ‘/EHc-’ with ‘/EHc’

After trying to start FS_2Dturb with new Szeta, Matlab crashes down.

After a new compile everything works ! (except the uuid() in pearlscript [and wtf is my pearlinterpreter?])


I have the similar problem. Compiler said the same warnings, and after trying to start FS_2Dturb with new Szeta Mathlab said

??? Invalid MEX-file ‘F:\RDE\Matlab_CUDA_1.1\Szeta.mexw32’: The specified module could not be found.


Error in ==> FS_2Dturb at 89

  d1 = dt*Szeta(zeta,k,nu4);

How did you make it worked?