Using an Accelerator describes how to use the PGI Accelerator compilers. Using MPI describes how to use MPI with PGI products. Using OpenMP provides a description of the OpenMP Fortran parallelization directives and of the OpenMP C and C++ parallelization pragmas, and shows examples of their use. Using Function Inlining describes how to use function inlining and shows how to create an inline library. Optimizing and Parallelizing describes standard optimization techniques that, with little effort, allow users to significantly improve the performance Use Command-line Options provides an overview of the command-line options as well as task-related lists of options. Getting Started provides an introduction to the PGI compilers and describes their use and overall features. This guide contains the essential information on how to use the compiler and is divided into these sections: However, once you have this knowledge and understanding, you very likely might find yourself wanting to know much more about Knowing how as well as why you might use certain options or perform certain tasks is key to using the PGI compilers and tools effectively and efficiently. Users typically begin by wanting to know how to use a product and often then find that they need more information and factsĪbout specific areas of the product. ISO/IEC 14882:2011, Information Technology – Programming Languages – C++, Geneva, 2011 (C++11).ISO/IEC 9899:2011, Information Technology – Programming Languages – C, Geneva, 2011 (C11).
The Fortran 2003 Handbook, Adams et al, Springer, 2009.Fortran 95 Handbook Complete ISO/ANSI Reference, Adams et al, The MIT Press, Cambridge, Mass, 1997.ISO/IEC 1539-1 : 2010, Information technology – Programming Languages – Fortran, Geneva, 2010 (Fortran 2008).ISO/IEC 1539-1 : 2004, Information technology – Programming Languages – Fortran, Geneva, 2004 (Fortran 2003).ISO/IEC 1539-1 : 1997, Information technology – Programming Languages – Fortran, Geneva, 1997 (Fortran 95).ISO/IEC 1539-1 : 1991, Information technology – Programming Languages – Fortran, Geneva, 1991 (Fortran 90).American National Standard Programming Language FORTRAN, ANSI X3.Refer to the Release Notes and Installation Guide included withįor further information, refer to the following: While declaring such a variable as volatile ensures that the compiler will not optimize accesses to it away, it does not guarantee atomic access to it.Your system needs to be running a properly installed andĬonfigured version of this PGI product. the interrupt status will be restored to the same value it had when entering the respective block (unless ATOMIC_FORCEON or NONATOMIC_FORCEOFF are used).Ī typical example that requires atomic access is a 16 (or more) bit variable that is shared between the main execution path and an ISR. Exit paths from both block types are all managed automatically without the need for special considerations, i. These macros operate via automatic manipulation of the Global Interrupt Status (I) bit of the SREG register.
#CODEBLOCKS COMPILER OPTIMIZATION FLAGS CODE#
The term "Atomic" in this context refers to the unability of the respective code to be interrupted. The macros in this header file deal with code blocks that are guaranteed to be excuted Atomically or Non-Atmomically. For that reason, this header file can only be used if the standard level of the compiler (option –std=) is set to either c99 or gnu99. #include Note The macros in this header file require the ISO/IEC 9899:1999 ("ISO C99") feature of for loop variables that are declared inside the for loop itself.