What If Experimental Software (開発中の先端技術研究)
What If Experimental Software サイト (http://software.intel.com/en-us/whatif/) では、インテルで開発中の先端技術研究とテクノロジーの実装を入手し体験することができます。この中のいくつかの技術は将来製品化されるかもしれません。早期に評価を行い、フィードバックを送りましょう。これらの技術に対する質問や情報の入手は、インテルの開発エンジニアのブログと サポートフォーラム で行うことができます。以下に現在公開されている技術をリストします。
アクティブなプロジェクトの一覧
すべて開く
すべて閉じる
新しい能力を設計
Adobe* Premiere® Pro/Premiere® Elements エンコーダー・プラグインはインテル® メディア SDK とインテル® クイック・シンク・ビデオ・テクノロジーを利用
Adobe® Premiere* Pro/Premiere* Elements エンコーダー・プラグインはインテル® メディア・ソフトウェア開発キット (インテル® Media SDK) を使用したプロトタイプで、第 2 世代インテル® Core™ プロセッサーのハードウェア・エンコード・アクセラレーション機能を利用しています。インテル® クイック・シンク・ビデオ・テクノロジーを内蔵することにより、第 2 世代インテル® Core™ プロセッサーではエンコーディングとトランスコーディングのパフォーマンスが大幅に向上しました。ビデオと一部の前処理は専用のハードウェア・コンポーネントで行われるため、汎用コンポーネントでほかのタスクを実行できます。インテル® クイック・シンク・ビデオ・テクノロジーは、携帯型機器で重要な電力効率も向上させます。
インテル® OpenCL* SDK
インテル® OpenCL* SDK はアルファ版のソフトウェアです。Microsoft* Windows* 7 および Windows Vista* オペレーティング・システムを実行するインテル® Core™ プロセッサー向けに最適化された OpenCL* 1.1 仕様が実装されています。このリリースにより、OpenCL* 言語とアプリケーション・プログラミング・インターフェイス (API) を利用して、プロセッサーで OpenCL* の機能を活用することができます。インテル® ストリーミング SIMD 拡張命令 (インテル® SSE) やマルチコア・スケーラビリティーのようなインテル® Core™ プロセッサーの機能をシームレスに利用できます。
インテル® Web APIs
インテル® Web APIs を利用すると、JavaScript と HTML を使用して、Web アプリケーションが動作している機器のさまざまな機能にアクセスできます。これらのページには、Web アプリケーションの構築を支援する、JavaScript API、組み込み可能なウィジェット、マッシュアップのデモが用意されています。
インテル® エネルギーチェッカー SDK
ソフトウェアもエコを重視する時代になりました。ハードウェア固有のシステム機能に注目するあまり、ソフトウェアがシステム全体の効率性に与える影響は見落とされがちです。インテル® エネルギーチェッカー SDK は、システムの生産性と電力消費を測定して、システムの “エコレベル” を判定します。2011 年にリリースされたインテル® エネルギーチェッカー SDK リリース 2.0 では、多くの新しい機能が追加され、電力消費の測定、システムの処理量を決定するアプリケーションのインストルメント、電力効率評価基準のレポートが容易に行えるようになりました。
インテル® SOA エクスプレスウェイ XSLT 2.0 プロセッサー
インテル® SOA Expressway XSLT 2.0 プロセッサーは、インテル® SOA Expressway (http://www.intel.com/software/soae/) にビルトインされている XSL 変換 (XSLT) エンジンのスタンドアロン・バージョンです。XSLT は、World Wide Web Consortium (W3C) により標準化された XML 文書の変換用言語で、XML 文書から XML、HTML、テキスト文書などを生成できます。一般にスタイルシートとして知られる XSLT プログラムは、テンプレートに一致する入力文書ノードを出力文書ノードやテキストに変換する手順を記述します。XML 変換テクノロジーと XSLT 2.0 推奨要件の詳細は、W3C Web サイトをご覧ください。
Smoke – ゲーム・テクノロジーのデモ
Smoke は、ゲーム・テクノロジーにおいて n-way のスレッド化をサポートするフレームワークを紹介するデモです。ゲームを適切にスレッド化することで、より正確な物理特性、より賢い AI、より多くの粒子、より高速なフレームレートが得られます。Smoke は、より優れたゲームを作成するための 1 つの実装例です。
アイソレーテッド・エグゼキューション
アイソレーテッド・エグゼキューション (分離実行) は、分離の概念によるセキュリティーのソフトウェア・リファレンス実装です。マルウェアの実行を停止したり、マルウェアのマシンへの侵入を防ぐのではなく、システム全体に影響を与えることなくマルウェアが実行される環境を提供します。
インテル® ディレクト・イーサネット・トランスポート
インテル® ディレクト・イーサネット・トランスポート (インテル® DET) プロジェクトは、コモディティーなイーサネット・ファブリック上でより高速なメッセージ・パッシングを行う 2 つのコンポーネントを提供します。1 つは、Linux* カーネルドライバーとユーザーモード・ライブラリーです。InfiniBand® や iWARP テクノロジーに似た RDMA/IPC セマンティクスを利用できます。2 つめは 1.2 uDAPL ライブラリーです。インテル® MPI のようなサードパーティーのソフトウェアに標準化されたインターフェイスを利用できます。従来の TCP/IP ソケットスタックよりも優れたメッセージ・パッシング・パフォーマンスを提供することに加えて、インテル® DET は、特定の RDMA テクノロジーに投資することなくクラスター・ソフトウェア開発者に RDMA セマンティクスを扱う機会を提供します。
インテル® ソフトウェア・デベロップメント・エミュレーター
並行コードを開発
インテル® Cilk™ Plus SDK
インテル® Cilk™ Plus SDK (ソフトウェア開発キット) には、Microsoft* Windows* および Linux* オペレーティング・システムでインテル® Cilk™ Plus を使用している開発者向けにツールが用意されています。これらのツールは、インテル® Cilk++ SDK からインテル® Cilk™ Plus (インテル® Parallel Composer 2011 とインテル® C++ Composer XE 2011 製品で提供されている) の実装に切り替えるときに特に役立ちます。
インテル® Cilk++ SDK
インテル® Cilk++ SDK (ソフトウェア開発キット) は、開発者に新規または既存の C++ プログラムを並列化する環境を提供します。インテル® Cilk++ SDK の機能は、以前 Cilk Arts, Inc. によってリリースされた Cilk++ 1.10 キットの機能をサポートします。
インテル® コンカレント・コレクション C++ 版
インテル® コンカレント・コレクション C++ 版を利用すると、アプリケーション開発者は、低レベルのスレッディング構造および計算のスケジューリングや分散のような並列処理の問題点を考慮することなく、並列に実行される C++ プログラムを構築することができます。
プロトタイプ版 インテル® C/C++ STM コンパイラー
従来の並列プログラミングでは、共有データの同時アクセスの同期にロックを使用する方法が一般的でした。しかし、ロックベースの同期には短所があります。細粒度の同期にロックを使用することと、すでにロックを使用しているコードを組み合わせることは、どちらも困難でデッドロックが発生する傾向があります。トランザクショナル・メモリーは、ユーザーが指定したタスクの “アトミック” な “分離” 実行をサポートして並列プログラミングを簡素化します。トランザクショナル・メモリーの並行処理制御メカニズムを利用することで、デッドロックを回避して並列プログラミングを容易に行えます。プロトタイプ版 インテル® C++ STM コンパイラーに含まれているトランザクショナル・メモリーの C++ 言語構造は、並列プログラミング用の新しい言語構造を試し、トランザクション・メモリー・プログラミング・モデルを理解して、これらの拡張についてフィードバックをお寄せいただけるすべてのユーザーにご利用いただけます。プロトタイプ版 インテル® C++ STM コンパイラー 4.0 には、トランザクショナル・メモリーの言語構造拡張ランタイム・ライブラリーが含まれています。
マス・ライブラリー
インテル® クラスター・ポアソン・ソルバー・ライブラリー
インテル® クラスター・ポアソン・ソルバー・ライブラリー (インテル® CPSL) は、分離可能な偏微分方程式 (PDE) を解くための強力なツールセットです。ポアソンのような 2D ソルバーのセットと 3D ポアソンソルバーが含まれています。インテル® CPSL は、最新アルゴリズムの高度な実装を提供します。また、より優れたパフォーマンスが得られるように、ユーザーがソルバーを細かくチューンアップするための情報も提供します。インテル® CPSL は現在、Linux* 上でのみ利用可能です。
インテル® アダプティブ・スパイクベース・ソルバー
インテル® アダプティブ・スパイクベース・ソルバーは、多くの異なる手法を使用して大規模帯行列を並列に解く多項式アルゴリズムです。斬新な分解手法を使用して、計算と通信要件のバランスをとっています。入力行列の特性 (サイズ、帯域幅、対角成分の優位性の度合い、疎の度合い、利用可能なプロセッサーの数など) は解決手法に影響を与えるため、ソルバーにはランタイムに最適な手法を自動選択する適応層が含まれています。ハイパフォーマンス・コンピューティング (HPC) クラスターとその他の並列アーキテクチャーの長所を活かすため、ソルバーは MPI を使用して並列化されています。
インテル® 常微分方程式ソルバー・ライブラリー
インテル® 常微分方程式ソルバー・ライブラリー (インテル® ODE ソルバー・ライブラリー) は、常微分方程式の初期値問題を解くためのクロスプラットフォームのツールセットです。可変スチフネスを用いた non-stiff (硬くない)、stiff (硬い)、ODE 問題用の明示的、暗黙的、混在ソルバーが用意されています。ユーザーは、設定可能なパラメーターのセットを利用して、より良い精度とパフォーマンスが得られるようにアルゴリズムをチューンアップすることができます。インテル® ODE ソルバー・ライブラリーは、Windows* および Linux* 上で利用可能です。
パフォーマンス・チューニング
インテル® ソフトウェア・オートチューニング・ツール
インテル® ソフトウェア・オートチューニング・ツール (ISAT) は、重大なパフォーマンス・インパクトがあるプログラム・パラメーターの near-optimal (最適に近い) 値の自動検索をサポートする新しいパフォーマンス・チューニング・ツールです。行列計算のキャッシュブロック要因、TBB のタスク粒度、OpenMP* 並列構造のスケジュール・ポリシーなどを検索します。ISAT の出力は、検索結果に基づいてチューニングされたプログラムです。また、チューニング結果のビジュアル化もサポートしているため、開発者はプログラムのパフォーマンスをより良く理解することができます。ISAT は、Linux* 上の任意の C/C++ コンパイラーで使用できます。
インテル® ソフトウェア・チューニング・エージェント
インテル® ソフトウェア・チューニング・エージェント (インテル® STA) は、インテル® アーキテクチャー向けに作成されたソフトウェア・アプリケーションのパフォーマンス解析と最適化を支援する Java プログラムです。オープンソースのソフトウェアとして無料で提供されています。
インテル® STA は、パフォーマンス・イベントを識別して実行サイクルに占める割合順に優先度を付けることで、マイクロアーキテクチャー・レベルでソフトウェア・アプリケーションのチューニングを支援します。また、ストールイベントによりパフォーマンスが最も向上する可能性の高い関数を特定します。
インテル® アーキテクチャー・コード・アナライザー
インテル® アーキテクチャー・コード・アナライザーを利用すると、インテル® アドバンスド・ベクトル・エクステンション (インテル® AVX) 命令に対応したプロセッサーがなくても、インテル® AVX 用のコードを解析することができます。この解析を行うことで、インテル® AVX 用のコードと、インテル® ストリーミング SIMD 拡張命令 (インテル® SSE) に基づく実装を比較することが可能です。
インテル® パフォーマンス・チューニング・ユーティリティー
インテル® パフォーマンス・チューニング・ユーティリティー (インテル® PTU) は、クロスプラットフォームのパフォーマンス解析ツールセットです。アプリケーションで最も時間を費やしているモジュールと関数の特定、呼び出しシーケンスの追跡、パフォーマンスに重大な影響を与えるソースコードの特定などの従来の機能に加えて、新しく、より強力なデータ収集、解析、視覚化機能が追加されています。インテル® PTU は、ハードウェア・イベント・カウンターを使用して、メモリーシステムのパフォーマンス、アーキテクチャー・レベルのチューニング、その他のより詳細な解析を行います。ソースコードとパフォーマンス問題は関連付けられます。解析したアプリケーションのシンボルソースがない場合、インテル® PTU は基本ブロックの粒度でデータを表し、逆アセンブリー用に関数実行フローのグラフ (制御フローグラフ) を表示します。Windows* および Linux* 上で利用可能です。
インテル® プラットフォーム・モデリング (マシンラーニング付き)
インテル® プラットフォーム・モデリング・ツールは、プラットフォームで利用可能なすべてのハードウェア測定基準 (ホスト・プロセッサー、チップセット、ビデオ、3D、NVIDIA など) を同時に収集するインテルのリサーチ・プロジェクトです。一部のハードウェア測定基準はまだ利用できませんが、認可が下り次第、利用可能になります。Perfmon やアプリケーション・コードの測定基準のようなソフトウェア測定基準を追加して、ハードウェア測定基準と組み合わせることができます。測定基準を同時に収集することにより、マシンラーニング (Machine Learning (ML)、機械学習) を含むさまざまな手法を使用して、測定基準間の関係を明らかにすることができます。利用可能な測定基準の数が増えることで、開発者は、ML のパフォーマンス予測のリストを用いて、ハードウェアおよびソフトウェア設計のボトルネックをより正確に見つけることができます。