国际生物医学成像杂志》上

PDF
国际生物医学成像杂志》上/2011年/文章
特殊的问题

并行计算在医疗成像应用

把这个特殊的问题

研究文章|开放获取

体积 2011年 |文章的ID 473128年 | https://doi.org/10.1155/2011/473128

约书亚Trzasko Daehyun Kim,米哈伊尔•Smelyanskiy克利夫顿海德尔,Dubey Pradeep,阿曼德Manduca, 高性能三维压缩传感重建磁共振成像使用许多核心架构”,国际生物医学成像杂志》上, 卷。2011年, 文章的ID473128年, 11 页面, 2011年 https://doi.org/10.1155/2011/473128

高性能三维压缩传感重建磁共振成像使用许多核心架构

学术编辑器:亚m . Kadah
收到了 2011年3月30
接受 2011年6月3日
发表 2011年9月14日

文摘

压缩感知(CS)描述了稀疏信号可以准确地重建所需的样本来自许多少于奈奎斯特准则。因为MRI扫描时间获得样品的数量成正比,CS在MRI中已经获得相当大的关注。然而,CS重构的计算密集型性质妨碍了他们在日常临床实践中使用。在这项工作中,我们研究不同throughput-oriented架构可以受益一个CS算法和水平加速度在不同的现代平台上是可行的。我们证明CUDA-based代码运行在一个NVIDIA Tesla C2050 GPU可以重建一个256×160×80卷从摘要收购在19秒,这本身就是一种艺术的状态显著提高。然后我们表明,英特尔的骑士渡轮可以执行相同的三维磁共振成像重建只有12秒,将CS方法更接近临床可行性。

1。介绍和动机

磁共振成像(MRI)是一种无创医学成像模式通常用于在人体软组织进行调查。临床上,MRI是有吸引力的,因为它提供了灵活性,优越的对比度分辨率,和只使用电离辐射。然而,随着扫描的持续时间成正比的数量调查光谱指数,标准下获得高分辨率图像采集和重建协议可能需要大量的时间。延长扫描时间提出了一系列挑战在临床设置。例如,在漫长的考试,患者常常表现出无意识的(例如,呼吸)和/或自愿的运动(例如,积极响应不适),这两个可以传授空间模糊,可能会影响诊断。同时,高时间分辨率通常是需要准确地描述生理过程。标准成像协议下,空间分辨率必须不幸牺牲,允许更快的扫描终止或更频繁的时间更新。

考试,而不是执行一个低空间分辨率,现代磁共振成像协议经常获得只有一个子集的样本与高分辨率的考试和试图恢复重建图像使用替代方法例如零差检测(1]或压缩感知(CS)。CS理论断言所需的样本数量,形成一个精确的近似的形象在很大程度上取决于图像的底层复杂性(2,3]。因此,如果存在一种将图像转换成更有效(即。,sparse or compressible) representation, less time may actually be required to collect the data set needed to form the high-resolution image [4]。

Background-suppressed对比度增强MR血管造影(CE-MRA)是一种很自然的临床目标CS方法。周围性血管疾病等许多病症的诊断是基于血管形态学和血流动力学,因此需要高时空分辨率图像。CS使收购所有这些信息在一个单一的考试。虽然几位作者(例如,5- - - - - -8])已经成功地演示了CE-MRA CS方法的应用程序,这些应用程序的计算密集型性质迄今为止杜绝他们的临床可行性(例如,发表CS重建时期为一个3 d体积(CE-MRA)通常的时间(4,7,9- - - - - -11])。CE-MRA考试的结果往往需要尽快收购完成后(直接的临床干预或引导附加扫描),它是不切实际的等待任何目前实施CS重构的结果。相反,线性或其他noniterative重建,可以在线执行(例如,12)必须使用即使他们提供理想的结果。

降低CS的目标+ MRI重建时期临床实践水平,几个作者最近考虑使用先进的硬件环境的重建的实现。这些技术中的大多数人关注的重建核磁共振数据获得使用相控阵(即。多线圈)接收器,这是占主导地位的收购战略用于临床实践。Chang和霁13,14)被认为是coil-by-coil相控阵MRI数据重建方法。虽然这种策略会导致自然任务并行,多核处理器的每个元素独立处理一个线圈图像重建,他们只演示了重建时间的分钟,每2 d切片不是临床可行的。此外,不相交的重建相控阵MRI数据是众所周知的展示表现不佳相比,对关节重建策略像意义上15和格拉巴酒16),因此,这一战略是有限的效用。墨菲et al。17后来证明,精神重建算法(18),这是一个泛化的格拉巴酒(16使用图形处理器),可以显著加快。他们生成高质量的并行图像重建在分钟的3 d体积,代表一个重要的进步对临床可行性。最近,Trzasko et al。7,8,19]表明CS重构的时间分辨三维CE-MRA图像使用并行成像和一个先进的笛卡尔收购projection-reconstruction-like抽样(CAPR)策略12)也在几分钟3 d体积使用先进的集群系统上的代码实现(20.]。他们的算法,这本质上是一个泛化的意义(15],采用辅助稀疏惩罚和有效的解决不精确的拟牛顿,证明收益率高质量重建3 d CE-MRA数据获得的加速度率高达50 x。

