58、并行医学图像重建:从图形处理器到网格系统

并行医学图像重建:从图形处理器到网格系统

1. 图形处理器的并行化

1.1 GPU架构与CUDA

现代图形处理器(GPU)可作为数学协处理器,为CPU增添计算能力。GPU是一种并行机器,由单指令多数据(SIMD)多处理器(数量从1到32不等)组成,SIMD多处理器的流处理器被称为着色器单元。GPU(也称为设备)拥有自己的快速内存,容量高达4GB。主板上可同时安装1到4个GPU作为协处理器。例如,实验中使用的NVIDIA GeForce 8800 GTX,提供768MB设备内存,有16个多处理器,每个多处理器包含8个着色器单元。

NVIDIA通过CUDA(计算统一设备架构)为GPU提供了一个编程接口,将线程编程概念引入到C语言中。一组执行相同代码片段(即内核程序)的线程在一个多处理器上运行,该组中的每个线程在GPU的一个着色器单元上运行,每个单元对不同的数据元素执行内核程序。应用程序的所有线程块由调度器分配到各个多处理器上,GPU的设备内存由所有线程共享。

1.2 列表模式OSEM的CUDA实现

在GPU上对一个子集进行计算的步骤如下:
1. CPU读取子集事件并将其复制到GPU设备内存。
2. 每个线程计算cl的部分和,并直接将其添加到设备内存。每个线程处理的事件数量需综合考虑:一方面,应尽可能启动更多线程以有效隐藏内存延迟;另一方面,每个线程需在设备内存中保存部分结果,若为每个事件启动一个线程,会占用过多内存。因此,启动的线程数量应使所有部分结果仍能存入设备内存。
3. 每个线程计算fl + 1 = flcl的一个体素值。
4. 将fl + 1复制回CPU。

在计算cl时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值