キーワード:数値アルゴリズム、高性能ソフトウェア、大規模シミュレーション、データ解析
http://na.cs.tsukuba.ac.jp/asna/
今の時代、実世界での現象をコンピュータ(計算機)上で再現し、解析・予測を行うという手法はあらゆる分野で使われています。テレビなどで、コンピュータ・シミュレーションの結果としてのCG映像を目にする機会も多くありますが、これらはすべて“数値の計算”をすることによって求められています。櫻井先生のリサーチユニットでは、次世代の計算機を使いこなし、効率よく数値計算を行うための研究開発を進めています。
自然科学・産業応用、様々な分野に広がる数学的アプローチ
同じ問題を解く場合でも、計算のやり方にはいろいろな方法があります。どのように計算するか、という手順の部分を「アルゴリズム」と呼びます。私たちのリサーチユニットでは、特に線形方程式や固有値問題を解く際の高性能なアルゴリズムを研究しています。
固有値問題を解くとは、多変数からなる関数を変化させたときに、変化を特徴付けるベクトル(方向)とその変化量を調べることを指します。難しいようですが、例えば自動車の振動を小さくするためには部品をどのような形にすればよいか、という問題も固有値計算によって解析することができます。他にも、線形方程式や固有値計算は、船舶や航空機の設計、ビルの免震、創薬、半導体開発、遺伝子解析や画像解析、宇宙や素粒子といった自然科学分野の研究など、幅広い分野で使われています。私たちのリサーチユニットでも、こうした幅広い分野と共同研究を進めています(図1)。
次世代の高性能計算機を使いこなすために
計算機の性能・計算速度は日々進歩しています。性能の良い計算機を使えば、もっと早く、もっとたくさんの固有値を計算できるはずです。ところが、現在広く用いられている数値計算アルゴリズムでは、最近の高性能計算機*1の性能を十分に引き出すことが難しくなってきています。最新の大規模並列型計算機の性能を活かすには、計算機の構造にあった新たなアルゴリズムの開発と、計算機上でアルゴリズムを動かすためのプログラム・ソフトウェアといった実装技術が必要です。私たちのリサーチユニットでは、次世代の高性能計算機の構造をよく理解した高性能計算の専門家と、アルゴリズムの専門家が一緒に研究を進めることで、次世代の超並列型計算機を使いこなすアルゴリズムとその高性能並列計算ソフトウェアの開発を進めています(図2)。
また、先にも上げたような応用分野の研究者に対してユニットの成果であるソフトウェアを提供し、実際に使ってもらうことで、性能の改善や実用性の向上を目指して研究をしています。
*1: 現在の高性能計算機は、たくさんの計算機をネットワークでつないだ並列型が主流。各計算機が同時並行で進められる計算過程が多いと計算速度が速くなる、という特徴がある。
社会への貢献・実績
- 大規模固有値計算に関する国際会議(EPASA2014, EPASA2015)開催
- 「 京」コンピュータ向けソフトフェア「z-Pares」、SLEPc向け「CISS」を開発
- 研究成果をもとにMathDesign 社を起業
取材:平成27年8月4日
Development of algorithms and software to support technological innovations
Unit members : Aranha, Claus de Castro Imakura, Akira Tadano, Hiroto
Unit name:Advanced Numerical Analysis Software Research Unit
Key words: numerical algorithms, sophisticated software, large-scale simulations, data analysis
Nowadays, the method of reproducing real-world phenomena on computers for their analysis and prediction is used in every research field. We often see the results of computer simulations presented as computer graphics (CG) on TV, which are obtained by numerical calculations. The research unit led by Professor Sakurai conducts research and development to help utilize the next generation of computers to perform efficient numerical calculations.
Mathematical approaches applied to natural science, industries, and many other fields
There are often multiple calculation methods to solve one mathematical question, and calculation procedures are referred to as algorithms. The research unit conducts research on sophisticated algorithms used to answer questions involving linear equations, or to find eigenvalues in particular.
Solving an eigenvalue problem refers to finding the vectors that characterize the changes of a multivariate function and finding the quantities of the changes. It may sound difficult. However, eigenvalue calculations are used to analyze many questions such as an appropriate shape of automobile components to reduce their vibrations as much as possible. Linear equations and eigenvalue calculations are also used in a variety of fields, including designs of ships and airplanes, seismic isolation for buildings, drug discovery, the development of semi-conductors, genetic and image analyses, and natural scientific studies, including cosmology and particle physics. The research unit conducts research in collaboration with researchers from these many different fields (Figure 1).
For the effective use of high-performance computers of the next generation
There have always been improvements in the performance of computers. The better the performance of the computer is, the larger the number of eigenvalues it can calculate, and the faster its calculation speed becomes. However, it has become increasingly difficult for conventional numerical calculation algorithms to fully utilize the performance of current advanced computers.*1 To effectively utilize the performance of the latest large-scale, parallel-type computers, it is necessary to develop new algorithms according to the structures of computers and technologies for the implementation of programs and software required to operate algorithms on computers. Our research unit has specialists in high-performance computation with sufficient knowledge of the structures of high-performance computers of the next generation. Our research unit also has researchers specializing in algorithms. They collaborate with each other to develop algorithms that can operate on super parallel-type computers of the next generation and high-performance, and to develop parallel-type calculation software (Figure 2).
Furthermore, we also try to improve our algorithm and software by providing researchers with them for their own researches and asking the researchers for feedback.
*1: The parallel-type, high-performance computer system, in which multiple computers are linked to each other through networks, is currently common. As the degree of parallel computation grows, the speed of such computer system grows.
Social contributions and achievements
- Held an international conference on large-scale eigenvalue computation (EPASA2014, EPASA2015)
- Development of software “z-Pares” for K computer and software “CISS” for SLEPc
- Establishment of MathDesign based on the research results
Interviewed on August 4, 2015