在本文中,我们关注Trzasko et al。’s CS + MRI重建3 d CE-MRA和研究发展战略,优化,在多个现代并行体系结构和性能分析,包括最新的四——六核的cpu, NVIDIA gpu,许多集成的核心架构和英特尔(Intel麦克风)。我们在配置优化的实现六核的CPU能够重建 体积的neurovasculature摘要介绍,10倍(即加速。,90% undersampled) data set within 35 seconds, which is more than a 3x improvement over other conventional implementations [8,19]。此外,我们表明,我们的CS实现尺度非常大数量的核在当今throughput-oriented架构。我们的NVIDIA Tesla C2050实现重建相同的数据集在19秒,而我们英特尔的骑士渡轮进一步减少了重建时间12秒,这被认为是临床可行的。最后,我们的模拟器的研究显示,重建128核可以在6秒内完成,表明许多核心架构是一个有前途的CS重建的平台。

2。方法

2.1。CE-MRA图像的采集和恢复

后(12),CAPR采用感形式(15)并行成像策略。因此,有针对性的数据采集过程为一个时间框架可以建模为 在哪里 是底层的离散近似图像感兴趣的, th线圈灵敏度函数, 3 d离散傅里叶变换(DFT)算子, (二进制)采样算子,选择一个规定的子集k-space值, 是复杂的加性高斯白噪声(AWGN),然后呢 所观察到的信号吗 线圈传感器。如[19),原始CAPR k-space background-subtracted数据和观点之前执行的CS重建过程。我们让 表示这样的预处理后的结果

这是证明(8,19]background-suppressed CE-MRA图像获得系统的形式(1)可以精确地恢复了(大约)求解无约束优化问题如下: 成本的功能 有限空间差分算子对一些抵消方向 (在附近 ),和惩罚功能 对于一些凹度量功能 (21]。后(7),非凸拉普拉斯函数 此处采用。虽然这里不考虑, 规范( )也可以使用如果是理想的。

2.2。数值优化

在[7),提出了一种有效的不精确的拟牛顿算法解决(大约)(2)重建CAPR CE-MRA图像。的完整性、简要评述了该算法。回想一下,复杂的拟牛顿迭代(22通常的形式 的梯度 (关于 (23])和 是一个近似的复杂黑森的 。“不准确”一词出现时 只有大约确定,如通过截断共轭梯度(CG)迭代。更具体地说,鉴于(3), (在哪里 平滑)对角操作符 在他们的工作,Trzasko et al。8,19)采用以下分析线性黑森近似: 可以被视为一个泛化沃格尔和阿曼的“滞后扩散系数”模式(24)对总变异(电视)去噪和去模糊。改善收敛,降低也延续上执行功能的平滑参数, (25]。

