# nvmex Matlab R2007b / MSVC8 problem

I’m having trouble getting the example provided with the Matlab Plug-in to mex (read: compile). The problems mentioned by other users do not appear to be related.

mexing the FFT code works fine, e.g.:
mex fft2_cuda.c -IC:\CUDA_TK\include -LC:\CUDA_TK\lib -lcudart -lcufft

But when I try and compile Szeta.cu I get:

nvmex -f nvmexopts.bat Szeta.cu -IC:\cuda_tk\include -LC:\cuda_tk\lib -lcufft -lcudart
WARNING: \$ARCH (UNKNOWN) not set correctly [win64]

C:\PROGRA~1\MATLAB\R2007B\BIN\NVMEX.PL:
Error: Using options file:
nvmexopts.bat
You cannot use this file with the UNKNOWN architecture because it enables
a compiler for a different architecture.
Choose a file that is compatible with the UNKNOWN architecture.

??? Error using ==> nvmex at 206
Unable to complete successfully.

I’ve tried playing with {nvmex.m, nvmex_helper.m, nvmex.pl} since they changed from R2006 -> R2007, but to no avail.

I’ve also tried hardcoding \$ARCH to win64 at the beginning of nvmex.pl, only to get a different error.

I’m running 64bit Windows, MS VS 2005, Matlab R2007b.

Thanks,
Danny

This is the same error I encounter (though I’m using MATLAB r2008a on a 64 bit Vista machine)… has a solution been found for this?

we have same problems, sorry my name is puri swastadi…
i’m running 32bit windows, matlab 2007.a

Yeah, I’m getting the same problem. I can compile & run speed_fft, but when I try to use nvmex.pl it crashes. For me though, it crashes with this error:

Undefined subroutine &main::uuidgen called at C:\Program Files\MATLAB\R2008a\bin\nvmex.pl line 728.

I’m not a perl script guy, so I’m a little lost at this point.