とらえどころのないアルゴリズム – 並列スキャン

同カテゴリーの次の記事

とらえどころのないアルゴリズム - 並列スキャン (追記)

この記事は、インテル® デベロッパー・ゾーンに公開されている「Elusive Algorithms – Parallel Scan」の日本語参考訳です。


並列プログラミングに関するこの記事は、一見するとベクトル化や並列化が不可能に思われる、「見つけにくいアルゴリズム」のいずれかを選択します。この記事の目標は、特定のアルゴリズムに対処するだけでなく、むしろ類似するアルゴリズムに向けたアプローチを提供することです。この記事における「とらえどころのないアルゴリズム」は、次のような包括的なスキャンです:

 In:          1             2             3             4             5             6             7             8            …
Out:        1             3             6             10           15           21           28           36           …

ここで、出力は前の出力の和 (最初は 0) であり、入力値です。このループは、ベクトル化と並列化を妨げる時間の依存性を持っています。次の記事では、このようなケースにベクトル化と並列化の両方を実現する方法について説明しています:

とらえどころのないアルゴリズム – parallel scan.pdf (452.39 KB) (英語)

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

関連記事

  • Linux* ホスト上でインテル® Xeon Phi™ コプロセッサー向けアプリケーションをデバッグLinux* ホスト上でインテル® Xeon Phi™ コプロセッサー向けアプリケーションをデバッグ この記事は、インテル® デベロッパー・ゾーンに掲載されている「Debugging Intel® Xeon Phi™ Applications on Linux* Host」の日本語参考訳です。 目次 はじめに インテル® MIC 向けデバッグ・ソリューション 入手方法 インテルから提供される GNU* GDB […]
  • インテル® MIC アーキテクチャーの準備インテル® MIC アーキテクチャーの準備 この記事は、インテル® デベロッパー・ゾーンに掲載されている「Preparing for the Intel® Many Integrated Core Architecture」の日本語参考訳です。 インテル® MIC アーキテクチャー向けのコンパイラー手法 インテル® […]
  • Unity* 設定のヒント: メモリー、オーディオ、テクスチャーUnity* 設定のヒント: メモリー、オーディオ、テクスチャー この記事は、インテル® デベロッパー・ゾーンに公開されている「Unity Configuration Tips: Memory, Audio, and Textures」の日本語参考訳です。 この記事の PDF […]
  • ソースコードの変更ソースコードの変更 この記事は、インテル® ソフトウェア・サイトに掲載されている「Expectations for User Source Code Changes」の日本語参考訳です。 はじめに ほとんどのコードは、多少変更するか、もしくは全く変更しなくても、インテル® メニー・インテグレーテッド・コア (インテル® MIC) […]
  • とらえどころのないアルゴリズム – 並列スキャン (追記)とらえどころのないアルゴリズム – 並列スキャン (追記) この記事は、インテル® デベロッパー・ゾーンに公開されている「Elusive Algorithms - Parallel Scan」の日本語参考訳です。 先月、IDZ の MIC フォーラムでの問い合わせ "C 言語でインテル® Cilk™ Plus を使用して包括的なスキャンを行うには? […]