在[19),一个有效的c++实现上述算法采用模板化类框架描述Borisch et al。20.)和MPI (http://www-unix.mcs.anl.gov/mpi/)和OpenMP (http://www.openmp.org/)库描述和执行在一个8-node专用重建集群中,每个节点有两个3.4 GHz Intel Xeon处理器和16 GB的内存。为一个 头体积重建从8路数据,只有6不同的邻居,重建的时候略低于2分钟被报道。虽然这些次代表一个重要的发展比其他现有的作品,他们仍然太长常规临床使用。

3所示。实验

我们用五个数据集(两个人工和三个临床)分析了CS性能在三个平台:英特尔cpu, NVIDIA gpu,英特尔麦克风。

3.1。实验数据和重建规范

五个数据集用于我们的实验,其体积大小和内存占用:( 224 MB), ( 280 MB), ( 700 MB), ( 、735 MB)和( 770 MB),分别在1到5的顺序数据集。数据集1和2人为生成,数据集3代表noncontrast-enhanced大脑,数据集4和5代表增强对比度血管。所有核磁共振数据获得的3 t通用标记扫描仪(v.20)使用8路头数组使用CAPR收购序列。重建之前,查看共享数据集上执行3 - 5,背景减法参考数据集4和5中描述(12]。对所有实验,5外和15内(CG)迭代执行 (对应于26有限差分的邻居)。 继续减少(0.1)在每个外层迭代执行。图1显示当前临床[12)和CS-type重建(195)数据集的结果。所有版本的CS重建结果优化不同架构下面讨论视觉上所示的相同。所有架构都符合IEEE单精度floating-piont算术标准(26]。

3.2。计算架构

英特尔酷睿i7处理器
英特尔酷睿i7处理器是一个×86 -基于多核架构提供四/六芯(731米/ 1.17 B晶体管)在相同的死亡。它有一个核心支持双向超线程和4-wide SIMD超标量体系结构无序。每个核心由32 KB L1和L2 256 KB缓存,以及所有核心共享一个8 MB / 12 MB L3缓存。四和六核的cpu提供100 Gflops和135 Gflops单精度分别计算、峰值以及32 GB / s的峰值内存带宽。优化CS在酷睿i7处理器,我们利用其SSE4指令使用英特尔ICC auto-vectorizing编译器以及hand-vectorization intrinsic。我们与OpenMP并行代码,从英特尔的领养了一个高度优化的FFT实现数学内核库(MKL10.2)。

NVIDIA Tesla
NVIDIA Tesla C2050 [27,28)(3 B晶体管)提供了14多处理器,每个都有32个标量处理单元共享128 KB的寄存器和一个64 KB内存芯片上。32位标量单位分为两组,每组同步运行。它有一个硬件多线程,它允许数以百计的并发线程上下文中运行隐藏内存延迟。所有多处理器共享一个768 KB的L2缓存。片上内存软件可配置的,并且它可以分成48 KB缓存和一个16 KB的共享内存空间,反之亦然。单精确计算性能峰值约为1.03 Tflops及其车载GDDR内存提供了多达144 GB / s的带宽。我们使用CUDA (29日)编程环境中实现对特斯拉C2050 CS。CUDA允许程序员编写一个标量程序自动组织成线程块是在多处理器上运行。CUDA提供了一个开源的FFT库(CUFFT 3.1 [30.)虽然更优化的FFT实现如Nukada和Matsouka的31日)已经出版。

3.2.1之上。英特尔的骑士渡轮

英特尔麦克风是奥布里岛,32)基础平台和英特尔的骑士轮渡(33)是它的第一个实现硅32内核1.2 GHz。它是一个基于×86 -许多核心处理器基于小顺序核相结合今天的完全可编程的通用CPU架构现代GPU的计算吞吐量和内存带宽功能架构。每个核心是一个通用的处理器,一个标量单元基于奔腾处理器设计,以及一个向量单位支持16个32位浮点数或整数操作每个时钟。它配备了两个级别的缓存:低延迟32 KB L1缓存和一个更大的全球一致的总8 MB L2高速缓存分区之间的核心。它提供了一个峰值吞吐量1.2 Tflops(单精度)。因为英特尔麦克风是基于×86,它提供了一个自然延伸到传统×86编程模型。因此,我们可以使用类似的数据和线程级别实现酷睿i7处理器。

3.3。评估的计算负担

2(一个)显示了我们的c实现的概述。目标CS重建算法是由多个3 d矩阵的迭代算法。我们将重建模型中(6)基于循环结构(表示为六个阶段Stage1,Stage2等)。更具体地说,Stage1,Stage2,Stage3与计算的左和右的(7),分别。类似地,Stage4,Stage5,Stage6与计算的左和右的(9),分别。每个阶段执行一系列的矩阵计算如elementwise增加和3 d fft算法。饼图在图2 (b)显示了执行时间分解的重要内核。FFT3D(执行Stage2Stage5)是最耗时的,占总执行时间的46%。为了实现最优性能,FFT需要特定于体系结构的优化。因此,我们使用最好的FFT库可供每个架构。简单的elementwise矩阵算法(矩阵)是第二个最耗时的内核。因为他们大量的数据流从/到主内存,我们优化关注隐藏延迟和有效地利用带宽。Diff3D(在Stage1Stage4)从原始矩阵计算的差异其转移副本。由于多次使用相同的数据,我们块矩阵,利用数据重用快速on-die记忆。GEval(在Stage1Stage3)执行先验操作中隐含的除法和求幂等(8)。在gpu上,我们利用快速的数学函数;然而,性能由于数学是边际,因为越快GEval包括只有7%的总执行时间。

4所示。Architecture-Aware优化

Architecture-aware优化可以显著提高性能。天真的实现常常错过了大量的性能潜力。为了实现最大的性能潜力,我们将讨论一些重要的architecture-aware CS实现优化。我们的优化技术,因此可以应用于所有三个架构(CPU、GPU和英特尔麦克风)。特别是,因为CPU和麦克风共享相同的编程模型,优化CPU代码可以移植到英特尔麦克风没有太多修改。然而,CUDA编程模型是完全不同于一个CPU。它需要大量的CPU的代码移植到gpu,它可能更容易程序从头gpu。

4.1。Vectorizing和多线程

我们利用现代并行体系结构通过vectorizing我们CS和多线程的实现。CS是3 d的主要数据结构矩阵。因为独立计算矩阵的每个元素在大多数内核,我们利用级并行性。换句话说,我们可以把多个元素到一个向量计算和/或元素分配给任意多个线程,没有关心的数据依赖。

我们首先vectorizing最内层循环3 d矩阵的内核。一个内核通常是由三个嵌套循环的每个维度, , , ,如图3(一个)。因为没有数据元素之间的依赖,有可能在任何迭代进行向量化。然而,它是最有效最内层循环进行向量化,因为它展示顺序内存的访问 轴。向量化的 轴需要收集不连续的内存位置的元素,导致性能变差。另外,大多数循环在CS不包含视控制流改道(即。“如果”语句),这有助于保持矢量效率高。

