boost.png (6897 bytes) Home Libraries People FAQ More

PrevUpHomeNext

Setting up your compiler

Enabling Parallel Algorithms
Compiling the Library

Enabling Parallel Algorithms

With the current implementation, in order to take advantage of the parallel algorithms provided by Surge.Act you must have a compiler which supports OpenMP 1.0 extensions or higher.

If your compiler does not support the OpenMP extensions or if they are not enabled, parallel functions will execute synchronously regardless of whether or not you are using the parallel_algo_model policy.

The following table is intended to be a quick reference for some of the more commonly used compilers. If your compiler is not listed it does not mean that OpenMP is not supported, but rather, it means that you should check your compiler's documentation to determine if you will be able to enable the OpenMP extensions in order to take advantage of parallel algorithms through Surge.Act.

OpenMP Extension Support

Compiler OpenMP Support Compiler Switch
Borland C++ Builder No N/A
G++ GCC 4.2 and up: OpenMP 2.5 -fopenmp
IBM XLC OpenMP 2.5 -qsmp=omp
Intel C++ 9.0 and up: OpenMP 2.5 Windows: /Qopenmp
Linux: -openmp
Lahey/Fujitsu OpenMP 1.0? (ToDo: Check) --openmp
PG++ Linux only: OpenMP 2.5 -mp
Sun Studio Compilers OpenMP 2.5 -xopenmp
Visual C++ 2005 Standard and up: OpenMP 2.0 /openmp

Through IDE

Activating OpenMP Support in Visual C++ 2005

In Visual Studio 2005 Standard Edition and higher, you may enable and disable OpenMP support by opening up the properties for your project, selecting Configuration Properties -> C/C++ -> Language, and setting OpenMP Support to Yes. Note that Visual Studio 2005 Express Edition does not support OpenMP despite the option being there, so if you attempt to enable it you will get a linker error upon build.

Compiling the Library

Copyright © 2006 Matthew Calabrese

PrevUpHomeNext