UK National HPC Service

Computer Services for Academic Research Logo
Home | Helpdesk | Machine Status | Search | Apply



OpenMP is one of the emerging standards in shared memory programming. It has a simple API composed of a small set of runtime library routines, compiler directives and environment variables to achieve multi-threaded shared memory parallelism in C/C++ and Fortran codes. OpenMP is a standard that is maintained by the OpenMP Architecture Review Board which consists of a number hardware and software vendors. It's simple interface quickly allows codes to be parallelised gaining decent scalability on small numbers of processors.

Restrictions on Use

Not all the OpenMP 2 features are in the compilers available on our system, for instance the workshare directive is not available on Newton.

Set Up Procedure

Library calls and/or compiler directives are been inserted into the code and are then activated by inclusion of the -mp flag on the Origins and the -openmp on the Altix.

Running the Code

Codes should then be run as serial codes with the environment variable OMP_NUM_THREADS controlling the number of processors to be used.

Further Information

Further information is available at:

Page maintained by This page last updated: Tuesday, 24-Aug-2004 09:15:33 BST