インテル® Modern Code

より高速なコードで素早いブレークスルーをドライブ: 今日のハードウェア上でより多くの結果を取得し、将来でもコードを利用できるようにする。

Code Modernization – コード・モダニゼーション (現代化) とは?

このページでは、インテル® Modern Code に関連する記事や参考資料へのリンクをまとめています。このページは、https://software.intel.com/en-us/modern-code をもとにしています。

概要

マルチレベルの並列処理は、ベクトル化、マルチスレッド、そしてマルチノードの最適化を通じて、近年のハードウェア上で利用可能な並列パフォーマンスの機能をすべて活用するフレームワークです。今日と将来のハードウェア向けに効率良くスケールする並列アルゴリズムを作成する方法を模索します。

技術的なソリューションと情報については、Code Modernization ライブラリーをご覧ください。

インテル® Modern Code チャレンジ: 新しい
コンテストで違いを知りましょう。(https://software.intel.com/en-us/modern-code/challenge)

インテル® Xeon Phi™ コプロセッサーとインテル® Parallel Studio XE Cluster Edition を特別価格で提供。

ケーススタディー

異種分散システムにおける有限差分法
ANSYS* Scales シミュレーションのパフォーマンス
ケーススタディー: 段階的な最適化フレームワークを使用したモンテカルロ・ヨーロピアン・オプションの計算パフォーマンスの向上
ケーススタディー: 計算集約型ループにおける配列構造体と構造体配列レイアウトの比較
ケーススタディー: インテル® アドバンスト・ベクトル・エクステンションによるブラックショールズの計算

マルチレベルの並列性のビデオ

ビデオの内容: インテル社のチーフ・エバンジェリストであるジェームス・レインダースが、Code Modernization と開発者がアプリケーションにどのようにモダン・ソフトウェア開発のベスト・プラクティスを適用できるか説明します。

パラレルに考える (英語)

並列プログラミング・モデル (英語)

HPC アプリケーションにおけるマルチレベル並列処理の実装 (英語)

並列プログラミング入門
(英語)

OpenMP* 4.0 による C/C++ のベクトル化 (英語)

 

はじめに

マルチレベルの並列性

ここでは、インテル® アーキテクチャー上でマルチレベルの並列処理を活用し、アプリケーションに Code Modernization を実装する手法を説明する重要な記事が示されています。

Code Modernization – コード・モダニゼーション (現代化) とは?

ベクトル化

モダン・ハードウェア上で並列パフォーマンスを達成する重要な要素は、Single Instruction Multiple Data (SIMD) 命令セットとして知られるベクトル命令を活用することです。

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

インテル® Xeon® プロセッサーとインテル® Xeon Phi™ コプロセッサー上で分子動力学 (MD) に SIMD 命令を実装する

要素関数 (SIMD 対応関数) における Lenear と Uniform 節の利用法 (英語)

マルチスレッド化

アクティブスレッドの数を増やす: ソフトウェアは、モダン・ハードウェア上で利用可能なすべてのコアの利点を得ることができます。

マルチスレッド・アプリケーションの開発ガイド

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

効率良い並列化

マルチノード (クラスター)

クラスター・アーキテクチャーは、スケールするアルゴリズムによって高い並列パフォーマンスを達成することができます。インテル® MPI ライブラリーと分散メモリーモデルの使い方を学びます。

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

MPI アプリケーションの解析 (英語)

トレーニング

無料のオンライン・トレーニング

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

» 一般公開オンライン・トレーニングはこちらから

無料のライブ・トレーニング

モダンコード技法を使用したアプリケーションへの投資による、より速く結果を得る、より速く処理する、そしてより速くリターンする方法を学ぶには、こちらをご覧ください。インテルと業界をリードするパートナーによるハンズオン・トレーニングは、インタラクティブなウェブセミナーや最寄りのイベントで受講できます。

すべてのイベントを見る ›

日本国内のイベントを見る ›


高速なブレークスルーに向けコードを最適化する

このガイドと例は、高速なコードを記述して、アプリケーションの高速ブレークスルーを進めるのに役立ちます。

インテル® Xeon® プロセッサーおよびインテル®Xeon Phi™ コプロセッサー・アーキテクチャーの紹介 (英語)

インテル® コプロセッサー向けオフロード・プログラミング (英語)

ベクトルで並列処理を表現する (英語)

上記のトレーニング・カリキュラムはインテルによって提供され、すべてのラボと演習は、テキストブックに含まれています。

ラボをダウンロード


開発プロセスを簡略化

アプリケーションのパフォーマンスを最適化するため、インテル® Parallel Studio XE ツールスイートを使用する方法を学びます。

インテル® Advisor XE でコードを再設計 (英語)

クラスター中のインテル® Xeon Phi™ コプロセッサー:
戦略と技法 (英語)

インテル® Visual Fortran 開発の紹介 (英語)

ほかのビデオを検索


インテル® 並列コンピューティング・センターについて

高速で信頼性の高いアプリケーションを開発するのに役立つ秘訣と技法。

Hydro2D:正確から正確で効率良くへ (英語)

"正確" から "正確で効率良く" へ: miniMD のケーススタディー (英語)

パラレルに考える: ハードウェアとソフトウェアのためのインテル® 並列アーキテクチャー (英語)

ほかのビデオを検索

ツール

ツール

アプリケーションのビルド、デバッグおよびチューニングに役立つ高度なツールを使用して、今日および将来のハードウェア向けにコードを簡単にモダン化する。

ガイド

ソフトウェア・ドライバー:インテル® メニーコア・プラットフォーム・ソフトウェア・スタック (インテル® MPSS)
インテル® ソフトウェア開発製品
リファレンス・ガイド、パッケージ、およびサポート (英語)
インテルとサードパーティーのツールとライブラリー (英語)
インテル® Xeon Phi™ コプロセッサー・ソフトウェア開発者ガイド (英語)
インテル® Xeon Phi™ コプロセッサー向けにオープンソースをコンパイル (英語)

インテル® Parallel Studio XE

インテル® Parallel Studio ツールスイートを使用して、アプリケーションのビルド、デバッグ、そしてチューニングを簡素化。

新機能

  • ベクトル化とスレッド化によるコードの高速化。ベクトル化アドバイザーは、短期間で効率良くベクトル化を行うためのツールとヒントを提供します。
  • インテル® Data Analytics Acceleration Library (インテル® DAAL) により、データ分析と機械学習プログラムのスピードを高めます。
  • MPI Performance Snapshotを使用して、MPI ジョブを高速にプロファイル (最大 32000 ランク) することで、クラスターのパフォーマンスを改善します。

インテル® Advisor XE

インテル® Advisor は、ソフトウェア設計者向けのベクトル化とスレッド化を実装するための設計ツールです。

  • モダン・プロセッサー上では、ベクトル化とスレッド化を実装しないとパフォーマンスは得られません。
  • ループ回数、データ依存性、メモリー・アクセス・パターンなどを取得
  • 単純な手順に従って、コードを高速化

主要ツールとコンポーネント

インテル® C/C++ コンパイラーおよび
インテル® Fortran コンパイラー

インテル® MKL

インテル® MPI ライブラリー

インテル® VTune™ Amplifier XE
パフォーマンス・プロファイラー


ドキュメント

インテル® ソフトウェア開発スイートとプラットフォーム向けのリファレンス・ドキュメント。

インテル® ソフトウェア・ドキュメント・ライブラリー ›

関連記事

最新の記事:

IDF15 – ウェブキャスト:Code Modernization のベスト・プラクティス (英語)

インテル® Xeon® プロセッサー E5 ファミリー・ベースのマルチノード分散メモリーシステム上の Caffe* 学習

IDF 15 ウェブキャスト:データ解析とマシーンラーニング (英語)

MPI-3 共有メモリー・プログラミングの紹介 (英語)

新しい MPI-3 標準によるパフォーマンスの課題を克服 (英語)

インテル® Modern Code 開発者チャレンジ (英語)

PGO: Let It Go (PHP)

OpenMP* で入れ子並列を利用する (英語)

Modern Code を開発するためのコミュニティー (英語)

インテル® MIC アーキテクチャー向けの最適化技術ガイド

最新の記事へ ›

以前の記事: