在Intel® MIC多核架构上使用OpenMP*库的编程及调优实践

    本文将主要介绍在Intel® MIC多核架构上运行及优化OpenMP*多线程程序的相关技术,且将围绕offload及native两种运行时执行环境展开详解。





  • C/C++
  • OpenMP*
  • Intel® Many Integrated Core Architecture
  • mfense question.

    Want to know in X64, does mfence  instruction flush the CPU cache globally, meaning :-

    If CPU0 does mfence, then does it invalidate its cacheline which contain the shared memory location, which is updated at CPU1. And it also results in CPU1 flush its cache containing that shared memory location ?

    In other words, if CPU0 does mfence, is it going to get the correct shared memory content which is updated at CPU1 ? Or CPU1 which has updated the shared memory, need to do mfence ? 

    Thanks a lot


    New code release

    We are excited to announce the next release of the Intel® OpenMP* Runtime Library at This release aligns with Intel® Parallel Studio XE 2015.



    New Features

    • Contribution from ScaleMP: stack padding.
    • Redesign of wait and release code; performance improvements.

    Bug Fixes

    Compile with Open64?

    Hi everybody,


    I was wondering if I could compile the library with another compiler, let's say Open64 compiler. 

    As it's been documented, it can be compiled with gcc, clang, icc.

    Is the code potentially able to be compiled with Open64 or not? If it is, can you help me out on 

    where I should change the code in order to be able to build binary codes for new compiler (Open64).



    Best Regards,



    how #pragma statements are expanded?


    I was working with your library (Intel OpenMP Runtime Library) and I was wondering how the "#pragma" directives in the code are expanded. What I mean is that since you have mentioned in your Reference document, the pragma directives are expanded to some line of codes? Is that correct? If so, where can I look into the code and find it?

    Let me give your an example: Consider below line of C code,

    #pragma omp parallel

    What will be the equivalent C code in your framework that would be replaced with above line of code? And, where can I find it?


    Good topics for parallel computing

    Hello everyone,

                           I am looking for some good for some good parallel processing projects in the field of signal processing or graph theory and combinatorics or applied maths pertaining to electronics and communication engineering. Can u guys help me suggesting good topics? I am using OpenMP as my language and will later shift to OpenCL.

    with regards,


    订阅 OpenMP*