CUDA 学习(二十)优化策略5: 算法

Posted tiemaxiaosu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CUDA 学习(二十)优化策略5: 算法相关的知识,希望对你有一定的参考价值。

一、概述

       如果要考虑算法,我们需要先思考如下问题:

      (1)、如何将问题分解成块或片,然后如何将这些块分解成线程;

      (2)、线程如何访问数据以及产生什么样的内存模式;

      (3)、算法总共要执行多少工作以及串行化的实现方法有何显著不同;


二、排序

        可用的排序算法有很多,其中有一些可以轻松、高效地在GPU 上实现,但也有很多不适合GPU 实现。


三、归约

       归约是并行程序中一种常用的技巧。我们将通过不同的方法执行归约。可以有基于全局内存的原子加法、线程内归约、基于块数目的归约、使用共享内存的归约。

以上是关于CUDA 学习(二十)优化策略5: 算法的主要内容,如果未能解决你的问题,请参考以下文章

CUDA 学习(二十二)优化策略7: 自调优应用程序

CUDA 学习(二十二)优化策略7: 自调优应用程序

CUDA 学习(二十一)优化策略6: 资源竞争

CUDA 学习(二十一)优化策略6: 资源竞争

CUDA 学习(十五)应用程序性能优化

CUDA 学习(十八)优化策略3:传输