矩阵乘法的重要性不用多说了,这篇文章旨在使用支持CPU的OpenMP,进行并行化的矩阵相乘,比较了分块和不分块并行化。 1.1 串行矩阵乘法 在计算机编程中,使用i-j-k形式进行矩阵乘法是一种常见的方法。这种方法涉及三层嵌套循环,分别用于遍历矩阵A的行(i)、矩阵B的列(j)和A的列/B的行(k)。一个简单的串行矩阵乘...
总结: 我们用openmp完成了矩阵乘法的简单并行,获得6倍左右的加速。接着用CUDA完成了矩阵乘法,但是当然会存在很多问题,GPU浮点数运算的精度很差,使用了Kahan's Summation Formula在一定程度上解决了CUDA运算float精度不够的情况。 下篇我们会着手去解决GPU内存访问和速度优化问题~ ...
并行程序设计方法实验(包括openmp、向量化实现pi计算、SPECOMP2012测试、矩阵乘法优化),程序员大本营,技术文章内容聚合第一站。