The technologies of programming models, languages and environment play an important role in bridging programmers and systems. To exploit the full potential of the large-scale parallel K computer to carry out advanced computational science, a parallel programming environment is demanded to coordinate the computer's multiple processors. Our team is developing high performance programming environment for large-scale parallel systems.
We will develop and deploy a new programming language, called XcalableMP, which is originally designed in Japanese community. Although MPI is the de facto standard for parallel programming on distributed memory systems, writing MPI programs is often a time-consuming and complicated process. XcalableMP is a directive-based language extension which allows users to develop parallel programs for distributed memory systems easily and to tune the performance by having minimal and simple notations. The specification has been designed by XcalableMP Specification Working Group which consists of members from academia and research labs to industries in Japan. We will apply this language for development of real scientific applications, and improve it from practical point of view for highly productive programming environment.
We will carry out research and development of several software to provide an effective programming environment for the collaboration with application developers. The software will include tools for performance profile, analysis and diagnosis. Through the development of these tools, we will create collaborative environment for performance analysis and tuning with application developers, and contribute progress in the advanced computational science using large-scale computing systems.
We will explore new advanced programming models and programming environment not only for our petascale systems, the K computer, but also for future exascale systems, which include acceleration technologies such as GPU and manycore, fault-resilience of ultra-scale parallel systems, and low-power/power-aware technologies.