基于指导语句的函数向量化技术研究  

Research on Function Vectorization Technology Based on Directive Statements

在线阅读下载全文

作  者:刘丽丽 单征[1] 李颖颖 武文浩 刘文博 LIU Lili;SHAN Zheng;LI Yingying;WU Wenhao;LIU Wenbo(PLA Strategic Support Force Information Engineering University,Zhengzhou 450001,China;National Research Center of Parallel Computer Engineering Technology,Wuxi,Jiangsu 100190,China)

机构地区:[1]解放军战略支援部队信息工程大学,郑州450001 [2]国家并行计算机工程技术研究中心,江苏无锡100190

出  处:《计算机科学》2025年第5期76-82,共7页Computer Science

基  金:2024年先进计算与智能工程实验室(ACE)项目。

摘  要:随着处理器技术的不断发展,SIMD(Single Instruction Multiple Data)向量化已经在各个领域得到广泛的应用。然而,过去的研究主要集中在循环和基本块上,而全函数向量化可以更好地利用SIMD指令的优势,从而提高应用程序的性能。文中提出了一种基于指导语句的函数向量化方法。首先,在涉及函数调用的循环上加上一种较为简单的指导语句,即可对循环中涉及函数调用的指令进行向量化。其次,对于被调函数的向量化采用全函数向量化的方式,生成向量化的全函数而不是对其内联。最后,处理循环中的函数调用点,生成向量化的函数调用指令。这种方法可以充分利用SIMD指令的优势,提高应用程序的性能。从ISPC基准测试和SIMD库基准测试中选取了10个基准测试来评估所提方法,实验结果表明该方法与标量相比,平均加速比达到了6.949倍。With the continuous development of processor technology,SIMD(Single Instruction Multiple Data)vectorization has been widely applied in various fields.However,previous research has mainly focused on loops and basic blocks,while full-function vectorization can better exploit the advantages of SIMD instructions,thereby improving application performance.This paper proposes a guided statement-based function vectorization method.Firstly,a relatively simple guided statement is added to the loop involving function calls,which can vectorize the instructions involving function calls in the loop.Secondly,the vectorization of the called function is achieved by using full function vectorization to generate a vectorized full function instead of inlining it.Finally,the function call instructions in the loop are processed to generate vectorized function call instructions.We selected 10 benchmarks from ISPC benchmark tests and SIMD library benchmark tests to evaluate our method,and the experimental results show that compared to scalar,the average speedup achieved is 6.949 times.

关 键 词:函数向量化 SIMD 自动向量化 

分 类 号:TP312[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象