Mex可以在Linux下运行,但不能在Windows下运行

时间:2014-11-03 16:48:01

标签: c++ c linux matlab cuda

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

  • 我修复的袖口分配失败
  • 即使在第一次修复后也没有实现计算。

主要的mex功能是.cu,我在装有6.5工具包和VS 2012 Pro for Windows的PC上编译它。在Linux下,我用gcc和mex命令编译它。

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

我的问题如下

    在Windows上
  1. ,是否存在与Linux不同的内核维度? (不可能,但......)
  2. MATLAB 2013b可以成为一个问题吗? (我将mex发送给Matlab 2014a用户)
  3. Linux和Windows之间的c ++或CUDA编程是否存在其他众所周知的差异?
  4. 提前致谢,

    于连

0 个答案:

没有答案