论文部分内容阅读
汽车车身覆盖件的冲压生产是整车制造中的重要过程。利用有限元方法对车身覆盖件成形过程进行仿真,可以提高产品设计效率,降低生产成本。并行计算的发展为这一领域提供了更快的求解方法。本文研究了板材冲压成形动力显式算法在异构平台上的并行计算方法,提出了一种基于任务划分策略的异构平台协同并行算法,显著地提升了算法的计算效率。论文基于具有自主知识产权的板材冲压成形KMAS软件,针对其中的Incremental模块进行算法重构和并行化改造。相比较于原版程序使用的Fortran语言,C语言具有更好的通用性,对并行框架的支持更好,本文首先进行算法从Fortran语言进行向C语言平台的过渡,通过混合调用完成源码的翻译和平台演进。在此基础上,基于模块化、并行化和面向对象的思想对程序进行数据结构、算法、程序架构的重构,提高了算法的可读性、可扩展性和并行度。其次,对多种并行框架进行研究,重点研究了OpenMP多核CPU并行和基于CUDA平台的GPU并行方法。通过对动力显式算法流程的分析,确定了串行程序并行化的改造策略。基于OpenMP实现了板材冲压成形算法在多核CPU下的并行计算,然后基于CUDA框架下实现了CPU主控,GPU并行协处理的板材冲压成形并行算法。最后,论文提出了CPU-GPU异构平台上基于任务划分策略的协同并行板材冲压动力显式成形仿真算法,综合两种并行方法,最大程度地利用了计算机的计算资源,进一步释放了计算机的潜能。同时研究了任务区的划分算法和CPU-GPU的负载均衡策略,针对异构协同的性能瓶颈“数据同步”进行优化设计,显著地提升了算法的计算效率。论文以VS2010. CUDA5.0为平台,使用C/C++等编程语言对上述所有算法进行实现,并以方盒和汽车翼子板冲压成形为算例验证了算法的正确性和高效性,对不同的并行方式进行结果对比,同时研究了不同计算规模下计算加速比的变化趋势。实践证明,本文提出的异构平台协同算法具有高效性和优越性,对于大规模算例最高可以达到28倍的性能加速。对于有限元算法的重构和并行优化具有很大的借鉴意义和实际价值。