ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Optimus引起部分CUDA程序不能正确运行及其解决方法

Optimus引起部分CUDA程序不能正确运行及其解决方法

原创 Linux操作系统 作者:NvidiaCTC 时间:2010-04-12 17:02:43 0 删除 编辑

1.       Optimus功能允许集成GPU和独立GPU共同工作以降低功耗:由intel的集成GPU提供日常的显示功能,而在需要CUDA加速或者游戏时使用Nvidia的独立GPU提供更高性能。

2.       在使用CUDA程序时,需要开启Nvidia的独立GPU。

3.       CUDA与OpenGL/D3D只有在同一GPU上才能交互。

4.      过去的与图形学API互交互代码中,先创建了OpenGL/D3D上下文,然后再在OpenGL/D3D所在的GPU上创建CUDA上下文。在Optimus平台中,OpenGL/D3D上下文默认会被创建在intel集成GPU上,因此再在这个GPU上创建CUDA上下文会发生错误,引起失败。

 

我们建议的解决方法是:

1.       使用支持Optimus功能的笔记本用户可以在Nvidia Control panel的3DSettings->Manage3DSettings中将需要运行的程序加入到列表中,并将它们的preferred processor设置为High-performance Nvidia processor。

2. 程序编写者应该按照最新的方法修改代码。方法是首先创建一个不与设备绑定的OpenGL/D3D上下文;然后枚举所有CUDA设备并创建CUDA上下文;再把CUDA上下文所在设备与OpenGL/D3D上下文绑定;最后再将CUDA上下文与OpenGL/D3D上下文绑定。

请搜索CUDA_Developer_Guide_for_Optimus_Platforms.pdf获得详细信息。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23172605/viewspace-659481/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-01-12

  • 博文量
    4
  • 访问量
    84415