欢迎阅读本书。本书的目标是让你亲身参与个人高性能计算(personal high-performance computing,phpc)。如果你跟随我们的cuda世界之旅,只需一台基本的游戏级计算机,你就可以执行大规模并行计算并从中获益。这种规模的计算任务在几年之前是需要超级计算机才能完成的。本书包含的内容能够帮助你去阅读更高深的cuda著作并开发自己的cuda项目。
首先,介绍一下cuda以及我们的教学策略。
cuda是英伟达公司为促进高性能并行计算的普及所创建的支持并行计算的软硬件平台。cuda的硬件方面涉及显卡上配备的一个或多个兼容cuda的图形处理器(graphics processing units,gpu)。英伟达cuda工具箱软件则提供了基于c/c++编程语言的开发环境[1]。
cuda使用的基于gpu方式的大规模并行计算也是很多最快和最节能超级计算机所采用的关键技术。核心的度量准则已经从每秒浮点计算次数(flops)转变为每瓦电能的每秒浮点计算次数(flops/watt,即计算的总量除以消耗的能量)。而gpu并行方式在每瓦电能的每秒浮点计算次数上具有优势。实际上,在2012年6月到2013年12月期间,全世界最节能的10大超级计算机从刚开始的完全基于ibm的绿色基因系统(配有powerpc cpu)转变成基于英伟达公司的gpu系统[2]。在这个快速转换为gpu计算的过程中,计算能力与电能消耗的比率已经翻了两番,并在持续增长。