第二,我们执行的3 d分区3 d矩阵在多个线程之间均匀,如图3 (b)。为每个分区,计算需求几乎是相同的,和内存访问模式非常普通。因此,我们的粗粒度的静态分区提供良好的负载平衡。虽然精密动态分区可以提供更好的负载平衡,它给线程间的通信开销。在动态分区,分区分配给一个线程在一个阶段可能是分配给另一个线程在另一个阶段,从最初的线程所数据通信。在我们的静态分区,分区总是分配给相同的线程在多个阶段,因此不需要线程间通信。

也不是轻而易举的事情,多流进行向量化FFT由于蝴蝶访问模式和bit-reversal元素洗牌。然而,这几十年来一直研究和优化技术是众所周知的。FFT3D优化我们的CS在讨论实现使用技术34),细节是本文的范围。

4.2。循环融合

我们的CS实现执行一系列简单elementwise矩阵运算。例如,图4显示了一个高级的概述Stage3对应于装配成本的功能梯度定义在(7)后建筑的元素Stage1Stage2。这个阶段是由五个计算子阶段两个输入矩阵,A和B,和两个输出矩阵,C和d,更具体地说,一个包含所有中介使用生成的数据的集合Diff3D和B包含所有中介使用生成的数据的集合FFT3D。C中定义的加权矩阵对应于(8),而D是整个综合变量(7)。一个可能的实现是完全执行每个计算阶段之前到下一个状态,见图中虚线箭头。例如,我们第一次乘矩阵A和B,然后我们进行乘方的结果,等等。虽然这种方法很容易实现,它的记忆行为是低效的。因为每个阶段横扫整个3 d矩阵和矩阵的大小通常是大于去年水平缓存大小,临时矩阵之间的阶段不能保留在缓存内,导致缓存不足,内存流量增加,和,因此,整体性能下降。更好的实现是块计算,使其临时数据保存在缓存中。主内存访问只发生在开始读输入矩阵最后写输出矩阵。我们进一步优化处理整个元素级别的计算如固体图中箭头所示。我们读一个元素从每个矩阵和矩阵B,执行五个计算,并将结果写入矩阵C和d,在进入下一个元素,等等。这种优化融合称为循环,因为它融合多个小环的个人计算成一个大圈的总和计算。 Because it handles one element at a time, data can be kept in the registers, which eliminates the need for the temporary matrix and, therefore, removes intermediate memory loads/stores completely. Also, because a fused loop performs more computation before it accesses the next element, it has more time to hide memory latency through data prefetches.

4.3。通过数据分区缓存阻塞

大多数的矩阵运算在CS读/写只有一个元素从输入矩阵输出矩阵。一次处理一个元素,相同的元素是不会再访问。然而,Diff3D需要27个邻居元素来计算输出元素。换句话说,一个输入元素是重用为27个不同的输出元素27倍。支持缓存来捕获数据重用,分区是必需的。为简便起见,我们解释优化二维矩阵如图5。计算一个输出,它需要9周围的输入。方案1是一个cache-ignorant分区。它访问元素从开始到结束当前行的下一行访问元素之前。不能捕捉数据重用,如果矩阵太大。最初,它缓存第一 输入计算第一个输出。但是,当它到达的最后一行,第一个 输入可能赶出缓存,如果摸行中遍历的元素数量超过缓存大小。作为一个结果, 输入从内存加载计算的下一行,即使第一个输出 这些输入前就已经阅读了。支持缓存方案2可以解决这个问题,一个分区。它分区矩阵的行。不是搬到最后一排,它停止的分区和移动到下一行。它可以重用以前的输入行替换从缓存中。当我们把一个矩阵分为四个分区,方案2将显示缓存行为比方案1。我们支持缓存相同的数据分区技术扩展到一个3 d矩阵来实现Diff3D

4.4。高速缓存线路为3 d矩阵填充

虽然CS的主要数据结构是一个三维矩阵,主要的内存访问模式是简单的流媒体访问数据按顺序从第一个到最后一个。然而,Diff3DFFT3D也非顺序访问数据 轴。内存访问和一个大2的幂,跨步显示可怜的缓存行为由于缓存冲突。例如,这可以发生在多个数据元素从相邻矩阵行映射到相同的高速缓存线路。结果,第二个元素导致从缓存中第一个元素的驱逐。为了解决这个问题,我们垫矩阵如图6。在每一行 设在垫有一个空的高速缓存线路。没有填充,访问的 设在有16步的高速缓存线路(两个)的力量。我们通过添加一个额外的缓存打破2的幂,进步行每一行,这将减少缓存冲突了。注意,除了填充最后的行 设在,我们可能还需要添加另一个填充的 二维平面,如果大小的 尺寸也是两个的力量。

4.5。最后一级缓存阻塞3 d FFT

三维FFT计算多个1 d的FFT算法 - - - - - -, - - - 设在。对于一个 矩阵作为我们的参考数据集,我们可以先做12800 256点1 d的fft算法 设在,紧随其后的是20480 160点1 d的fft算法 设在,最后40960 80点1 d的fft算法 设在。然而,执行1 d fft算法,一个轴不是缓存的效率,因为它需要席卷整个矩阵,这会产生很多缓存错过由于矩阵不符合最后一级缓存。相反,我们为每个2 d进行二维fft算法 平面上,然后执行1 d的fft算法 轴,如图7。对于一个给定的 轴的值,我们预加载相应的 飞机到缓存,执行1 d的fft算法 设在那么 轴(整个二维FFT 面),然后存储结果 飞机的记忆。因为最后一级缓存通常比一个大 平面为参考数据集(320 KB),我们的 飞机缓存阻塞非常有效的减少内存带宽要求。注意,大的最后一级缓存英特尔酷睿i7处理器和英特尔的骑士渡轮比特斯拉C2050对2 d有益缓存阻塞。每个线程/核心在不同的工作 平面上,多个二维块应该保存在缓存中。此外,随着数据集的大小增加,相应的二维块也变大。因此,要实现良好的系统级和dataset上可伸缩性、大最后一级缓存是至关重要的。

4.6。同步:障碍和减少

