发布于 2015-05-12 04:17:23 | 303 次阅读 | 评论: 0 | 来源: 网友投递
LLVM 编译器架构
LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time),对开发者保持开放,并兼容已有脚本。
OpenMP 3.1 在 clang/llvm 编译器上的功能完全实现!OpenMP 3.1标准于2011年获得批准,它支持几乎所有的跨核和多处理器系统,并且有良好的性能与可移植性。
OpenMP 是由 OpenMP Architecture Review Board 牵头提出的,并已被广泛接受的,用于共享内存并行系统的多线程程序设计的一套指导性注释 (Compiler Directive)。OpenMP支持的编程语言包括 C 语言、C++和 Fortran;而支持OpenMP 的编译器包括 Sun Compiler,GNU Compiler 和 Intel Compiler 等。OpenMP 提供了对并行算法的高层的抽象描述,程序员通过在源代码中加入专用的 pragma 来指明自己的意图,由此编译器可以自动 将程序进行并行化,并在必要之处加入同步互斥以及通信。当选择忽略这些pragma,或者编译器不支持OpenMP时,程序又可退化为通常的程序(一般为串行),代码仍然可以正常运作,只是不能利用多线程来加速程序执行。
Source:http://lists.cs.uiuc.edu/pipermail/cfe-dev/2015-May/042845.html