|
Windows*、Linux* そして OS X* 上で妥協のないパフォーマンスを提供
|
このページでは、インテル® Parallel Studio XE に含まれるインテル® C++ コンパイラーに関連する記事や参考資料へのリンクをまとめています。このページは、https://software.intel.com/en-us/c-compilers/ipsxe/ をもとにしています。
概要
妥協のないパフォーマンス
アプリケーションのパフォーマンスを向上したいのであれば、開発サイクルにインテル® C++ コンパイラーを導入してください。これは、パフォーマンス向上のため複数のコアと広いベクトルレジスターなどの高度なプロセッサー機能を利用するように最適化されています。
これは C と C++ 開発の追加機能に加え、完全な C++11 と大部分の C99 サポートなど現在および以前の C/C++ 標準を幅広くサポートします。
卓越したサポート
商用版のすべての製品には購入から 1 年間のプレミアサポートへのアクセス権が付属します。また、割引価格で延長することもできます。以下が含まれます。
- 新製品への無料アップデートと旧バージョン製品を利用する権利。
- 秘密性の高い問い合わせやサンプルコードをインテル社の製品担当エンジニアに提供して直接対話できます。
- お客様の製品 (新旧バージョン) に対する要求と技術的な問い合わせに答えることで、満足度を高めることが重要であると考えています。
- インテル社のソフトウェア開発製品のすべてをカバーする、コミュニティーによる製品フォーラムがあります。
- コミュニティーでは、インテル社のソフトウェア開発製品を使用した経験者らによる数多くのドキュメントをご覧いただけます。
詳細
最新のおよび以前の C と C++ 標準に加え、注目される拡張機能を幅広くサポートします
- 完全な C++11 とほとんどの C99 言語標準化をサポート (C++11 サポートの詳細)
- OpenMP* 4.1 の多くをサポート (インテル® Parallel STudio XE のみ)
コンパイラーによるベクトル化
- パフォーマンスを向上させる広い SIMD (single-instruction-multiple-data) 並列を活用します。
- 複数のデータ要素を並列に処理することにより、これらの拡張機能はベクトルや行列などすべてのデータ要素に単一の操作を適用する科学、工学、またはグラフィック・アプリケーションにおいて、データ並列を活用する手段を提供します。
- インテルのベクトル化ツールについて ›
インテル® Cilk™ Plus
- わずか 3 つのキーワードで、パフォーマンスを向上する並列処理を実装できます: cilk_for、cilk_spawn、cilk_sync
- 将来にわたってスケーラブル: ランタイムシステムは、コア数が多いシステムでもスムーズに動作します。
- 配列表記、SIMD 対応関数、そして pragma SIMD により、すべてのインテル® プロセッサーと互換プロセッサー上で最適なパフォーマンスを発揮するためベクトル化を行います。
- GCC* 4.9 では -fcilkplus で機能を有効に出ますが、cilk_for はまだサポートされていません。cilk_for のさポートは、GCC 5.0 の開発ブランチで予定されています。
- また、Clang/LLVM プロジェクト (http://cilkplus.github.io/) にも含まれています。
- サンプルコード、投稿されたライブラリー、オープン仕様などは、Cilk Plus コミュニティー (英語) で入手できます。
- インテル® Cilk™ Plus について詳しく知る ›
C と C++ 開発向けのドロップイン追加
Windows*
- 慣れ親しんだ Visual Studio* IDE 上で開発、ビルド、デバッグ、そして実行
- Microsoft* Visual Studio* 2010、2012、そして 2013 で動作
- Visual C++* とソースおよびバイナリー互換
- 32 ビットと 64 ビット開発が含まれます
- Microsoft* Visual Studio* のプロジェクトとソース
- C/C++ に対応したテキストエディター
- C/C++ コードのデバッグ
- コールスタック情報
- IDE 上で実際のソースコードにブレークポイントを設定
Linux*
- Eclipse* IDE インターフェイスもしくはコマンドラインを使用して開発、ビルド、デバッグ、そして実行
- GCC 4.1 ~ 4.9 とソースおよびバイナリー互換
- 32 ビットと 64 ビット開発が含まれます
- プロジェクトとソース
- プロジェクト・プロパティーでコンパイラーを選択
- 出力ウィンドウ
OS X*
- 慣れ親しんだ Xcode* IDE 上で開発、ビルド、デバッグ、そして実行
- Xcode* 5.0/5,1 および Xcode* 6.0/6.1 で利用可能
- LLVM-GCC と Clang ツールチェーンとソースおよびバイナリー互換
- 64 ビット開発が含まれます
- ソースコード・ウィンドウ
- アプリケーション・デバッグの概要
- 変数とレジスターのデバッグ
- 出力ウィンドウ
- ファイル詳細ウィンドウ
関連記事
ビデオ
入門記事
- インテル® コンパイラーによる AVX 最適化入門: 第 2 回 AVX への最適化について (その 1)
- インテル® コンパイラーによる AVX 最適化入門: 第 3 回 AVX への最適化について (その 2)
- インテル® コンパイラーによる AVX 最適化入門: 第 4 回 AVX への最適化について (その 3)
- コンパイラー最適化入門: 第 1 回 SIMD 命令とプロセッサーの関係
- コンパイラー最適化入門: 第 2 回 SIMD 命令と伝統的な IA 命令
- コンパイラー最適化入門: 第 3 回 インテル® コンパイラーのベクトル化レポートを活用する
- コンパイラー最適化入門: 第 4 回 自動ベクトル化はどんな時に行われるか
- コンパイラー最適化入門: 第 5 回 明示的にベクトル化されたコードを記述する
- コンパイラー最適化入門: 第 6 回 ベクトル化の裏技集
- インテル® コンパイラーを初めて使う際に知っておくべきこと
- インテル® コンパイラーの基本的な使用方法
- マルチスレッド開発ガイド: 4.1 インテル® コンパイラーによる自動並列化
- マルチスレッド開発ガイド: 4.6 インテル® Parallel Composer を利用して並列コードを開発する
注目記事
- 新しい最適化レポートを使用してインテル® コンパイラーをさらに活用する
- インテル® メニー・インテグレーテッド・コア・アーキテクチャー向けプログラミングとコンパイル
- インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーで OpenMP* を利用する最も一般的な手法
- インテル® SSE およびインテル® AVX 世代 (SSE2、SSE3、SSSE3、ATOM_SSSE3、SSE4.1、SSE4.2、ATOM_SSE4.2、AVX、AVX2、AVX-512) 向けのインテル® コンパイラー・オプションとプロセッサー固有の最適化
一般記事
- インテル® C++ コンパイラーでサポートされる C++11 の機能
- インテル® C++ コンパイラーでサポートされる C99 の機能
- インテル® C++ コンパイラーのベクトル化ガイド
- デフォルト・コンパイラーをインテル® C++ コンパイラーから x86 ターゲットの gcc コンパイラーへ戻す
- 組込みシステムにおけるインテル® C++ コンパイラーの利用
- インテル® AVX をサポートする第 2 および第 3 世代インテル® Core™ プロセッサー・ファミリー向けに手動でコードを配置するには
- ガイド付き自動並列化
- インテル® Composer XE 2013 入門:コンパイラーのプラグマ/ディレクティブ
- OMP_PROC_BIND の振る舞いがインテル製品以外のプロセッサーとの互換性をサポートしました
- インテル® Parallel Studio XE 2013 のポインター・チェッカー機能:スタティック解析、インテル® Inspector XE、Mudflap との相違点
- インテル® コンパイラーの浮動小数点演算における結果の一貫性
- PAOS – パックド構造体配列
- バッファー・オーバーランとダングリング・ポインターをデバッグするポインター・チェッカー (Part 1) (英語)
インテル® Cilk™ Plus 関連
- インテル® Cilk™ Plus を使用した並列化
- インテル® Cilk™ Plus の SIMD ベクトル化と要素関数
- インテル® Cilk™ Plus とコードサンプルによる導入ガイド (英語)
- インテル® Cilk™ Plus を利用した最も効率良い方法 (英語)
その他インテル® Cilk™ Plus に関しては Cilk™ Plus のページをご覧ください。
OpenMP* 関連
- OpenMP* 入門
- C++ 開発者が陥りやすい OpenMP* の 32 の罠
- 高度な OpenMP* プログラミング
- OpenMP* のサポート・ライブラリー
- OpenMP* を使用して既存のシリアルコードで並列処理の可能性を見つけよう
- OMP Abort エラーが発生した場合の対処方法
- OpenMP*、インテル® TBB、インテル® Cilk™ Plus におけるマスタースレッドとワーカースレッドの浮動小数点設定の違い
その他 OpenMP* に関しては OpenMP* のページをご覧ください。
その他の C++ コンパイラー関連日本語記事を検索
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。