OMPi is a lightweight, open source OpenMP compiler and runtime system for C; it takes C source code with OpenMP #pragmas and produces transformed multithreaded C code, ready to be compiled by the native compiler of the system.
Here you can find short installation and usage guides, as well as some douments about OMPi internals. More documentation is provided within the source distribution, found in our download page.
V.V. Dimakopoulos, E. Leontiadis and G. Tzoumas, “A portable C compiler for OpenMP V.2.0”, in Proc. EWOMP 2003, 5th European Workshop on OpenMP, Aachen, Germany, Sept. 2003, pp. 5–11
You can also view all related publications.
- Extract the package
gunzip zxvf ompi-X.Y.Z.tar.gz
- Configure the package (see below for advanced configuration options)
- Compile and install the package
make make install
- Make sure
‹install-dir›/binis in your PATH
For information about the configure script, see INSTALL in the bundled documentation.
ompicc [-k] [-v] [--ort=‹libname›] ‹cc-flags› files.c
ompicc -o executable file1.c file2.c
- all (g)cc flags
-k: the generated (transformed) file is kept after compilation
-K: all intermediate generated files are kept after compilation
-v: be verbose (shows all steps of the translation process)
--ort=‹libname›: use an alternative runtime library (see details below)
--devs="‹name› ‹name› ...": target the given devices
--devinfo: show information about configured devices.
Below you can find documentation about the internal workings of OMPi. The guides are suitable for developers that want to modify OMPi in some way, e.g. its source-to-source translator and/or its runtime libraries.
Please notice that the documentation below is not quite up-to-date but should nevertheless be useful. You may contact the team for further inquiries.