论文部分内容阅读
随着GPU处理能力和可编程性的不断提高,其应用也慢慢的从图形领域延伸到了需要强大计算能力的高性能计算领域。面对迅猛发展的多核以及GPU,传统的串行编程已经无法满足这日益增长的计算能力。因此,不管是学术界还是工业界,都在寻找一个合适的并行编程模型来解决如何充分有效地利用GPU和CPU资源进行并行计算的难题。CUDA是NVIDIA公司伴随着统一渲染架构的推出的一种通用的GPU编程模型,它绕过了图形流水线,直接对GPU的硬件核心做了一层多线程封装,根据其提供的多线程并行编程接口可以很有效地多线程编程,开发线程级并行性。这种新型的GPU编程模型语法是对C语言的一个极小扩展,降低了程序员利用GPU来做通用计算的学习曲线,使得GPU能够更有效地用于通用计算。本文主要讨论CUDA的编程模型以及其实现机制,通过CUDA来实现实时的光线跟踪算法,绘制具有反射效果的真实感自然场景。本文还利用CUDA来对大量的消息进行并行的快速MD5编码,通过实际的应用来测试CUDA的性能,总结CUDA技术优势和待改进的方面。最后是未来的工作展望,希望通过对目前现有的编程模型的研究,能够设计出一套适合并行计算的能够高效利用现有计算资源的易编程的编程模型。