Newer
Older
OpenMP
OpenMP is a shared-memory parallel-programming API. As the grid dimensions get larger,
the need for parallel computing becomes more important. With OpenMP, wgrib2 will use
multiple threads, typically one thread per core. For the typical PC, wgrib2 will run
on the number of cores that are on the CPU chip which is typically 2, 3, 4, 6 or 8.
The multi-core speedup is only significant when the grids have several million grid points.
Status: working, test before using
Tested: Redhat 5 linux: open64, gcc
AIX: xlc
Ubuntu 12.04: gcc
note: some older gcc compilers didn't officially support OpenMP for a reason.
Hints:
complex-packing reading is parallelized when bitmaps are not used (-g2clib 0)
complex-packing reading is partly parallelized if bitmaps are used
jpeg2000 is not parallelized because it depends on an external library
geolocation is partially parallelized
caution, stock gcc 4.1.x does not support openmp
Running multiple copies of wgrib2 can be done along with OpenMP.
Under consideration:
parallelizing ieee encoding