MATLABが並列計算に対応し、解析効率を大幅改善新しいMATLABの形「Parallel Computing Toolbox」

» 2008年12月02日 00時00分 公開
[小林由美,@IT MONOist]

 サイバネットシステムは2008年12月2日、「MATLAB」による並列計算ツールに関する記者説明会を行った。並列コンピューティングの最新動向の説明と併せ、並列計算処理に対応するMATLABファミリー製品「Parallel Computing Toolbox」の機能紹介を行った。

 現在、自動車や航空/宇宙、バイオテクノロジーなど多岐にわたる産業分野の研究において、技術計算はどんどん複雑になってきている。併せて研究開発のスピードも要求される。単体のマシンでは対応し切れないという事態も起こるようになった。インフラやアプリケーションに投資をするにしても、際限なく資金があるわけではない。それらを打開するのが並列コンピューティングだと、MATLABの開発元である米マスワークス社のMATLAB アプリケーション ディレクター リサ・ケンプラー(Lisa Kempler)氏は説明する。並列計算処理とは、複数のプロセッサを用いて計算処理を行う方法。外部のリソースをネットワーク経由で取り込み、処理を分散させて作業の効率化を行う。計算効率を向上させることで、ライセンス数削減へもつなげていける。

米マスワークス社 MATLAB アプリケーション ディレクター リサ・ケンプラー(Lisa Kempler)氏

 かつて並列MATLABの商品化は難しいとされてきた。並列コンピュータとMATLABのアーキテクチャとの相性がよくないため、並列計算のできるMATLABを実現するにはMATLABのアーキテクチャを改造しなければならなかった。改造をするにしても、開発工数を掛けただけの需要が市場で見込めるのかどうかも疑問視された。だが近年のマイクロプロセッサの進化や、並列コンピュータの普及が進んできたことを機に、Parallel Computing Toolboxの開発および商品化に踏み切ったということだ。

 Parallel Computing Toolboxは、デスクトップ上でも並列計算環境が提供できることを利点とし、操作面では、コードの一部に数文字程度変更あるいは追加する(タスクを並列化したいときには「for」を「parfor」に変えるなど)だけで、後の処理は自動で行われ、並列計算処理を簡単に行えるのが利点だという。並列コンピューティングの専任者は不要で、新たに言語を覚える必要もない。最新版の4.0では、SPMD(Single Program Multiple Data)による直列プログラミングと並列プログラミングとの切り替えの改善や、システム障害が原因で失敗したタスクを自動再実行するなどの機能強化を行った。

 ケンプラー氏は同製品のユーザーであるマックス プランク研究所の例を挙げた。そこではがん治療用のための分子化合物の研究を行っているが、たんぱく質構造の再構築に関しておびただしい数の計算をしなければならない。研究に10年ほど月日を費やしてきたが、なかなか成果がでなかったという。そのような状況を改善しようと並列MATLABを採用した。計算効率が大幅に改善されたことで、1週間かけて行っていた計算が1晩で済むようになったという。

 上記の例はバイオテクノロジー関連だが、もちろん製造業の研究開発でも同様の効果が見込めるとのことだ。ケンプラー氏は「HILシミュレーションやデジタル試作の効率化も図れるでしょう。解析専任者の所有するデータをエンドユーザーと共有することも可能でしょうね」と話した。

Copyright © ITmedia, Inc. All Rights Reserved.