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 [email protected]. 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:
Altair RADIOSS
Altair RADIOSS is a leading commercial structural analysis solver for highly non-linear problems under dynamic loadings. For over 25 years, RADIOSS has established itself as a leader and an industry standard for automotive crash and impact analysis. RADIOSS is extensively used across all industries to improve the crashworthiness, safety, and manufacturability of structural designs.
RADIOSS is a highly scalable application with an hybrid MPI & OpenMP parallelization scheme. MPI manages the first level of parallelization based on domain decomposition. OpenMP is extensively used as a second level to improve parallelism inside each MPI domain.
APPROXIMATE SIZE IN LINES OF CODE: Large
WHAT PROGRAMMING LANGUAGE(S) USED: Fortran, Fortran95, & C
PLATFORMS DEPLOYED: Workstations, Clusters & Supercomputers under Linux, Windows, Mac OS/X
FEATURES OF OPENMP USED:
Parallel loops, synchronizations, scheduling, reduction …
YOUR ORGANIZATION/AFFILIATION AND CONTACT INFORMATION:
http://www.altairhyperworks.com/ContactUsFormHW.aspx
ANY ADDITIONAL INFORMATION:
http://www.altairhyperworks.com/RADIOSS
Altair OptiStruct
Altair OptiStruct is an industry proven, modern commercial structural analysis solver for linear and nonlinear problems under static and dynamic loadings. As a market leader for structural design and optimization, OptiStruct helps designers and engineers analyze and optimize structures for their strength, durability and NVH (noise, vibration and harshness) characteristics and rapidly develop innovative, lightweight and structurally efficient designs.
OptiStruct is the implicit finite element analysis and optimization software. OpenMP is used extensively for parallel computing in sparse equation solvers in both the shared memory and distributed memory versions of OptiStruct.
APPROXIMATE SIZE IN LINES OF CODE: large
WHAT PROGRAMMING LANGUAGE(S) USED: Fortran, C
PLATFORMS DEPLOYED: Workstations, Clusters & Supercomputers under Linux, Windows, Mac OS/X
FEATURES OF OPENMP USED:
Parallel loops, synchronizations, scheduling, reduction …
YOUR ORGANIZATION/AFFILIATION AND CONTACT INFORMATION:
http://www.altairhyperworks.com/ContactUsFormHW.aspx
ANY ADDITIONAL INFORMATION:
http://www.altairhyperworks.com/OptiStruct
Altair FEKO
FEKO is a comprehensive commercial computational electromagnetics (CEM) code used widely in the telecommunications, automobile, aerospace, marine, and defense industries. Applications include the analysis of antennas, microstrip circuits and biomedical systems, the placement of antennas on electrically large structures, the calculation of scattering as well as the investigation of electromagnetic compatibility (EMC) effects (shielding, cable coupling etc.).
FEKO offers several EM field solvers (rigorous full wave methods and asymptotic high frequency techniques) which are hybridized to enable the efficient analysis of a very broad spectrum of EM problems. All of these techniques have been rigorously parallelized using MPI. OpenMP is employed for some phases as well (for the time being linear algebra, Finite Difference Time Domain solver, certain phases of the Multilevel Fast Multipole Method). Extending more techniques in FEKO to use OpenMP in combination with MPI is actively pursued.
APPROXIMATE SIZE IN LINES OF CODE: Large
WHAT PROGRAMMING LANGUAGE(S) USED: Fortran and C
PLATFORMS DEPLOYED: Workstations, Clusters & Supercomputers under Linux and Windows
FEATURES OF OPENMP USED:
Parallel loops, synchronizations, scheduling, reduction …
YOUR ORGANIZATION/AFFILIATION AND CONTACT INFORMATION:
http://www.altairhyperworks.com/ContactUsFormHW.aspx
ANY ADDITIONAL INFORMATION:
http://www.altairhyperworks.com/FEKO
GenASiS
(General Astrophysical Simulation System) :: Astrophysics
Open Source (https://github.com/GenASiS)
DESCRIPTION:
GenASiS (General Astrophysical Simulation System) is a new code being developed initially and primarily, though by no means exclusively, for the simulation of core-collapse supernovae on the world’s leading capability supercomputers. GenASiS is designed for modularity and extensibility of the physics. Written in Modern Fortran (Fortran 2003 and 2008) and designed with object-oriented paradigm, GenASiS is still currently under heavy development. (See http://genasis.xyz)
GenASiS uses OpenMP for both offloading computational kernels to GPUs and multi-threading on many-core CPUs.
APPROXIMATE SIZE IN LINES OF CODE: 100,000 Fortran 2003/2008
PLATFORMS DEPLOYED: Supercomputers (e.g. Summit at ORNL)
FEATURES OF OPENMP USED: PARALLEL DO, TARGET, TEAMS DISTRIBUTE,
OpenMP Runtime Library “Device Memory” Routines
ORGANIZATION/AFFILIATION AND CONTACT INFORMATION:
Oak Ridge Leadership Computing Facility,
Oak Ridge National Laboratory
KARFS (KAUST Adaptive Reacting Flows Solver)
APPLICATION FIELD: Combustion Physics
SHORT DESCRIPTION:
KARFS is a direct numerical simulation (DNS) code for multi-component gaseous reacting flows, employing a state-of-the-art programming model for next generation high-performance computing platforms. The code utilizes the MPI+X programming model and relies on the Kokkos framework for “X” for performance portability to multi-core, many-core and GPUs, using OpenMP as a backend for on-node threading.
PROGRAMMING LANGUAGE(S) USED: C++
DEPLOYED ON: Workstations, clusters and supercomputers
FEATURES OF OPENMP USED: Parallel loops
ORGANIZATION/AFFILIATION AND CONTACT INFORMATION:Clean Combustion Research Center (CCRC), King Abdullah University of Science and Technology (KAUST). Hong G. Im ([email protected])
ADDITIONAL INFORMATION: https://doi.org/10.1016/j.compfluid.2018.03.074
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: [email protected]
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.
MATLAB NaN and TSA toolboxes
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 <[email protected]>
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 [email protected]
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.
SPH-EXA miniapp
Open Source application for astrophysics and cosmology. SPH-EXA mini-app is a C++14 headers-only code. It used the Smoothed Particle Hydrodynamics method to simulate physical phenomenas from a shockwave propagation to super massive black hole creations and mergers. The technique is complex and requires exascale clusters to execute. At node level, the parallelism is expressed using OpenMP for most of the tasks. For instance, domain decomposition, a major task of the application, uses OMP task and parallel directives to build a tree and distribute it’s elements in parallel over the computing domain.
The application has 8846 lines of code, and counting, uses C++, and is deployed on supercomputers (e.g., Piz Daint). It makes uses of OpenMP features such as parallel, task, taskwait, single, target map, teams distribute, schedule and reduction.
Contact Information: University of Basel. Project Manager: Mrs. Pr. Dr. Florina Ciorba <[email protected]>
Additional Information: DOI: https://doi.org/10.1145/3394277.3401855 and GitHub: https://github.com/unibas-dmi-hpc/SPH-EXA_mini-app
Add your voice to this growing list by copy/pasting the following into an email, adding the requested information, and sending it to [email protected]. 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: