Abstract:
Nowadays, there are many high-performance computing systems consisting of nodes with multicore processors and
accelerators from different hardware manufacturers. A convenient programming model in such systems is the MPI+X model.
Hybrid MPI+X programmes often have higher performance compared to programmes on "pure" MPI. Scientific results
obtained while developing such programs are used for creating new versions of MPI (Message Passing Interface) standard. The
hybrid method of parallel programming involves using the shared memory model inside a node and MPI message passing
model for data exchange between nodes. Examples of hybrid models: MPI+OpenMP, MPI+Posix Threads, MPI+CUDA,
MPI+T++ and others. Programming in mixed mode gives a developer an opportunity to achieve higher performance and
scalability of an application. In some cases, mixed code can be executed slower than code written in "pure" MPI. This article
describes some aspects associated with the hybrid MPI+T++ programming model in the OpenTS environment. T-system
(OpenTS) is a system for parallel programming supporting dynamically loaded libraries for communication layer. The OpenTS
system implements C++ language for parallel calculations, which is an extension of C++ programming language. C++ syntax
differs from C++ syntax by adding several keywords to it. The work presents the results of performance tests of MPI+T++
applications from Mantevo package (CoMD, HPCCG, MiniAero, phdMesh) and examples from LAMMPS package developed
in OpenTS environment. The Mantevo package includes several parallel applications in which algorithms for solving some
partial differential equations are implemented. An estimation of efficiency of such implementation in comparison with original
MPI-versions of applications is presented. The article gives a simple example of a hybrid MPI+T++ application in T++
language.