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

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

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

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

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

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

关于如何解决这个问题有什么建议吗?

最佳答案

像您尝试过的那样的部署肯定是受支持的——完整的细节在这里: http://blogs.msdn.com/b/nativeconcurrency/archive/2012/03/12/deploying-apps-built-with-c-amp.aspx

您可以做一些事情来诊断您自己面临的问题:

  1. vcamp110.dll 的位数必须与您的应用程序的位数相匹配,因此一个 32 位意味着另一个 32 位。
  2. 确保在某些中心位置(例如 system32)中没有 vcamp110.dll 的其他实例
  3. 附加调试器并查看加载了哪些 DLL 以及引发了哪些异常。
  4. 最重要的是,对于您所有的应用程序,将您的 parallel_for_each 调用包围在 try...catch 中,以查看您得到的是什么 runtime_exception。可在此处找到有关 C++ AMP 异常的更多信息:http://blogs.msdn.com/b/nativeconcurrency/archive/2012/02/01/c-amp-runtime-exceptions.aspx

对于您共享的特定重现,我们在一台干净的 Windows 7 机器上的调试器下进行了尝试,确实抛出了一个 rutime_exception:“parallel_for_each 的二进制文件与此版本的运行时不兼容。”,这表明不匹配运行时版本(混合位数或将 Developer Preview 与 Beta 或类似版本混合)。

关于c++ - 已部署的 C++ AMP 应用程序停止响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9721407/

相关文章:

c++ - Eclipse helios(Windows 7 64 位)中 Unresolved inclusion : <stdio. h>

c++ - #import 等效命令行

c++ - 如何创建一个函数来为 C++ 中的任意数量的参数提供服务?

c++ - CreateProcessAsUser 返回错误代码 2

c# - Azure - Web 部署任务失败 [System.AggregateException - WebToolsException] ERROR_COULD_NOT_CONNECT_TO_REMOTESVC

visual-studio - 技术演示的好技巧

cuda - CUDA 如何将设备 ID 分配给 GPU?

c++ - 奇怪的段错误

tensorflow - 更换gpu后我必须重新安装tensorflow吗?

windows-10 - 如何使用 python 测量 Windows 中每个进程的 GPU 使用率?