インテル® Xeon Phi™ プロセッサー

このページではインテル® Xeon Phi™ プロセッサーのプログラミングに関する記事や参考資料へのリンクをまとめています。このページは http://software.intel.com/en-us/mic-developer の参考訳をもとにしています。

概要

使い慣れたソフトウェアと革新的なアーキテクチャーによる生産性。インテル® Xeon Phi™ プロセッサー:

  • 省電力ハードウェアによる高い度合の並列性サポートを拡張
  • 投資を保護するため、使い慣れた標準的なプログラミング・モデルを利用
  • 汎用プロセッサーと並列プログラミングを共有

革新的なイノベーションや科学的発見を実現する先進の並列処理性能を備えたインテル® Xeon Phi™ プロセッサーの製品に関する情報はこちらをご覧ください。

導入ガイド 利用ガイドとマニュアル
インテル® Xeon Phi™ コプロセッサーは、皆さんに適していますか? インテル® Xeon Phi™ コプロセッサー開発者クイック・スタート・ガイド
インテル® Xeon Phi™ コプロセッサー – アーキテクチャー インテル® Xeon Phi™ コプロセッサー命令セットアーキテクチャー・リファレンス・マニュアル (英語)
サイトマップ: 管理者向け開発者向け研究者向け システム管理者ガイド (英語)
インテル® Xeon® プロセッサーとインテル® Xeon Phi™ コプロセッサー向けプログラミングの概要 インテル® Xeon Phi™ コプロセッサーへのワークロードの適合性を評価する

ツールとダウンロード

プログラミング

並列プログラミングは将来への進化の一部です。インテル・プロセッサーとコプロセッサーは集中した方法を提供するため、開発者は一般的なプログラミング・モデルとツールを利用することができます。

  • 今日も将来へもスケールする標準駆動型の並列プログラミング・モデル
  • 確立された開発ワークフローを利用した将来へスケールするコードベース
  • プロセッサーとコプロセッサーの両方の技法の恩恵を得られるため、過去と将来の投資を保護します

インテル® Xeon® プロセッサーおよびインテル® Xeon Phi™ コプロセッサーを含むマルチコア/メニーコア製品向けのプログラミング

マルチコアおよびメニーコア製品向けのプログラミングの要点をまとめています

インテル® Xeon Phi™ コプロセッサー向けコード集 (英語)

プログラミング


デバッグ

最適化

トレーニング


ビデオ

ソフトウェア開発者向けワークショップ・ビデオ
インテル® Xeon Phi™ コプロセッサー向けのソフトウェア開発環境に関する技術的なガイドをご覧いただけます。

オンライン・トレーニング (日本語)

インテル® Xeon Phi™ コプロセッサーに取り組む開発者向けに、Code Modernization に役立つ情報をオンライン・トレーニング形式で一般公開します。

» 一般公開オンライン・トレーニングはこちらから
入門ビデオ (英語) 高度なビデオ (英語)

インテル® Xeon Phi™ コプロセッサー
入門ワークショップ (英語)

  はじめに
  目的

コンパイル
  オフロード計算
  Part1
  Part2
  Part3

  高度なオフロード手法
  Part1
  Part2
  Part3

最適化とパフォーマンス
  最適化
  Part1
  Part2
  Part3

  パフォーマンス
  パフォーマンス解析

プログラミング・モデル
  Part1
  Part2
  Part3
  Part4

まとめと総論
  まとめ
  総論


その他ウェブ・トレーニング (英語)

インテル® Xeon Phi™ コプロセッサー向けのコンパイル: ベクトル化、アライメント、プリフェッチなど

ライフサイエンス: Lattice QCD と mpi-Hmmer の移植とチューニング

オイルとガス: インテルツールを使用してアプリケーションの能力を拡大

インテル® Xeon Phi™ コプロセッサー
上級ワークショップ (英語)

  概要と目的
  パフォーマンスとコンテキスト

通信と実行
  Part 1: 概要とディレクトリー
  Part 2: Proxy
  Part 3: 使用法
  実行

ベクトル化
  Part 1: はじめに
  Part 2: 配列1
  Part 3: 配列2
  Part 4: SIMD 対応関数 (要素関数)
  Part 5: ループ関数
  Part 6: ケーススタディー
  Part 7: 最適化の先に
  Part 8: まとめ

デバッグ
  Part 1: 概要とインストール
  Part 2: ネイティブ・コマンドライン・デバッグ
  Part 3: オフロードコード & GDB と IDB 比較
  Part 4: 完全な GUI 環境でのデバッグ
  Part 5: デバッグ・チュートリアル

パフォーマンス
  Part 1: 移植のチェックリスト
  Part 2: パフォーマンス・チューニング・ツール
  Part 3: パフォーマンス・チューニングのヒント
  Part 4: パフォーマンス・チューニング

