Xevolver CREST: An evolutionary approach to construction of a software development environment for massively-parallel heterogeneous systems

Nowadays, HPC system architectures are becoming larger and more heterogeneous. Thus future HPC systems will be more complex. Under this situation, there is a strong demand for abstraction techniques that can hide the complexity of system architectures. Moreover, it is also necessary for application developers to migrate quite a huge amount of software resource to the new abstracted environment even if the system complexity can be hidden by the abstraction techniques. Therefore, it is important to establish a smooth migration path to the environment as well.

In this project, we will explore a programming model and its development environment to support the migration. There are two approaches to design a programming model. One is an evolutionary approach that incrementally improves an existing model, and the other is a revolutionary approach that creates a completely new model. As the xevolver project focuses to support incremental migration of existing software resources, we adopt the evolutionary approach to establish new algorithms, implementation schemes, and development environments for massively-parallel heterogeneous systems.