CS是由大量的并行阶段由全球障碍(同步并行系统中的线程例程)。当线程完成计算的并行区域,他们同步之前下一个并行区域的障碍。高效的高可伸缩性barrier同步至关重要。系统上有少量的核如英特尔酷睿i7处理器,只是障碍开销~总执行时间的2%。但当我们增加线程的数量(即。,128threads on Intel's Knights Ferry), we observe up to~与我们的hand-optimized障碍实现10%的开销。没有优化的屏障,同步开销太大,因此导致性能变差。在gpu,屏障开销更糟。我们实现全球障碍,推出一个新的内核,即与CPU同步,成本至少一个内核启动开销。虽然存在速度障碍完全运行在GPU实现,它们需要非标准内存一致性模型的假设。

另一个同步原语用于CS是减少。在Stage3Stage6它减少了一个三维矩阵,一个标量值。实现减少,我们使用一个软件私有化的技术。每个线程执行本地还原到其私人标量变量。所有线程完成后,执行全球减少,汇集了所有本地值。实现全球减排,我们使用一个原子内存操作。而原子通常是缓慢在现代并行体系结构,它们在我们的c实现的开销小,由于一小部分时间在全球减少。

5。结果

我们比较我们的c实现的性能在三个现代并行体系结构,并提供从计算机体系结构的角度深入的性能分析。

5.1。性能优化的影响

我们应用的各种优化部分中讨论4我们的计算机实现。我们将演示每个优化对整体性能的影响。图8显示了我们的c实现的性能改进首先是一个单线程的程序在一个英特尔酷睿i7处理器一样我们逐步应用优化,随后一个多线程程序。竖线代表每个优化步骤的执行时间(以秒为单位),和相对应的线显示了相对加速基线,基地,这是原始的单线程的实现算法的编译优化的最高水平,包括自动向量化技术,函数内联化,过程间的优化。作为我们的第一个优化,我们取代了FFTW [35)用于最初的实现与英特尔MKL越快。这导致1.15 x加速由第二个酒吧MKL。第二,我们hand-vectorize不能autovectorized的代码编译器。Hand-vectorization提供了一个额外的1.19倍加速(向量)。第三,我们应用缓存阻塞利用数据的重用Diff3D内核,它显示了另一个1.10倍加速(瓷砖)。通过这三个单线程优化,我们实现全面基线执行1.51倍加速。利用多核/线程,我们并行化应用程序。为FFT3D中,我们使用的并行实现MKL图书馆,和其他的内核,我们使用OpenMP hand-parallelize图书馆。并行化实现另一个1.58倍加速两个核心单核基线和四核2.14倍加速。总的来说,通过结合单线程优化和多流并行,达到3.21倍的性能提升从基线的实现,减少了总执行时间从175秒(基地)到56秒(4核)。

5.2。性能比较:CPU、GPU和英特尔麦克风

9比较CS表现三个架构:英特尔配置六核的酷睿i7处理器(在2.93 GHz Intel Xeon处理器X5670), NVIDIA Tesla C2050 (1.15 GHz Intel Core i7处理器连接到960年3.2 GHz),和英特尔的骑士渡轮(1.2 GHz Intel Core i7处理器连接到960年3.2 GHz)。我们正常加速对优化酷睿i7处理器(在3.33 GHz Intel Core i7处理器975)实现(56秒运行时)前一节,只向他们展示的数据集1,2,3。因为他们的尺寸相似,相应的数据集4和5的性能结果非常相似的数据集3方面的执行时间和相对性能在不同的体系结构。因此,为了简便起见,只有数据集的结果如图39。特斯拉C2050和骑士轮渡,我们展示两个加速酒吧:一个没有数据传输开销从CPU主机和其他开销。数据传输开销导致性能下降,因为CS花大量的时间进行计算,可以隐藏的大部分数据传输时间。

配置为六核的酷睿i7处理器(总12芯)执行快约1.6倍(35 s)比四核CPU(56),由于增加核心计算和内存带宽。特斯拉C2050 GPU平台是2.9倍速度比四核CPU数据集3。然而,它的性能表现出大方差数据集。特斯拉C2050显示了数据集1 7.5 x加速但显示了数据集2只有1.8倍加速。数据集3(实际临床数据),骑士渡轮达到4.5倍加速四核CPU,大约是常人速度的1.57倍比特斯拉C2050。骑士渡轮允许重建真实的解剖数据集在一个临床可行的12秒,这是现有CS实现显著提高。

注意酷睿i7处理器和骑士比特斯拉C2050渡轮更高效的资源利用率。虽然特斯拉C2050有约~4 x失败和峰值~3 x峰值带宽比酷睿i7处理器,它只提供了~2倍的性能。同时,骑士渡船~特斯拉C2050±10%失败/带宽,加速了特斯拉C2050骑士渡船显示约55%。最后,特斯拉C2050性能方差在大数据集是由于FFT优化。我们相信CUFFT 3.1是专门为小功率优化的两个数据集与数据集1。因此,FFT表现在数据集数据集1比2和3。

6。讨论

阐明对CS架构选择性能的影响明显,我们现在提供一个深入的讨论内核级操作的性能。然后我们讨论CS的并行可扩展性解决未来CMP系统性能。

6.1。深入的性能分析

我们提供进一步的洞察实现性能的整个应用程序分解成更小的微核和单独分析微核。我们专注于英特尔酷睿i7处理器和英特尔的骑士渡轮由于缺少在NVIDIA的CUDA环境中性能分析工具。表1显示了我们的总结分析。为每个内核有两列。第一列显示了执行时间的分数在内核内部的顺序代码。第二列显示了加速通过骑士渡轮在核心i7处理器内核。数据集3(单精度复杂 )用于分析。


内核 执行时间分解 加速的骑士渡船/酷睿i7

FFT3D 46% ~4 x
Diff3D 14% ~6 x
GEval 7% ~7 x
矩阵 33% ~4 x

整体 100% 4.6倍

FFT3D是最重要的内核占据46%的总执行时间。参考数据集,英特尔MKL库实现~30 Gflops酷睿i7处理器和我们的内部图书馆实现FFT~175 Gflops骑士渡船,这是最好的表现,今天都可以实现架构。因此,对于FFT3D,我们估计~6 x加速的骑士渡船酷睿i7处理器实际上获得~4 x加速,这表明我们可能进一步提高骑士渡船性能。

Diff3D执行一个2点卷积。它减去原始矩阵及其转移矩阵 , , := In-In_Shifted ( , , )。因为是一个简单的减法计算和数据规模很大(~200 MB),带宽约束。考虑核心i7处理器的内存带宽和骑士轮渡,我们预期~4 x加速的骑士渡船酷睿i7处理器。在实际的实现中,我们实现了~6 x加速,这表明核心i7处理器可能有改善的空间。

GEval包括先验的操作。在我们hand-optimized微基准测试,求幂~在核心i7处理器和37周期/元素~0.88周期/元素骑士渡船,平方根计算需要~4.5周期/核心i7处理器和元素~0.56周期/元素骑士渡船。基于微基准测试性能,我们估计~8 x加速的骑士渡船酷睿i7处理器,和它的实际性能(~7 x)接近我们的估计。

矩阵element-wise算法计算简单。在许多情况下,带宽有限,因为计算是简单的加法,减法,乘法。然而,我们也优化了多个计算融合在一起,利用寄存器和缓存阻塞。考虑两个架构上的峰值内存带宽,骑士渡轮有望~4倍的速度比酷睿i7处理器。考虑到峰值浮点性能,骑士渡轮有望~快12倍比酷睿i7处理器。在现实中,我们实现了~4 x加速的骑士渡船酷睿i7处理器,这表明目前bandwidth-bound内核架构。

6.2。未来的CMP的可伸缩性

芯片多处理器(CMPs)为应用程序提供一个机会来实现更高的性能,随着核心数量的持续增长随着时间的推移,按照摩尔定律。用于cmp兑现他们的承诺,重要的是,随着核心数量的持续增长上运行的应用程序的性能通过也相应增加。获得深入了解CS算法将规模在未来的许多核心架构,我们模拟一个可行但假设未来CMP处理器(1 GHz 256 KB /核心缓存)在我们cycle-accurate模拟器和图的研究10显示其CS性能可伸缩性。我们观察到CS尺度以及增加核的数量。特别是,我们64 -核心配置达到37 x加速/单核配置中,几乎60%的并行效率。渐行渐远,我们128 -核心配置达到55 x加速/单核配置效率不到50%。表2编译128 -核心预测加速度与前面讨论的结果对于英特尔酷睿i7处理器,NVIDIA Tesla C2050,英特尔的骑士渡船。虽然 数据量可能被视为大通过数值计算标准,它是由现代临床标准和相对较小的体积大很多倍在实践中经常遇到。此外,许多当代收购趋势从单相迁移时间分辨的范例,在3 d动态解剖学和生理学的“电影”(例如,对比流入和流出的船只)。因此,CMPs至关重要的可伸缩性看到CS-type和其他非线性重建方法成为这样的实际成像场景。总体而言,现有的和未来的许多核心架构非常有前途的平台加速CS重建算法,使其临床可行的。


执行时间 加速

酷睿i7处理器1核心,而不是优化 175年代 1.0倍
酷睿i7处理器1核心,优化 116年代 1.5倍
文学最好的(19] ~100年代 1.7倍
酷睿i7处理器4核 56个年代 3.1倍
酷睿i7处理器配置为12芯 35个年代 5.0倍
NVIDIA Tesla C2050 19世纪 9.2倍
英特尔的骑士渡轮(32芯) 12个年代 14.5倍
研究模拟CMP(128芯) 6 s 29.1倍

7所示。结论

在这项工作中,我们已经表明,先进的计算架构可以帮助CS MRI重建的性能显著改善,特别是优化使用现代许多核心体系结构可以显著减少计算障碍与这类技术。这表明,随着许多核心架构继续发展,CS方法可以用于常规临床MRI实践。虽然CE-MRA是有针对性的在这工作,结果适用于许多其他的含义MRI的应用程序以及其他地区医学影像等剂量减少计算机断层扫描。

确认

提出了一种初步版本的这项工作在36]。梅奥诊所的先进的成像研究中心部分支持的国家健康研究所(RR018898)。作者感谢大卫·霍姆斯三世帮助建立梅奥诊所和英特尔公司之间的合作和斯蒂芬·里德向他们提供访问CAPR磁共振成像数据。

