部署的C ++ AMP应用程序停止响应

时间:2012-03-15 14:07:13

标签: c++ visual-studio gpu-programming visual-studio-2012 c++-amp

我正在尝试将C ++ AMP应用程序部署到另一台Windows 7计算机上。 我试图将vcamp110.dll包含在同一个文件夹中,并且还使用/ MT编译,以消除对msvcp110.dll和msvcr110.dll的依赖。

同时尝试了应用程序的x64和win32版本。

在安装了whitout VS11的计算机上,程序停止响应。 我试着用hello world应用程序做一个简单的测试,我遇到了同样的问题。

可以从这里下载文件http://www.2shared.com/file/IofZlrJs/amptest.html(源代码,二进制文件和dll)。

有关如何解决此问题的任何建议?

1 个答案:

答案 0 :(得分:3)

肯定支持您尝试过的部署 - 详细信息如下: http://blogs.msdn.com/b/nativeconcurrency/archive/2012/03/12/deploying-apps-built-with-c-amp.aspx

您可以采取一些措施来诊断您自己面临的问题:

  1. vcamp110.dll的位数必须与你的应用程序的位数相匹配,因此一位32位意味着另一位32位。
  2. 确保某些中心位置没有其他vcamp110.dll实例(例如system32)
  3. 附加一个调试器,看看加载了什么DLL以及抛出了什么异常。
  4. 最重要的是,对于您的所有应用程序,使用try ... catch围绕您的parallel_for_each调用,以查看您获得的runtime_exception。有关C ++ AMP的更多信息,请访问:http://blogs.msdn.com/b/nativeconcurrency/archive/2012/02/01/c-amp-runtime-exceptions.aspx
  5. 对于您共享的特定repro,我们在干净的Windows 7计算机上的调试器下尝试了这一点,实际上抛出了rutime_exception:“parallel_for_each的二进制文件与此版本的运行时不兼容。”,表示不匹配运行时版本(混合位数或混合开发人员预览版与Beta或类似的东西)。