![]() |
Home | Libraries | People | FAQ | More |
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. |
| 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 |
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.
| Copyright © 2006 Matthew Calabrese |