中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

系统调优方法

通常GPU优化都涉及两大需求,首先是CPU代码如何使用CUDA进行改造,第二个是已有的CUDA代码如何进行加速,APOD优化流程就是为了应对这两个需求而诞生的,该优化流程要求每次只并行化当前的最主要性能瓶颈。比如一个老代码/项目,有10处运行缓慢的地方,需要先找出其中的最主要影响速度/最慢的地方,而暂时忽略剩下9处。这样做的好处是,每次都可以观察到看到优化成果,而不至于一次性的积攒太多的优化任务。

  • 评估(Assess):对于一个项目,第一步要做的是评估,得到项目代码中每部分的执行时间。有了这部分内容,开发者就可以找到并行优化的瓶颈所在,并开始尝试用GPU进行加速。根据前面提到的阿姆达尔定律和古斯塔夫森定律,可以确定并行优化的性能上界。
  • 并行化(Parallelize):找到瓶颈所在并确定优化的目标和期望,就可以优化代码。调用一些GPU加速库(如cuBLAS,cuFFT或者Thrust)可能会很有效。另一方面,有些应用需要开发者重构代码,这一步主要是暴露可以被并行优化的代码。
  • 实现(Optimize):确定了需要被并行优化的部分之后,就要考虑具体的实现方式了。具体的实现方式通常只有一种,所以需要充分理解应用的需求。APOD是一个反复迭代的过程(找到可以优化的点,实现并测试优化,验证优化效果,然后再重复)。因为对于开发者来说,没有必要最初就找到解决所有性能瓶颈的策略。优化可以在不同的level上进行,配合性能分析工具是很有帮助的。
  • 验证(Deploy):大的原则是当优化完一处之后,立刻将这一部分代码部署到生产环境,而不是再去寻找其他可以优化的地方。这样做有很多重要的原因,比如这会使得用户尽早从这个优化中收益。逐步迭代的方式,有助于减少风险,保证线上的稳定性。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词