1.一种稀疏矩阵向量乘并行任务粒度参数自动调优方法,其特征在于,具体包括,S1:预测模型构建步骤使用机器学习的方法构建预测模型,在统计特征取值空间X和并行任务粒度最佳取值空间Y之间,构建预测模型f:X→Y,其中,使用x(x 1 ,x 2 ,…,x i ,…x n )来代表稀疏矩阵的n维统计特征向量x,x i 表示统计特征取值,其下标i=1,2,…,n,使用y表示任务粒度,其中i、n为正整数;S2:统计特征取值获取步骤对矩阵原始数据文件进行分析,获取矩阵的统计特征取值;统计特征取值用来刻画稀疏矩阵,由矩阵的非零元分布信息组成;S3:最佳任务粒度参数预测步骤对于一个待计算稀疏矩阵,将获取的统计特征取值输入预测模型,预测出使用该矩阵统计特征取值作为输入时SpMV程序的最佳并行任务粒度参数取值;在SpMV程序启动初始阶段,获取输入稀疏矩阵的统计特征取值向量x,将x输入到预测模型中,输出结果y 0 即为SpMV使用该矩阵作为输入时的任务粒度最佳取值;S4:配置步骤根据最佳任务粒度参数预测步骤的预测结果,调整并行运行时系统的任务粒度参数;所述的预测模型构建步骤,具体包括,S11:选择矩阵统计特征S12:生成训练数据训练所需的数据包括稀疏矩阵的统计特征取值和对应矩阵的最优任务粒度;对每一个稀疏矩阵,使用穷举搜索方法遍历任务粒度取值空间,从中选出使SpMV运行性能最高的取值,作为任务粒度的最佳取值;稀疏矩阵的统计特征取值则可以从读取的稀疏矩阵中计算得到;在进行训练前,对矩阵统计特征取值进行标准化处理;S13:运用机器学习算法训练模型使用机器学习方法构建预测模型,用来识别稀疏矩阵的统计特征取值和任务粒度最佳取值之间的关系;将矩阵统计特征取值和最优任务粒度作为机器学习算法的输入,训练得到最优任务粒度预测模型;所使用预测模型为随机森林模型、神经网络或支持向量机。
2.如权利要求1所述的稀疏矩阵向量乘并行任务粒度参数自动调优方法,其特征在于:所述矩阵统计特征包括稀疏矩阵行数、稀疏矩阵列数、稀疏矩阵非零元占比、稀疏矩阵行非零元最小数、稀疏矩阵行非零元最大数、稀疏矩阵平均每行非零元数、稀疏矩阵平均每行非零元数标准差。
3.一种基于机器学习的稀疏矩阵向量乘并行任务粒度参数自动调优装置,其特征在于,包括:预测模型构建模块,用于使用机器学习的方法构建预测模型,该模块在统计特征取值空间X和并行任务粒度最佳取值空间Y之间,构建预测模型f:X→Y,其中,使用x(x 1 ,x 2 ,…,x i ,…x n )来代表稀疏矩阵的n维统计特征向量x,x i 表示统计特征取值,其下标i=1,2,…,n,使用y表示任务粒度,其中i、n为正整数;统计特征取值获取模块,对矩阵原始数据文件进行分析,获取矩阵的统计特征取值;统计特征取值用来刻画稀疏矩阵,由矩阵的非零元分布信息组成;最佳任务粒度参数预测模块,对于一个待计算的稀疏矩阵,将获取的统计特征取值输入预测模型,预测出使用该矩阵统计特征取值作为输入时SpMV程序的最佳并行任务粒度参数取值;在SpMV程序启动初始阶段,获取输入稀疏矩阵的统计特征取值输向量x,将x输入到预测模型中,输出结果y 0 即为SpMV使用该矩阵作为输入时的任务粒度最佳取值;配置模块,根据预测结果,调整并行运行时系统的任务粒度参数;所述的预测模型构建模块,其具体执行如下步骤:S11:选择矩阵统计特征S12:生成训练数据训练所需的数据包括稀疏矩阵的统计特征取值和对应矩阵的最优任务粒度;对每一个稀疏矩阵,使用穷举搜索方法遍历任务粒度取值空间,从中选出使SpMV运行性能最高的取值,作为任务粒度的最佳取值;稀疏矩阵的统计特征取值则可以从读取的稀疏矩阵中计算得到;在进行训练前,对矩阵统计特征取值进行标准化处理;S13:运用机器学习算法训练模型使用机器学习方法构建预测模型,用来识别稀疏矩阵的统计特征取值和任务粒度最佳取值之间的关系;将矩阵统计特征取值和最优任务粒度作为机器学习算法的输入,训练得到最优任务粒度预测模型;所使用的预测模型训练算法为随机森林模型、神经网络或支持向量机。
4.如权利要求3所述的基于机器学习的稀疏矩阵向量乘并行任务粒度参数自动调优装置,其特征在于:所述矩阵统计特征包括稀疏矩阵行数、稀疏矩阵列数、稀疏矩阵非零元占比、稀疏矩阵行非零元最小数、稀疏矩阵行非零元最大数、稀疏矩阵平均每行非零元数、稀疏矩阵平均每行非零元数标准差。