论文部分内容阅读
自上世纪末,双核CPU(Central Processing Unit)面世,CPU的竞争转移到内核数目的竞争上,CPU核数逐渐变得越来越多,电脑步入了多核以及众核时代。由于并行程序设计可以充分利用CPU所有核的性能,使应用程序更快的运行,所以它成为了最主要的程序设计模式。医学影像数据具有:数据量大、数据规整、计算量大以及多数计算符合SIMD(single instruction,multiple data)模式等特点。这些特点使得医学影像处理非常适合利用多线程和SSE(Streaming SIMD Extensions)优化。而且,随着医疗仪器的发展,医学影像数据越来越大,人们迫切要求提高数据的处理速度。本文主要研究任务就是通过并行技术解决医学影像处理速度的问题。本文研究的医学影像处理库基于Intel Ct并行开发环境,通过Ct编写并行程序,利用Ct自动完成多线程和SSE优化,从而达到提高影像处理速度的目的。本文首先阐述了课题研究背景及相关领域国内外发展动态,指出医学影像处理引进并行技术的必然趋势;其次介绍了Intel Ct开发环境,包括Ct特点,优化原理,编码方法和技巧;然后阐述了医学影像处理库的整体结构设计,对该库的整体设计进行分析;重点讨论了各个算法并行化的方法以及并行后的性能,以计算模式来分类,用实验数据说明了各种模式并行化的效果;最后举例展示了该库的实际应用。本文解决了三个方面的问题:第一,本文简单介绍了Intel Ct以及在基于Ct编程过程中总结的技巧。Intel Ct是Intel公司正在开发的一款并行编程软件,它面对最新的多核以及众核CPU架构,自动完成多线程和SSE优化,使程序员轻松地开发出高效的并行程序。第二,开发出并行医学影像处理库,整理了串行和并行医学影像处理的算法,算法涵盖了图像转换,滤波,分割,几何学,形态学和配准等方面内容,重点介绍了并行处理的设计思路;第三,通过各种计算模式的代码,用实验数据分析了各种计算模式并行的性能,并且证明了Intel Ct提高了代码性能的透明性。