为设计基于固定序的 Bellman-Ford 算法在 CUDA 平台下并行优化方案,结合算法计算密集和数据密集的特点。从核函数计算层 面,提出了访存优化方法和基于固定序优化线程发散;从 CPU-GPU 传输层面,提出了基于 CUDA 流优化数据传输开销方法。经对不同显 卡测试,参照共享内存容量划分线程块、缩减迭代后向量维度和使用 CUDA 流缩短首次计算时延,相比传统算法,改进后并行算法加速 比在 200 倍左右。该并行优化方案验证了固定序在 CUDA 平台具有可行性和可移植性,可作为多平台研究参照。
1
实验5.生成一个100个点,300条边的无向图,对于图中的每个连通分支,计算其中的割点。从连通分支中删除该点,会导致分支不再连通的点被称为割点。 实验6.用局部搜索算法,求一个无向图的最小生成树。生成一个无向连通图,有100个点,1000条边,边上的权重是1到20之间的随机整数。用Kruskal或prim算法求得该图的最小生成树,验证局部搜索算法的对错。 实验7.已知Bellman-Ford算法能判断一个有向加权图是否含有负权重的圈。请设计一个算法,从图中找出一个负圈。图:100个点,500条边,每条边的权重是[-5,5]之间的随机非零整数。要求多次生成这样的随即图,直到发现负圈为止。
2019-12-21 19:34:16 3.08MB 算法导论 Bellman-ford 局部优化 连通分支
1