C++ is a very powerful programming language, used worldwide to develop complex and performance- critical applications. It is therefore an important candidate for developing HPC applications. Mastering the power of the language requires substantial effort but pays off as projects scale up in size and complexity. As the hardware architectures become more and more diverse and complex, C++ allows the implementation of the proper abstractions to make applications sustainable for the future. Specifically, C++ allows the development of type-safe, flexible and portable functionalities, with no runtime overhead.
• Generic programming techniques
• Application Programming Interface (API) development
• Specific C++-11/14 constructions