cuda课堂作业:
优化方案 | 训练时间 | 总体正确率 | 相对CPU加速比 |
---|---|---|---|
CPU串行 | 80.791s | 0.9416 | 1.0 |
优化方案1 | 44.715s | 0.9430 | 1.986 |
优化方案2 | 12.506s | 0.9432 | 6.460 |
优化方案3 | 10.560s | 0.9432 | 7.651 |
优化方案4 | 6.509s | 0.9431 | 12.412 |
优化方案5 | 5.672s | 0.9405 | 14.244 |
从表可以看出,最终在GPU上优化结果比cpu串行程序快了14倍左右。在进行cuda优化时,考虑到大部分时间都是在进行cpu与gpu间的数据交互,我们要减小这种数据交互,以此来减小时间开销;同时要充分利用GPU的计算资源,增大block的数目,增加每个SM常驻线程快的数目来最大化并行性,提高运算速度。