Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Mex可以在Linux下工作,但不能在Windows下工作_C++_C_Linux_Matlab_Cuda - Fatal编程技术网

C++ Mex可以在Linux下工作,但不能在Windows下工作

C++ Mex可以在Linux下工作,但不能在Windows下工作,c++,c,linux,matlab,cuda,C++,C,Linux,Matlab,Cuda,我的一个mex文件遇到了一个非常奇怪的问题。它在Linux和Windows上的行为不同。在第一种情况下,它运行良好(mex使用CUDA cufft和我自己的内核),但在Windows下,我得到了 cufft分配失败,我已修复 即使在第一次修复后也无法完成计算 主要的mex函数在a.cu中,我使用6.5工具包和VS 2012 Pro for Windows在PC上编译它。在Linux下,我使用gcc和mex命令编译它 对于这两种平台,我都使用动态链接、64位版本和openMP Windows动

我的一个mex文件遇到了一个非常奇怪的问题。它在Linux和Windows上的行为不同。在第一种情况下,它运行良好(mex使用CUDA cufft和我自己的内核),但在Windows下,我得到了

  • cufft分配失败,我已修复
  • 即使在第一次修复后也无法完成计算
主要的mex函数在a.cu中,我使用6.5工具包和VS 2012 Pro for Windows在PC上编译它。在Linux下,我使用gcc和mex命令编译它

对于这两种平台,我都使用动态链接、64位版本和openMP Windows动态链接。 Windows版本并不总是失败。起初我认为这可能是内存分配错误,但现在我认为这是CUDA网格参数错误,因为我的一些数组没有填充

我的问题如下

  • 在Windows上,是否存在与Linux不同的内核维度?(无法解释,但…)
  • MATLAB 2013b会成为一个问题吗?(我将mex发送给Matlab 2014a用户)
  • Linux和Windows之间的C++或CUDA编程有其他的著名区别吗? 提前感谢,


    Julien

    linux和windows之间的内核维度限制没有区别。我认为这里没有足够的信息来回答你的第二个问题。关于你的第三个问题,它非常广泛。是的,存在差异,例如windows下的WDDM超时问题在linux下不以相同的形式出现。但是正确编写的CUDA代码在windows或linux下的行为应该大致相同。您是否在代码中执行正确的错误检查?您可能希望提供一个完整的示例来说明您正在做什么。我认为接近票数反映了信息的缺乏。