GPU 计算

出自中国分布式计算总站

跳转到: 导航, 搜索

GPU 计算,或称显卡计算,是指使用计算机的图形处理器(Graphic Processing Unit,简称 GPU)处理计算工作的计算方式。与之对应的是使用计算机中央处理器(即CPU)的 CPU 计算

目录

与 CPU 计算的比较

较之计算机的中央处理器(即CPU),GPU 在科学计算方面拥有如下优势:

  • GPU 由大量的运算单元(核心)组成,并行计算能力远高于 CPU。
  • 通常 GPU 拥有较普通内存位宽更大、频率更高的专用内存,即显存,适合处理大规模数据。

综上,GPU 适合进行大量同类型数据的密集运算,如密码破译。

对于适合 GPU 处理的任务,GPU计算会比CPU计算快2至10倍之多。同时,在分布式计算项目中,GPU 任务的得分效率也比往往 CPU 任务高出很多。

系统需求

硬件需求

小贴士: 总而言之,显卡需要CUDA或OpenCL支持,你可以使用GPU-Z查看显卡是否具备此功能,这是最简易的方法。
  • NVIDIA 显卡需要 CUDA 计算支持,支持的型号详见此页
  • AMD 显卡需要拥有 AMD R600、AMD R700 或更新的 GPU 核心型号。R600核心的显卡有:ATI Radeon HD2400、HD2600、HD2900、HD3800;R700核心的显卡有:HD4350到HD4890。参见:支持Stream技术的产品支持OpenCL技术的产品
  • AMD APU 核心显卡中,Brazos、Kabini、Lynx 平台,适用于平板电脑的 Llano、Trinity 和 Richland 平台,以及适用于桌面和笔记本电脑的 Llano、Trinity 和 Richland APU 都支持 GPU 计算。
  • Intel 显卡需要 OpenCL 支持,Ivy Bridge 和 Haswell 架构的 CPU 集成的 GPU 均支持该特性。(OpenCL组件安装包
  • 不同项目对 GPU 配置还会有特殊要求(如显存、双精度支持等)。显卡推荐拥有至少 256MB 板载显存,如果低于这个数,可能只有考虑一下 Collatz Conjecture 了。

软件需求

警告: 新版本的Windows XP ATI/AMD显卡驱动不再兼容OpenCL计算,请考虑升级到Windows7或者使用旧版本(可能效率略低)。
  • 操作系统中需装相应的支持 GPU 计算的驱动程序。
  • 使用项目方提供的 GPU 计算专用的客户端 / 优化计算程序
  • 计算程序有权限访问GPU资源。

以下是各类显卡的驱动下载方式:

注意事项

权限问题

Windows 下,由于权限控制机制,以独立用户身份运行的 BOINC 无法正常检测 GPU。安装 BOINC 客户端时,请不要选择 “Protected access execution mode”(默认即不选)。

Linux 下,需要将运行客户端的用户加入适当的用户组(通常是 video),以保证客户端拥有足够的权限使用 GPU 资源。

资源占用

GPU 计算可能导致计算机图形界面响应非常缓慢。越是低端的显卡,这种效应越发明显。默认情况下,BOINC 仅在计算机闲置时使用GPU计算。如果你的显卡足够快,可以在参数设置中更改相应设置。

对于多显卡用户,可以禁用负责显示的显卡(通常是集成显卡或核心显卡),以避免影响系统正常使用。

性能考量

GPU计算一般需要一些CPU资源进行命令。为了最大化GPU的利用程度,你可以手动提高GPU计算进程优先级以使其获得充足的CPU资源,也可以干脆留出一个CPU线程。

在一些对 CPU 的总功率有限制的双显卡笔记本电脑上,你可能会发现使用 Intel 核芯显卡进行计算反而不是个好主意——使用显卡进行计算消耗的功率也被计入 CPU 的功率,于是电源管理可能使 CPU 本身的睿频变少,导致独立显卡无法完全发挥。

你还可以考虑适当地进行超频

支持GPU计算的项目

注意: 本表所列项目为现时提供GPU任务之项目。由于更新问题,可能与实际情况有所出入。请参考具体项目的官方说明。
  • 本表只说明该项目有GPU计算支持,但并不保证适用于您的操作系统,详细的还请参见项目的计算程序列表。

NVIDIA显卡

另参见:分类:支持 NVIDIA 显卡计算的项目

AMD 显卡

另参见:分类:支持 AMD 显卡计算的项目

Intel 显卡

另参见:分类:支持 Intel 显卡计算的项目 该分类下项目大多需要OpenCL1.2支持,请进入#软件需求段落手动下载新版OpenCL驱动代替Windows自动升级驱动。

潜在的支持GPU加速的项目

参阅