不能在 Metro 风格项目(WINRT)中使用 opencl

Posted

技术标签:

【中文标题】不能在 Metro 风格项目(WINRT)中使用 opencl【英文标题】:Can't use opencl in Metro Style Project(WINRT) 【发布时间】:2012-09-12 16:02:19 【问题描述】:

我在 WIN8(Metro 风格的应用程序)下编写代码,但在使用 OpenCL 时遇到问题。

当我编译并作为 WIN8 桌面应用程序运行时,我的项目运行良好。 但是当我把它改成Win store app(Metro风格)时,我就不能再使用OpenCL了。

//get platform id
error = clGetPlatformIDs(1, &platformID, &numPlatforms);

if(error != CL_SUCCESS)
    return;

clGetPlatformIDs 返回错误代码-1001

我不能在 Metro 风格的应用程序中使用 OpenCL 吗?有人请帮我解决这个问题。我是WIN8新手

【问题讨论】:

【参考方案1】:

错误代码 -1001 通常意味着您的驱动程序已正确安装,但 opencl 运行时未正确配置/安装。

你可以尝试各种东西...

1) 确保您安装了更新的驱动程序并且没有过时(如果您发现最新驱动程序有问题,您也可以使用以前的版本重试)?

2) 完全删除当前驱动程序并重新安装。

【讨论】:

关于如何解决 ICD/驱动程序问题的好建议(也包括在这个 SO 项目中:***.com/questions/4959621/…)但对于我添加的赏金,我也在寻找明确的证据表明 OpenCL 应该 工作并且在 WinRT / Metro 风格应用程序中得到完全支持。

以上是关于不能在 Metro 风格项目(WINRT)中使用 opencl的主要内容,如果未能解决你的问题,请参考以下文章

在 WinRT Metro App C# 中获取操作系统版本

一个Metro风格的开源项目 MahApps.Metro

Metro 应用程序中 C++ 和 C# 之间的通信

WinRT:WebAuthenticationBroker For OAuth认证

如何在“native c ++”环境中使用WinRT IAsyncOperation *对象

WinRT 中的 HttpUtility.HtmlDecode