Who’s Using OpenMP?

Let the world-wide OpenMP community know about how your organization or project is using OpenMP in your multithreaded parallel applications. Instructions on how to submit your project is at the bottom of this page.

Add your voice to this growing list by copy/pasting the following into an email, adding the requested information, and sending it to webmaster@openmp.org. We’ll publish it right here on this page.

Please note that by sending this information to us you are permitting us to publish it on our website. Please be brief — we may need to edit it to fit.  We’ll let you know when your submission has been published.


Here’s who’s using OpenMP:


libdoubanm

This is a private library used to support a website.

libdoubanm is a data mining library, contains optimization and matrix/vector algorithms (sparse and dense, SVD, etc). OpenMP is used (with MPI) to parallelize the code.

With OpenMP, the threads number is reduced to one at each machine, messages volume in MPI is reduced, and the time/speed is improved greatly.

OpenMP is used to parallelize the matrix/vector operations automatically (just a flag to toggle on/off, based on OpenMP’s parallel for). OpenMP’s task is used for graph visit.

41305 lines of  C++, Python on Linux using: parallel for, schedule, task

Contact: changsheng@douban.com


NaN-toolbox

A time series analysis, statistics and machine learning toolbox for Octave and Matlab® for data with and without MISSING VALUES encoded as NaN’s. (Statistics, Machine Learning, Signal processing)

The NaN-toolbox is free software licensed under GPL v3+

The TSA- and the NaN- toolboxes are able to handle data with missing values (encoded as NaN).
The main idea is that NaN’s can be skipped, the expectation values  can be obtained by ignoring
“missing” values. OpenMP is used in two core functions (sumskipnan_mex and covm_mex), which
compute the sum, the covariance matrix, and counts the samples which are not NaN.

The NaN-toolbox is about 30000 lines in total of both projects. The core functions using OpenMP contain aboout 1800 lines of C/C++ and Matlab/Octave and is available on Linux + Matlab/Octave, Win32/Win64 +  Matlab, Debian/Ubuntu + Octave.

FEATURES OF OPENMP USED:
#pragma omp parallel
#pragma omp for schedule(dynamic) nowait
#pragma omp parallel for schedule(dynamic)

ORGANIZATION/AFFILIATION AND CONTACT INFORMATION:
Institute for Science and Technology Austria (IST - Austria) http://www.ist.ac.at/
Alois Schloegl <alois.schloegl@ist.ac.at>

ADDITIONAL INFORMATION:
NaN-toolbox: http://pub.ist.ac.at/~schloegl/matlab/NaN/
TSA-toolbox: http://pub.ist.ac.at/~schloegl/matlab/tsa/


RiverFLO-2D

RiverFLO-2D is a commercial, two-dimensional hydraulic engineering model that solves the depth-averaged shallow water equations with the finite element method. The model uses triangular-element meshes that can have several hundred of thousand of elements and an explicit time integration scheme that constrain the time-step, resulting in considerable computational effort for time-varying simulations.

The code is written in Fortran 95 and the executable is generated with the Intel Fortran compiler. To improve the model performance we make extensive use of OpenMP to parallelize  the main element loops on multiple-core platforms. Our test with up to 6-core processors indicate the code scales reasonably well turning off hyper-threading.  (Fortran 95/2003 using Intel Visual Fortran Composer XE 12.1 on MS-Windows)

FEATURES OF OPENMP USED: Parallel regions, Parallel do’s, private, reduction, etc.

CONTACT INFORMATION: Hydronia, LLC. www.hydronia.com. Contact Reinaldo Garcia rey@hydronia.com

Hydronia is a specialized firm that develops numerical mult-dimensional models to simulate water flow, sediment and pollutant transport in rivers and other water bodies.


MACROS


MACROS is a commercial application for process automation, predictive modeling, intellectual data analysis and optimization.

MACROS is a next generation software platform for process automation, intellectual data analysis and     multi-disciplinary optimization. It provides unique proprietary and state-of-the-art algorithms for dimension reduction, design of experiments, sensitivity analysis, meta-modeling, uncertainty quantification as well as modern single, multi-objective and robust optimization strategies.

The core of the product is written in  about 400,000 lines of C++ and Python. OpenMP has been used improve performance of the tool from the first day one of the product.

PLATFORMS DEPLOYED: Linux (32 and 64 bits); Windows XP/Vista/7 (32 and 64 bits)

FEATURES OF OPENMP USED: OpenMP 2.0 standard (parallel for, schedule, task, private, reduction, etc.)

CONTACT INFORMATION:
DATADVANCE, LLC. http://www.datadvance.net

DATADVANCE is specialized in development of software for predictive modelling, intellectual data analysis and multi-disciplinary optimization. DATADVANCE also provides comprehensive range of engineering services.



Add your voice to this growing list by copy/pasting the following into an email, adding the requested information, and sending it to webmaster@openmp.org. We’ll publish it right here on this page.

Please note that by sending this information to us you are permitting us to publish it on our website. Please be brief — we may need to edit it to fit.  We’ll let you know when your submission has been published.

APPLICATION/PRODUCT NAME:

IS IT PUBLIC/OPEN SOURCE/PRIVATE/COMMERCIAL?:

APPLICATION FIELD (e.g. physics):

SHORT DESCRIPTION OF THE APPLICATION
AND HOW OPENMP IS BEING UTILIZED:

APPROXIMATE SIZE IN LINES OF CODE:
WHAT PROGRAMMING LANGUAGE(S) USED:
PLATFORMS DEPLOYED:

FEATURES OF OPENMP USED:

YOUR ORGANIZATION/AFFILIATION AND CONTACT INFORMATION:

ANY ADDITIONAL INFORMATION: