“GPU 计算”的版本间差异
小 (→支持GPU计算的项目) |
小 (→潜在的支持GPU加速的项目) |
||
第98行: | 第98行: | ||
===潜在的支持GPU加速的项目=== | ===潜在的支持GPU加速的项目=== | ||
+ | *[[SZTAKI Desktop Grid]] | ||
+ | *[[The Lattice Project]] | ||
==参阅== | ==参阅== |
2016年10月4日 (二) 20:39的版本
GPU 计算,或称显卡计算,是指使用计算机的图形处理器(Graphic Processing Unit,简称 GPU)处理计算工作的计算方式。与之对应的是使用计算机中央处理器(即CPU)的 CPU 计算。
与 CPU 计算的比较
较之计算机的中央处理器(即CPU),GPU 在科学计算方面拥有如下优势:
- GPU 由大量的运算单元(核心)组成,并行计算能力远高于 CPU。
- 通常 GPU 拥有较普通内存位宽更大、频率更高的专用内存,即显存,适合处理大规模数据。
综上,GPU 适合进行大量同类型数据的密集运算,如密码破译。
对于适合 GPU 处理的任务,GPU计算会比CPU计算快2至10倍之多。同时,在分布式计算项目中,GPU 任务的得分效率也比往往 CPU 任务高出很多。
系统需求
硬件需求
- 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 了。
软件需求
以下是各类显卡的驱动下载方式:
- NVIDIA显卡(Mac以及部分Windows用户另外需要CUDA驱动,CUDA驱动网盘高速下载,不含Linux系统驱动CUDA驱动内嵌一个显卡驱动)
- AMD 显卡
- Intel 显卡(OpenCL组件安装包)
注意事项
权限问题
Windows 下,由于权限控制机制,以独立用户身份运行的 BOINC 无法正常检测 GPU。安装 BOINC 客户端时,请不要选择 “Protected access execution mode”(默认即不选)。
Linux 下,需要将运行客户端的用户加入适当的用户组(通常是 video),以保证客户端拥有足够的权限使用 GPU 资源。
资源占用
GPU 计算可能导致计算机图形界面响应非常缓慢。越是低端的显卡,这种效应越发明显。默认情况下,BOINC 仅在计算机闲置时使用GPU计算。如果你的显卡足够快,可以在参数设置中更改相应设置。
对于多显卡用户,可以禁用负责显示的显卡(通常是集成显卡或核心显卡),以避免影响系统正常使用。
性能考量
GPU计算一般需要一些CPU资源进行命令。为了最大化GPU的利用程度,你可以手动提高GPU计算进程优先级以使其获得充足的CPU资源,也可以干脆留出一个CPU线程。
- 更优化的使用方法参见:充分调用GPU资源——利用Process Lasso控制功能自动修改进程优先级
- 类似的,你也可以编写自己的程序控制优先级。一些优化程序,如 SETI@home:优化程序 中的 GPU 程序直接可以通过修改其配置文件手动指定优先级。
- 在安装 prio 后,Windows 7 和 Vista 的任务管理器在右键进程后有保存优先级设置的选项,也可以考虑使用。
在一些对 CPU 的总功率有限制的双显卡笔记本电脑上,你可能会发现使用 Intel 核芯显卡进行计算反而不是个好主意——使用显卡进行计算消耗的功率也被计入 CPU 的功率,于是电源管理可能使 CPU 本身的睿频变少,导致独立显卡无法完全发挥。
你还可以考虑适当地进行超频。
支持GPU计算的项目
NVIDIA显卡
- Albert@Home(最近7日无包,详见这里)
- Asteroids@Home(支持平台:Windows 32位/64位、Linux 64位,详见这里)
- BURP(最近无包,详见这里)
- Collatz Conjecture(支持平台:Windows 32位/64位、Linux 32位/64位、Mac OS 10.5或更新 64位,详见这里)
- Einstein@Home(详见这里)
- Gerasim@Home(最近30分钟左右无包,支持平台:Windows 32位/64位,详见这里)
- Folding@home(非BOINC平台)
- GPUGRID(详见这里)
- IBERCIVIS(暂无支持GPU的子项目,详见这里)
- MilkyWay@home(需要双精度浮点,对应CUDA 1.3+,支持平台:Windows 32位/64位、Linux 32位/64位、Mac OS 10.5或更新 64位,详见这里)
- Moo! Wrapper(支持平台:Windows 32位、Linux 64位、Mac OS 10.4或更新,详见这里)
- POEM@HOME(支持平台:Windows 32位、Linux 64位、Mac OS 10.5或更新,详见这里)
- PrimeGrid(支持平台:Windows 32位/64位、Linux 32位/64位、Mac OS 10.4或更新,详见这里)
- SETI@home(支持平台:Windows 32位、Linux 64位、Mac OS X或更新 64位,详见这里)
- SETI@home/AstroPulse Beta(支持平台:Windows 32位、Linux 64位、Mac OS X或更新 64位,详见这里)
- World Community Grid
AMD 显卡
- Albert@Home(最近7日无包,详见这里)
- Collatz Conjecture(支持平台:Windows 32位/64位、Linux 32位/64位、Mac OS 10.5或更新 64位,详见这里)
- Einstein@Home(详见这里)
- Gerasim@Home(最近33分钟无包,支持平台:Windows 32位/64位,详见这里)
- GPUGRID(暂无支持AMD GPU的子项目,详见这里)
- Folding@home(非BOINC平台)
- MilkyWay@home(需要双精度浮点,支持平台:Windows 32位/64位、Linux 32位/64位、Mac OS 10.5或更新 64位,详见这里)
- Moo! Wrapper(支持平台:Windows 32位、Linux 32位/64位,详见这里)
- POEM@HOME(支持平台:Windows 32位、Linux 64位、Mac OS 10.5或更新,详见这里)
- PrimeGrid(支持平台:Windows 32位/64位、Linux 32位/64位、Mac OS 10.5或更新 64位,详见这里)
- SETI@home(支持平台:Windows 32位、Linux 64位、Mac OS X或更新 64位,详见这里)
- SETI@home/AstroPulse Beta(支持平台:Windows 32位、Linux 64位、Mac OS X或更新 64位,详见这里)
Intel 显卡
另参见:分类:支持 Intel 显卡计算的项目 该分类下项目大多需要OpenCL1.2支持,请进入#软件需求段落手动下载新版OpenCL驱动代替Windows自动升级驱动。
- Collatz Conjecture(支持平台:Windows 32位/64位、Linux 32位/64位、Mac OS 10.5或更新 64位,详见这里)
- Einstein@Home(详见这里)
- Gerasim@Home(最近33分钟无包,支持平台:Windows 32位/64位,详见这里)
- SETI@home(支持平台:Windows 32位、Linux 64位、Mac OS X或更新 64位,详见这里)
- SETI@home/AstroPulse Beta(支持平台:Windows 32位、Linux 64位、Mac OS X或更新 64位,详见这里)