Intel、マルチコア対応ソフトの開発を支援するスレッディング・ツールを発表

 米Intelは8月28日、同社の新型マルチコア・プロセッサの能力を引き出すソフトウェアの開発を支援する複数のスレッディング・ツールを発表した。同社では、これらのツールを活用することで、マルチコア・プロセッサ上で稼働する既存の開発ツールのパフォーマンス向上を実現できるとしている。

 今回発表されたのは、アプリケーションにスレッドを導入するためのC++ラインタイム・ライブラリ「Threading Building Blocks 1.0」と、エラーの可能性を最小限に抑えるスレッディング分析ツール「Thread Checker 3.0」およびアプリケーション・スレッドの相互作用に関する洞察を支援するツール「Thread Profiler 3.0」の3製品。このうちThreading Building Blocksが新製品で、残りの2製品は既存製品のアップグレード版となる。

 Intelでは、これらのツールを既存の開発ツールと組み合わせて利用することで、マルチコア・システムの並列処理機能を活用できるようになるほか、OpenMP技術とも連動してスレッド化されたアプリケーションや各種並列構造にも対応できるようになるとしている。

 Intelのソフトウェア開発製品グループでマーケティング/ビジネス開発担当ディレクターを務めるジェームズ・レインダース氏は、「われわれは、これらツールの提供を通じて、開発者が手作業でスレッド管理機能をコーディングする負担を軽減したいと考えている」と語る。

 C++対応のテンプレート・ライブラリを搭載するThreading Building Blocksは、並列処理の表現などをサポートするほか、アプリケーションを1度作成すれば自動的に利用可能なコアを認識し、パフォーマンスを拡張することができる。また、Intelプラットフォーム上でWindows、Linux、Mac OSとの連携を実現し、MicrosoftとGNUのコンパイラにも対応できるほか、ライブラリをWindows、Posix、OpenMPスレッドなどのスレッディング・プログラミング・インタフェースと一緒に利用することもできるという。

 Thread CheckerとThread Profilerの新版は、64ビット版プロセッサを新たにサポートし、「Visual Studio 2005」開発プラットフォームにも統合できるようになった。また、Thread Checker 3.0にはコマンド・ライン機能やLinuxのサポートが追加された。

 また、Thread Checkerは、並列プログラミングにのみ存在するバグも発見することができ、例えば、1つのスレッドが演算を行い、他のスレッドがその結果を利用するというデータ・レースの問題や、スレッドのデッドロックなども見つけられるという。レインダース氏によると、どちらのバグもロッキング機能の不適切な使用が原因で発生するという。

 レインダース氏は、「データ・レースのバグが存在していたとしても、システムが問題なく機能する場合と、そうでない場合があるため、油断はできない」と述べている。

 米ソニック・ソリューションズのロキシオ部門は、データ・レースの問題を対処するためにIntelのスレッディング・ツールを採用している。同部門のマルチメディア・ソフトウェア開発チームの責任者、ダン・スタエリ氏は、「スレッディングの問題を診断するにあたって、Intelのツールを活用した。そのおかげで、コード見直し作業を厳密に行わなければ見つけ出せないような問題を突き止めることができた」と語る。

 一方、Thread Profiler 3.0は、それぞれのスレッドが実行している作業や、スレッドが作業中なのか、待機中なのかを示すことができる。同ツールを使うことで、アプリケーション・スレッドの相互作用に関する洞察を得たり、並列パフォーマンスの問題点を特定したりすることができるという。

 Threading Building Blocks 1.0とThread Profiler 3.0の価格は299ドル。Thread Checker 3.0の価格は499ドルからとなっている。

(ポール・クリル/InfoWorld オンライン米国版)

提供:Computerworld.jp