【技术实现步骤摘要】
一种基于手动向量化的并行计算方法
本专利技术涉及高性能计算领域,尤其涉及一种基于手动向量化的并行计算方法。
技术介绍
并行计算中的向量化的方法目前一般以优化循环结构为主,循环体中有复杂的关键字、操作、数据访问和内存操作等,都会影响对程序的相关性分析和向量化分析,从而不利于用户或编译器对程序进行向量化。例如,在if-else或switch-case等结构中一般优化效果不好。且程序中一般含有大量函数调用,一般只能在最内层函数做相关性分析后进行手动向量化,在改变程序相关性后,可将函数内的变量替换、操作替换,数组扩展等优化方法使函数展开或合并的方式进行优化。以上所有操作执行之前都需要进行向量对界操作,并人工确认算法正确性之后,才能进行SIMD扩展操作。现有技术方案有:方案1:对for循环结构中的变量替换方式进行手动向量化,一般将循环展开成向量寄存器的倍数进行优化。该方案可有效优化循环结构中的计算部分,但如果循环中有函数调用则实现起来比较复杂。方案2:操作替换的方式进行手动向量化。虽然能解决更多的循环结 ...
【技术保护点】
1.一种基于手动向量化的并行计算方法,其特征在于,所述方法包括:/n步骤1:运用分析工具分析程序的热点程序,分析工具包括Intel平台的Vtune工具或神威·太湖之光系统中的Gprof工具,并记录热点程序中所有数组元素字长;/n步骤2:根据任务精度要求,采用降精度或扩大精度的方式对热点程序中的数组进行对界操作,便于后续进行向量化优化;/n步骤3:找到热点程序中核心函数调用的位置,若程序中有按宏条件处理不同函数,则在不影响性能的情况下先合并不同精度函数,简化后续向量化操作,然后在各个宏之下对各个函数分别进行向量扩展;/n步骤4:将热点程序中的核心函数所调用的标准数学库函数中的 ...
【技术特征摘要】
1.一种基于手动向量化的并行计算方法,其特征在于,所述方法包括:
步骤1:运用分析工具分析程序的热点程序,分析工具包括Intel平台的Vtune工具或神威·太湖之光系统中的Gprof工具,并记录热点程序中所有数组元素字长;
步骤2:根据任务精度要求,采用降精度或扩大精度的方式对热点程序中的数组进行对界操作,便于后续进行向量化优化;
步骤3:找到热点程序中核心函数调用的位置,若程序中有按宏条件处理不同函数,则在不影响性能的情况下先合并不同精度函数,简化后续向量化操作,然后在各个宏之下对各个函数分别进行向量扩展;
步骤4:将热点程序中的核心函数所调用的标...
【专利技术属性】
技术研发人员:杨昊,唐旭东,吴济良,
申请(专利权)人:成都信息工程大学,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。