写真1●「インテル ソフトウェア・カンファレンス 2014」で講演する米インテルのジェフ・マクベイ部長
写真1●「インテル ソフトウェア・カンファレンス 2014」で講演する米インテルのジェフ・マクベイ部長
[画像のクリックで拡大表示]
写真2●HTML5でアプリを開発する「Intel XDK」の概要
写真2●HTML5でアプリを開発する「Intel XDK」の概要
[画像のクリックで拡大表示]
写真3●クロスプラットフォームの開発ツール「Intel INDE」の概要
写真3●クロスプラットフォームの開発ツール「Intel INDE」の概要
[画像のクリックで拡大表示]
写真4●INDEはアプリの実行状況をトレースして処理のボトルネックを調べられる性能解析ツールも備える
写真4●INDEはアプリの実行状況をトレースして処理のボトルネックを調べられる性能解析ツールも備える
[画像のクリックで拡大表示]

 「ソフトウエアの開発者にとってみれば、様々な機器にリーチできることが重要だ。その視点に立って、インテル以外のアーキテクチャにも対応することを決めた」。米インテル デベロッパー製品部門 パフォーマンス・クライアントおよびビジュアル・コンピューティング部長のジェフ・マクベイ氏は、2014年10月30日に都内で開催された「インテル ソフトウェア・カンファレンス 2014」において、同社がクロスプラットフォーム開発ツール「Intel INDE(インディ)」を投入した狙いを語った(写真1)。

 マクベイ氏は、クライアント端末のOSとしてWindows、Android、iOSおよびMacOSが中心となっており、それぞれのOSごとに膨大な数のアプリが存在することを指摘。そうした環境では、アプリ開発者には(1)最初から複数のプラットフォームをターゲットにする、(2)CPUやGPUなどのデバイスの性能をきちんと引き出す、(3)アプリ開発の生産性を向上する――の3点が求められるとした。

 そのためインテルはクライアントアプリの開発ツールとしてマルチプラットフォーム対応できることを重視した。HTML5で開発することですべてのOS向けにアプリを配布できる「Intel XDK」(写真2)と、任意のホストOSと統合開発環境(IDE)でx86またはARMアーキテクチャ上のAndroidおよびWindowsのアプリを開発できる「Intel INDE(Integrated Native Developer Experience)」(写真3)を提供している。「主にパフォーマンス重視のアプリ開発にはINDEを利用してもらい、主に表示層がメインのアプリ開発にXDKを利用してもらう」(マクベイ氏)。

 このうちINDEは、2014年10月中旬に提供を始めたばかりのツールだ。ホストコンピュータのOSとしてWindowsまたはOS X、統合開発環境としてVisual Studio、Android Studio、Eclipseから選択できる。プログラム作成用には、グラフィックスやビデオ処理などの専用アクセラレータにアクセスする機能や、クロスプラットフォームのライブラリ、タスク並列処理用ライブラリ「TBB(Thread Building Block)」やOpenCLコードの生成機能などを提供する。コンパイラとしてはx86アーキテクチャ向けのインテル製コンパイラと、ARM向けのGCCを用意した。システムレベルやタスクレベルでの性能解析を行うツール(写真4)や、エミュレーション時に専用アクセラレータの動作を高速化する「HAXM」も提供する。

 ただし、すべてのツールが使えるのはIntel製プロセッサに向けて開発する場合だけだ。ARMアーキテクチャのCPUを搭載したSoCはメーカーによって機能や仕様が異なるからだ。ARMアーキテクチャ内部のデータにアクセスできないため、詳細な性能解析もできない。INDEでの「ARM対応」とは、C++プログラムをGCCでARM向けのバイナリに変換できるようにしたこと、TBBなど一部のライブラリをARMアーキテクチャにも対応させたことなどを指している。

 INDEは搭載する機能に応じて、無償のStarter Editionと、有償のProfessional EditionおよびUltimate Editionがある。