《表2 单次SpMV计算时间》
/ms
对于大型稀疏方程组,采用调用GPU kernel的方式计算一次Sp MV,其中,HEC存储格式表示划分一次ELL,将矩阵A划分为ELL和CSR两部分存储。因实验条件的限制,随着划分次数的增多,采用MATLAB进行处理的时间也越长,所以划分的次数有合适的阈值p,因本文所采用矩阵的行数在六百到二十万的量级间,经本文实验可知,p取2或3为宜,这里p取2,即将HMEC格式划分两次ELL格式的方式,计算时间如表2所示。由表2可知,虽然ELL格式非常适合特征为矢量的结构,但是当稀疏矩阵每行的非零元素值的数目变化特别大时,ELL格式就会丧失这种高效性。当稀疏矩阵A的非零元数较少,即小于一定的阈值k时,CSR存储格式所需的时间最少;当稀疏矩阵A的非零元数较多,即大于一定的阈值时,本文提出的稀疏矩阵存储格式所需的时间最少,在本实验中,阈值k取30 000左右适宜。原因是CSR格式只需存储矩阵A中非零元的值、列和行偏移,当非零元数较少时,存储的数据量也较少,有较快的计算速度;当非零元数较多时,随着存储的数据量的增多,CSR格式的求解速度受到了一定的制约,而HMEC存储格式因拥有ELL格式更善于并行计算的优势,且经多次划分ELL格式后,只需存储稀疏矩阵A中非零元的值和列,存储的数据量较少,拥有更快的并行计算速度。
图表编号 | XD00107252400 严禁用于非法目的 |
---|---|
绘制时间 | 2019.11.01 |
作者 | 程凯、田瑾、吴飞、汪茹、李洪芹 |
绘制单位 | 上海工程技术大学电子电气工程学院、上海工程技术大学电子电气工程学院、上海工程技术大学电子电气工程学院、上海工程技术大学电子电气工程学院、上海工程技术大学电子电气工程学院 |
更多格式 | 高清、无水印(增值服务) |