メモリー
  Part 1: 基礎とセマンティクス
  Part 2: パフォーマンス・チューニング

通信と実行
 ワークショップの訂正をダウンロード

ツール関連ビデオ
システム管理 (英語)
Part 1: はじめに、インストール & 設定
Part 2: ブート & モニタリング
Part 3: さらに詳細な設定
Part 4: 追加のソフトウェア
Part 5: トラブルシュート
MPI (英語)
Part 1: 概要
Part 2: インストール
Part 3: プログラミング・モデル
Part 4: ハイブリッド・コンピューティング
Part 5: インテル® Trace Analyzer および Collector
Part 6: ロードバランス
Part 7: デバッガー
VTune™ Amplifier XE ビデオ・チュートリアル (英語)
1: ネイティブ・アプリケーション向けのホットスポット収集
2: オフロード・アプリケーション向けのホットスポット収集
3: “General Exploration” 解析の実行
4: “Memory Bandwidth” と “Custom Analysis” の実行
5: コマンドラインで使用する

MKL (英語)
Part 1: はじめに & 自動オフロード
Part 2: コンパイラー支援のオフロード
Part 3: ネイティブ・アプリケーション、パフォーマンス・ロードマップ、ユーザーサポート

MKL(日本語)
インテル® MKL を使用したインテル® Xeon Phi™ コプロセッサー向けチューニング (http://www.intel.co.jp/content/www/jp/ja/developer/mkl-for-xeon-phi-overview.html)

トレーニング資料 (英語)

サンプルコード

名称 / 説明 プログラミング言語 対象の経験レベル

BeginningSlides_ExtractedCode.zip
インテル® Xeon Phi™ コプロセッサー入門ワークショップのスライドからピックアップしたサンプルコードです。

C++、Fortran

入門

BeginningLabs_FortranVersion.zip
インテル® Xeon Phi™ コプロセッサー入門ワークショップ(Fortran版)の演習です。

Fortran

入門

BeginningLabs_CVersion.zip
インテル® Xeon Phi™ コプロセッサー入門ワークショップ(C++ 版)の演習です。

C/C++

入門

Advanced Workshop Labs
インテル® MKL、インテル® MPI、デバッグ、メモリー最適化、チューニングそしてベクトル化などのより高度な最適化の演習です。

C/C++、Fortran

高度

Importance of Vectorization (Fortran example)
インテル® メニー・インテグレーテッド・コア・アーキテクチャー(インテル® MIC アーキテクチャー)とインテル® Xeon Phi™ コプロセッサーを搭載するシステムから良好なパフォーマンスを引き出すには、アプリケーションは多くのコアと同様に512 ビット SIMD レジスターを活用しなければいけません。このサンプルでは、ベクトル化に焦点を当てています。

Fortran

高度

Many Faces of Parallelism
この演習は、シリアル問題をインテル® Xeon Phi™ コプロセッサーで実行するため並列化するソリューションに移行する手順を説明する多くの例題(リーマン和、SGEMM、フィボナッチ数列、Qsort、コレスキー分解、マンデルブロー集合など)を含んでいます。

C/C++

高度

Intel® SDK for OpenCL* Applications XE Samples

OpenCL

入門

iXPTC 2013 Financial Services conference

C/C++

入門

SHOC MD Lab Exercises
アプリケーションの移植と最適化の例として、分子動力学からレナードジョーンズ・ポテンシャルを使用した nbody ペア計算の簡単な実装を紹介します。

C/C++

入門


書籍

関連書籍

インテル® Xeon Phi™ コプロセッサー ハイパフォーマンス・プログラミング
著者 ジム・ジェファース/ジェームス・レインダース 出版日: 2013 年 12 月 |
ISBN: 978-4-87783-332-9

Intel® Xeon Phi™ Coprocessor High Performance Programming
著者 Jim Jeffers , James Reinders
出版日: 2013 年 3 月
ISBN: 978-0-124104143

構造化並列プログラミング: 効率良い計算を行うためのパターン
著者 マイケル・マックール/アーク・D・ロビソン/ジェームス・レインダース(共著)
訳者 菅原 清文/エクセルソフト株式会社(共訳)
ISBN 978-4-87783-305-3

Structured Parallel Programming: Patterns for Efficient Computation
著者 Michael McCool, James Reinders ,Arch Robison
出版日: 2012 年 7 月 9 日
ISBN: 978-0-124159938

Parallel Programming and Optimization with Intel® Xeon Phi™ Coprocessors
著者 Colfax International 
出版日: 2013 年 3 月
ISBN: 978-0-9885234-1-8

Intel® Xeon Phi™ Coprocessor Architecture and Tools – The Guide for Application Developers
著者 Reza Rahman
出版日: 2013 年 9 月
ISBN-10: 1430259264
ISBN-13: 978-1430259268


外部トレーニング

エクセルソフト株式会社
Acceleware
(http://www.acceleware.com/xeon-phi-training)
Colfax International (英語)

記事


導入

Ganglia を利用したインテル® Xeon Phi™ クラスターの監視

インテル® Xeon Phi™ コプロセッサー開発者向けリソースガイド


入門

インテル® Xeon Phi™ コプロセッサー – アーキテクチャー

インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャー向けプログラミングとコンパイル

インテル® コンパイラーの基本的な使用方法

インテル® Xeon Phi™ コプロセッサー開発者向けリソースガイド

インテル® MIC アーキテクチャーに適したアプリケーション解析

インテル® MIC アーキテクチャーの準備

インテル® Xeon Phi™ コプロセッサーへのワークロードの適合性を評価する

インテル® Xeon Phi™ コプロセッサーは、皆さんに適していますか?

インテル® Xeon Phi™ コプロセッサー向けネイティブ・アプリケーションのビルド

インテル® Composer XE 2013 入門: コンパイラーのプラグマ/ディレクティブ

HPC パフォーマンスの測定

インテル® マス・カーネル・ライブラリー(インテル® MKL) 関連記事

インテル® Xeon Phi™ コプロセッサーをサポートするシステム

インテル® Xeon Phi™ コプロセッサー向けの最適化とパフォーマンス・チューニング – パート 1: 最適化の基本

インテル® Xeon Phi™ コプロセッサー向けの最適化とパフォーマンス・チューニング – パート 2: ハードウェア・イベントの理解と使用


デバッグ

インテル® Xeon Phi™ コプロセッサーでのデバッグ: 使用例

インテル® Xeon Phi™ コプロセッサーへの Windows* 初期対応


オフロード

インテル® C++ コンパイラーのオフロード機能を効率良く使用するには

Fortran と C のオフロード宣言子/指示句と関数

インテル® Xeon Phi™ コプロセッサー向けにインテル® MKL の利用モデルを選択する方法

インテル® Xeon Phi™ コプロセッサー向けにインテル® MKL のワーク分割を制御する方法


ベクトル化

インテル® Cilk™ Plus の配列表記による外部ループのベクトル化

外部ループのベクトル化

配列表記のトレードオフ

乱数関数のベクトル化

ベクトルのフル活用と -opt-assume-safe-padding オプションの使用

ベクトル化の可能性を高めるデータ・アライメント

Fortran の配列データおよび引数とベクトル化

gatherhint/scatterhint 命令の選択的使用

ギャザーによる構造化されたデータのベクトル化


並列化

-opt-threads-per-core コンパイラー・オプションを利用したコアあたり 1-4 スレッドのスケジュール

一般的なベクトル化のヒント

インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーで OpenMP* を利用する最も一般的な手法

インテル® Cilk™ Plus を使用した並列化

OpenMP* 関連のヒント

OpenMP* ループ・スケジュール

OpenMP* スレッド・アフィニティーの制御

OpenMP* を使用した並列化

インテル® MPI を使用した並列化

インテル® Xeon Phi™ コプロセッサー・システムにおけるインテル® MPI ライブラリーの使用

インテル® Xeon Phi™ コプロセッサー向け OpenCL* アプリケーションの設計とプログラミング・ガイド


最適化

インテル® VTume™ Amplifier XE 2015 におけるインテル® Xeon Phi™ コプロセッサー向けコールスタック・イベントベース・サンプリング

インテル® MIC アーキテクチャー向けの高度な最適化

インテル® MIC アーキテクチャー向けの高度な最適化 - 手動によるループアンロールの回避

インテル® MIC アーキテクチャー向けの高度な最適化 - ベクトル化の基本

インテル® MIC アーキテクチャー向けの高度な最適化 - ネイティブおよびオフロードのプログラミング・モデル

インテル® MIC アーキテクチャー向けの高度な最適化 - ヘテロジニアス・プログラミング・モデル

インテル® MIC アーキテクチャー向けの高度な最適化 - 精度を下げて最適化

インテル® MIC アーキテクチャー向けの高度な最適化 - ピーク転送レートを達成する方法

インテル® MIC アーキテクチャーの ABI に準拠するデータアクセスのための要素単位のアライメント

メモリーレイアウト変換

キャッシュ・ブロッキング手法

ソースコードの変更

ラージページについての考察

メモリー割り当てとファーストタッチ

インテル® Xeon® プロセッサーとインテル® Xeon Phi™ コプロセッサーの浮動小数点演算の違い


古い記事

Knights Corner マイクロアーキテクチャーのサポート

Knights Corner: オープンソースのソフトウェア・スタック

*関連する記事を iSUS で検索する

サポート


コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。