高级检索
毕玉莉, 刘嘉政, 杨义军, 曾薇, 雍俊海. 基于多线程加速的STEP标准并行解析算法[J]. 计算机辅助设计与图形学学报, 2023, 35(12): 1842-1850. DOI: 10.3724/SP.J.1089.2023.2023-00037
引用本文: 毕玉莉, 刘嘉政, 杨义军, 曾薇, 雍俊海. 基于多线程加速的STEP标准并行解析算法[J]. 计算机辅助设计与图形学学报, 2023, 35(12): 1842-1850. DOI: 10.3724/SP.J.1089.2023.2023-00037
Bi Yuli, Liu Jiazheng, Yang Yijun, Zeng Wei, Yong Junhai. A Parallel Algorithm to Parse STEP Files Based on Multiple Threads[J]. Journal of Computer-Aided Design & Computer Graphics, 2023, 35(12): 1842-1850. DOI: 10.3724/SP.J.1089.2023.2023-00037
Citation: Bi Yuli, Liu Jiazheng, Yang Yijun, Zeng Wei, Yong Junhai. A Parallel Algorithm to Parse STEP Files Based on Multiple Threads[J]. Journal of Computer-Aided Design & Computer Graphics, 2023, 35(12): 1842-1850. DOI: 10.3724/SP.J.1089.2023.2023-00037

基于多线程加速的STEP标准并行解析算法

A Parallel Algorithm to Parse STEP Files Based on Multiple Threads

  • 摘要: 当前CAD软件加载大型STEP中性文件时速度慢,其效率瓶颈关键在于其解析算法.针对基于单线程的中性标准解析算法已经远远不能满足当前CAD应用需求的问题,提出了一种基于多线程的分层并行数据解析算法,利用当前主流CPU都采用的多核并行架构,大幅提升了STEP文件解析效率.根据模型体中数据的分层特性,算法利用线程池对各层数据解析进行并行加速.文中算法已经在开源几何引擎OpenGE中实现.与OpenCASCADE的对比实验验证了文中算法的有效性.实验结果表明,算法的并行解析程序运行速度相比串行解析程序运行速度提升至原算法的2倍,比OpenCASCADE解析算法快50%.

     

    Abstract: Current CAD software is slow to load large STEP neutral files, and its efficiency bottleneck lies in its analytic algorithm. The parsing algorithm based on single thread cannot meet the requirements of CAD application. This paper proposes a hierarchical parallel data parsing algorithm based on multithreading, which makes use of the multi-core parallel architecture adopted by current mainstream CPUs, and greatly improves the efficiency of STEP file parsing. According to the hierarchical characteristics of data in the model, the parallel acceleration of data parsing at each layer is carried out by using thread pool. The algorithm in this paper has been implemented in open source geometry engine OpenGE. In this paper, comparison between our algorithm and OpenCASCADE is performed to verify the running effects of the parallel algorithms. The experimental results show that the running speed of the parallel parsing program is about one times faster than that of the serial parsing program based on single thread and about one and a half times faster than that of OpenCASCADE.

     

/

返回文章
返回