Our mission is to improve programming productivity for supercomputers. Raising supercomputer-programming efficiency is important because of the growing need to rapidly simulate various real-world events and phenomena. Going forward, rapid simulation will become even more necessary, as it is expected to be an essential tool for artificial intelligence, given simulations provide virtual environments in which AI can learn. Additionally, simulation aids more practical data analysis because it can generate data of rare events.
We are researching programming techniques to combine existing tools and frameworks for simulation, data analysis, and machine learning, as well as preparing such tools for use on the K computer. We are also developing a new computer language that employs highly abstract descriptions to make use of these tools and frameworks. This will enable users to conduct simulations, data analysis, and their combinations with less development effort than is required today. We are also collaborating with industry. Considering the fact that the industrial trend is shifting from making products to providing services, we believe academic institutions should provide our research results to users as a service. In order to promote this goal, we are investigating not only the most efficient programming techniques, but also what will produce the most practical benefits for users.
Modeling Languages for Supercomputers
We are researching how to make use of modeling languages in supercomputers. We believe the most important issues in supercomputing are the complexities and difficulties involved in developing simulations, especially in the area of describing models of target objects and phenomena. While modeling languages are of some practical use in dealing with these issues, programs written with such languages are usually slower than lower-level computer languages. To increase both productivity and efficient execution, we are, for example, connecting a highly productive modeling language to a numerical library for supercomputers.
Combining Simulation with Data Analysis
As well as realizing efficient execution of simulations written in a modeling language, we are extending the modeling language so that it can describe how to use data processing programs. By using this extended modeling language, users can develop, for instance, simulation programs that employ the data for improved accuracy, or develop simulation programs that generate data for more comprehensive data analysis. Because there are already notable productive tools and frameworks for data analysis, such as Hadoop and Spark, as well as many kinds of machine learning frameworks available, our extension of the modeling language focuses on the area of connecting it to simulations, and providing a common runtime environment for different kinds of frameworks and simulators.
Developing an end-to-end solution from simulation modeling to data processing