GPU软件服务

GPU高性能计算体系是已经被实践证明可以持续通往性能之路的成功模式。容天的客户利用采用英伟达TESLA计算卡的GPU高性能计算平台已经获得了单纯CPU平台200倍的性能提升。容天的GPU软件移植服务包括深入理解和分析您的算法和性能目标,进行软件的重写和深度调优,必要的时候还可以对您的算法进行优化。

应用程序的移植方法:


软件移植的TCO分析:是否值得?
案例研究

混合计算架构的CAPEX-OPEX 分析
建设成本 (CAPEX) 包括:

• 系统购置成本
• 软件迁移成本
• 软件购置成本
• 培训成本
• 基建成本


运营成本(OPEX)包括:


• 能源成本 (系统能耗和冷却)

• 维护成本 (系统维护和技术支持)


图片1


对于定量的计算工作,CAPEX-OPEX分析可以计算出总拥有成本TCO:添加GPU是否可以为我省钱?我应该加多少GPU?我是否应该使用低端CPU或者使用更少的内存?

应用程序加速和CAPEX-OPEX

一方面,在系统中添加GPU会增加系统成本和基础能源的消耗(一个GPU=10倍的瓦特耗损),代码还必须进行迁移。

另一方面,GPU的加入减少了执行时间,这对能耗相当关键,因为减少了的计算节点数量和简化了的网络架构,在完成同样计算任务的时候,可能带来更加划算的成本投入。

另外,如果您的应用程序得到了加速,这种加速将会缩短您的研究成果的开发周期,无形中也增加了整个系统生命周期中的工作量,这部分利益和成本是不容易察觉和计算的。

CAPEX: 硬件参数

异构系统被广泛应用,其在硬件上的主要选择无外乎以下几种配置:高端CPU+高端GPU(昂贵的节点),低端CPU+高端GPU,高端CPU+低端GPU,低端CPU+低端GPU,高端CPU,低端CPU。另一个需要考虑的参数是节点的性能,节点的性能直接影响到节点数量的选择,更多的节点意味着更多的不可忽略的网络投入和能源消耗,更少的节点可以限制可能的扩展性问题。应用程序的工作负载分析是唯一解决办法:软件优化可以显著提高性能,从而减少硬件的投入,因此代码移植是最为关键的一步。


CAPEX: 代码迁移成本

迁移成本包括学习成本、软件环境成本和移植成本,这些是和硬件规模极度相关的:它本身和建设专用大型系统的问题没有关联,但是如果你的目标是服务于更大的团体(更多参加培训的人、更多的需要移植的应用程序……),那就必须要扩大规模。

迁移最大的好处是突出了多核并行,而且这种好处不是针对某一种特定的设备,实施将会具体到每一个架构的实施,所以硬件的摊销周期和其中的一个硬件类似,大约3年。

此外,如果采用智能的方式部署应用程序还可以跨越几代的硬件,摊销周期甚至可以达到10年,当然不同程度的微调还是必须的。

事实上,迁移成本对小规模系统的总拥有成本有着显著的影响,用科学的方法和流程进行移植会最大程度降低您的风险和保护您的投资。


CAPEX-OPEX研究:

所有对比都是基于相当的计算任务负载:

CAPEX = 系统成本 + 迁移成本 (4 节点)
OPEX   = 能耗成本 (电源 + 冷却) + 维护成本 (10% 的系统成本)

 

 

样例 1: 非常值得GPU移植   
 
第一个应用是个非常适合GPU,并且提速显著的程序。

移植的代码是关于热传导模拟,可以被看做是求解数值积分的蒙特卡洛算法,代码是基于MPI的。

迁移成本是一个人月。

ManycorePorting1

第一个案例,GPU带来的额外的成本(同时带来4倍的价值)非常容易地被摊销,而且盈亏平衡点甚至更倾向于使用更小型的机器。

样例 2: 不值得做移植    
 
第二个程序是三维流体动力学代码,用于模拟天体物理中的流体流动。

这个MPI代码可以适度有效地使用GPGPU。

迁移成本是两个人月。

ManycorePorting2
1.5倍的提速不能匹配性价比的改善。


结论

如果您的应用程序移植到GPGPU上有2倍以上的提速,那么答案是“YES”。

CAPEX-OPEX主要的因素是:

• 应用程序的加速比: 初步的数据表明提速>2倍,GPU就是有价值的;
• GPU成本;
• 迁移/开发成本.

迁移成本对于小型系统来说可能影响较大,如果一旦发展成为大的系统,那迁移成本基本可以忽略不计了。另外在任何情况下,迁移操作都必须考虑CPU。

异构计算是通过对应用特性加入更多的敏感性,和对开发人员施加更多的压力,从而达到扩大配置空间的目的。

另外我们始终要注意的是,这个最初结论会受到象最新的软件级别的能耗控制、云计算或者CPU和GPU的融合等最新的科学技术的影响而发生变化。

如果您对把您的代码移植到GPU上感兴趣,请联系我们。