1# OpenMP简介 2<!--Kit: NDK Development--> 3<!--Subsystem: arkcompiler--> 4<!--Owner: @yangming4249--> 5<!--Designer: @ychen3---> 6<!--Tester: @zsw_zhushiwei--> 7<!--Adviser: @fang-jinxu--> 8 9[OpenMP(Open Multi-Processing)](https://www.openmp.org/)是一套支持跨平台共享内存方式的多线程并发的编程API,由一套编译器指令、库和一些能够影响运行行为的环境变量构成,提供了对并行算法的高层抽象描述,适合在多核CPU机器上的并行程序设计。编译器根据程序中添加的pragma指令,自动将pragma指令标记的程序片段并行处理,使用OpenMP可以降低并行编程的复杂度。 10 11## 使用场景 12 13OpenMP广泛应用于科学计算、图像处理、机器学习、金融计算、生物信息学等需要高性能计算的领域,尤其适合解决计算密集型任务和数据并行问题。它通过简化多核并行化的开发流程,帮助开发者高效利用现代处理器的多核资源,解决了传统并行编程中线程管理复杂、任务负载不均、性能瓶颈等问题。借助OpenMP的灵活调度机制和跨平台支持,程序能够显著提升性能,同时保持代码的简洁性和可移植性,是提高开发效率和计算效率的关键工具。 14 15## 版本说明 16 17当前Openharmony中的OpenMP库采用[llvm 15.0.4](https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.4)中的实现,对应OpenMP API版本请参考[clang-OpenMPSupport](https://clang.llvm.org/docs/OpenMPSupport.html)。 18 19Openharmony应用中使用OpenMP请参考[OpenMP应用构建和运行指南](./openmp-guideline.md)。