引用

  1. d·c·诺尔(d . g .西村,a . Macovski“零差检测在磁共振成像,”IEEE医学成像,10卷,不。2、154 - 163年,1991页。视图:出版商的网站|谷歌学术搜索
  2. e . j .萤石、j·伯格和t .道,“强大的不确定性原则:准确的信号重建的高度不完整的频率信息,“IEEE信息理论,52卷,不。2、489 - 509年,2006页。视图:出版商的网站|谷歌学术搜索
  3. d . l . Donoho“压缩传感,”IEEE信息理论,52卷,不。4、1289 - 1306年,2006页。视图:出版商的网站|谷歌学术搜索
  4. m·拉斯帝格、d . Donoho和j·m·保利”稀疏MRI:压缩传感的应用快速成像,先生”磁共振医学,卷。58岁的没有。6,1182 - 1195年,2007页。视图:出版商的网站|谷歌学术搜索
  5. m·鲁斯j·桑托斯、d . Donoho和j .保利”快速血管造影术先生与随机采样3 dft轨迹和非线性重建,”14日ISMRM学报科学会议和展览p。695年,西雅图,洗,美国,2006年5月。视图:谷歌学术搜索
  6. t . Cukur m .鲁斯,d . g .西村“改善non-contrast-enhanced稳态自由旋进血管造影与压缩传感,”磁共振医学,卷61,不。5,1122 - 1131年,2009页。视图:出版商的网站|谷歌学术搜索
  7. j . Trzasko c·海德尔,a . Manduca”实际凸压缩传感重建加速播放3 d并行血管造影先生,”《IEEE国际研讨会在生物医学成像2009年7月,页274 - 277。视图:出版商的网站|谷歌学术搜索
  8. j . Trzasko c·海德尔大肠Borisch et al .,“Sparse-CAPR:加速播放4 d CE-MRA并行成像和非凸压传感、”磁共振医学。在出版社。视图:出版商的网站|谷歌学术搜索
  9. a . Bilgin t . Trouard m·阿尔特巴赫和n . Raghunand”动态MRI三维压缩传感,”学报16 ISMRM科学会议和展览安大略省,p . 337》, 2008年5月。视图:谷歌学术搜索
  10. m . Doneva h·艾格斯j .拉姆·B ornert和a . Mertins”高度undersampled 3 d黄金比例径向与迭代重建成像,”学报16 ISMRM科学会议和展览安大略省,p . 336》, 2008年5月。视图:谷歌学术搜索
  11. 研究。金、s s Narayanan和k . s . Nayak”加速上气道三维核磁共振成像使用压缩传感,”磁共振医学,卷61,不。6,1434 - 1440年,2009页。视图:出版商的网站|谷歌学术搜索
  12. c·r·海德尔·h·h·胡:g . Campeau j .休斯顿和s . j . rieder”3 d时间和空间分辨率高对比度增强整个大脑的血管造影术,先生”磁共振医学,60卷,不。3、749 - 760年,2008页。视图:出版商的网站|谷歌学术搜索
  13. 学术界。Chang和j .霁”压缩传感MRI与使用多核处理器,多通道数据”31日年度国际会议的程序IEEE在医学和生物工程协会(EMBC ' 09),页2684 - 2687,明尼阿波利斯,明尼苏达州,美国,2009年9月。视图:出版商的网站|谷歌学术搜索
  14. 学术界。Chang和j .霁”压缩传感MRI与多通道数据使用多核处理器,”磁共振医学,卷64,不。4、1135 - 1139年,2010页。视图:出版商的网站|谷歌学术搜索
  15. k . Pruessmann m .微格p Bornert, p . Boesinger“进步与任意k-space轨迹灵敏度编码,“磁共振医学,46卷,不。4、638 - 651年,2001页。视图:谷歌学术搜索
  16. m·a·格里斯沃尔德p·m·雅各布·r·m·Heidemann et al .,“广义autocalibrating部分平行收购(格拉巴酒),”磁共振医学卷,47号6,1202 - 1210年,2002页。视图:出版商的网站|谷歌学术搜索
  17. m . Murphy k . Keutzer s Vasanawala, m·拉斯帝格”临床可行的重建时间L1-SPIRiT并行成像和压缩传感MRI,”《ISMRM科学会议和展览p。4854年,斯德哥尔摩,瑞典,2010年5月。视图:谷歌学术搜索
  18. m·鲁斯和j .保利”精神:迭代自洽并行成像从任意k-space recosntruction,”磁共振医学,卷64,不。4、457 - 471年,2010页。视图:谷歌学术搜索
  19. j . Trzasko c·海德尔e . Borisch s rieder和a . Manduca“凸压缩传感与并行成像高度4 d CE-MRA加速,”《ISMRM科学会议和展览p。347年,斯德哥尔摩,瑞典,2010年5月。视图:谷歌学术搜索
  20. e . Borisch r·格林·罗斯曼c·海德尔和令人惊艳,“实时通过集群计算大规模可伸缩的磁共振成像重建,”学报16 ISMRM科学会议和展览安大略省,p . 1492》, 2008年5月。视图:谷歌学术搜索
  21. j . Trzasko和a . Manduca”高度undersampled磁共振图像重建通过等位的L0最小化。”IEEE医学成像,28卷,不。1、文章ID 4556634, 106 - 121年,2009页。视图:出版商的网站|谷歌学术搜索
  22. a . van den Bos“复杂的梯度和黑森,”IEE诉讼:视觉、图像和信号处理,卷141,不。6,380 - 382年,1994页。视图:出版商的网站|谷歌学术搜索
  23. d·h·Brandwood”,一个复杂的梯度算子自适应阵列理论及其应用,”IEE诉讼,F,卷130,不。1、16,1983页。视图:谷歌学术搜索
  24. c·r·沃格尔和m·e·阿曼“快速、健壮的总变差重建吵闹,模糊图像,”IEEE图像处理,7卷,不。6,813 - 824年,1998页。视图:谷歌学术搜索
  25. r·沙特朗”稀疏信号的精确重构通过凸极小化”,IEEE信号处理信件,14卷,不。10日,707 - 710年,2007页。视图:出版商的网站|谷歌学术搜索
  26. d·史蒂文森,”二进制浮点运算的IEEE标准,”技术。代表,1985年,http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=30711视图:谷歌学术搜索
  27. Nvidia的CUDA下一代计算架构:费米,2009年。
  28. 特斯拉C2050和C2070计算处理器,2010。
  29. 英伟达,“NVIDIA CUDA编程指南,2.3.1版本,”2009年。视图:谷歌学术搜索
  30. CUDA CUFFT图书馆3.1,2010。
  31. a . Nukada s松岗,“自动三维FFT库CUDA gpu,”高性能计算的会议网络、存储和分析(SC ' 09)ACM,页1 - 10,纽约,纽约,美国,2009年11月。视图:出版商的网站|谷歌学术搜索
  32. l .西勒d . Carmean大肠Sprangle et al .,“生活:很多核心x86架构视觉计算,”SIGGRAPH学报》,27卷,不。3,2008。视图:谷歌学术搜索
  33. k•斯考根ISC 2010主题。
  34. A . c . Chow g . c .将d·A·布罗肯希尔,”一个编程的例子:大FFT在细胞宽带引擎,”IBM 2005。视图:谷歌学术搜索
  35. m .冻结器et al .,“FFTW3的设计和实现,”IEEE学报》,卷93,不。2、216 - 231年,2005页。视图:谷歌学术搜索
  36. d . Kim j . d . Trzasko m . Smelyanskiy c·r·海德尔a . Manduca Dubey p,“高性能三维压缩传感MRI重建,”IEEE,生物医学工程学会学报,页3321 - 3324,布宜诺斯艾利斯,阿根廷,2010年8月。视图:谷歌学术搜索

版权©2011 Daehyun金等。这是一个开放分布式下文章知识共享归属许可,它允许无限制的使用、分配和复制在任何媒介,提供最初的工作是正确引用。


更多相关文章

2276年 的观点| 859年 下载 |20. 引用
PDF 下载引用 引用
下载其他格式更多的
订单打印副本订单

相关文章

我们致力于分享发现相关COVID-19尽可能快速和安全。任何作者提交COVID-19纸应该通知我们help@hindawi.com以确保他们的研究顺利和尽快预印本服务器上可用。我们将提供无限的豁免的出版费用接受COVID-19相关文章。注册在这里作为一个评论家,帮助快速新提交。