In this paper, the problem of programming language selection is presented from the position of large cluster with heterogeneous accelerators programming in the situations when it is need to apply objectoriented programming like in the case of heterogeneous multi-agent simulations or large data modelling using memetic algorithms. This work was inspired by experience with the Chapel language obtained during complicated conversion of hybrid evolutionary algorithm GPAes from a single node OpenMP C++ implementation onto HPC cluster with nodes equipped by both CPU and GPGPU. The paper consists of discussion of many approaches to parallel programming including not only traditional ways such as OpenMP, MPI and Cuda and their combinations, but also modern extensions of C/C++ as OpenACC, Silk and CYCL. Emerging languages as Chapel and Julia are discussed too. The work concludes with an evaluation of the real state of parallel object-oriented programming on heterogeneous node HPC clusters.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.