AMD_Streamとは何? わかりやすく解説 Weblio辞書 (original) (raw)

AMD APP SDK

開発元 AMD
最新版 3.0 / 2015年8月25日 (8年前) (2015-08-25)
最新評価版 3.0 Beta / 2014年12月9日 (8年前) (2014-12-09)
対応OS Microsoft WindowsLinux
種別 ソフトウェア開発キット
公式サイト APP SDK - A Complete Development Platform - AMD
テンプレートを表示

AMD Accelerated Parallel Processing (AMD APP : エーエムディー・エーピーピー) とは、AMDによる、同社製CPU/GPU/APU向けの並列コンピューティング基盤テクノロジーである。AMD APP環境向けのソフトウェア開発キットとして、AMD APP SDKが公開されている。

同テクノロジーおよび開発キットの初期の名称はATI StreamおよびATI Stream SDKであり[1]ATIがAMDに買収された後、ATIブランドが存続している間は使われ続けていたが、その後ATIブランドの消滅・統合[2]とともにAMD Stream/AMD APPおよびAMD APP SDKに名称変更されている。

概要

AMD Stream (ATI Stream) SDKはスタンフォード大学で開発されたBrook言語をベースとして構築されたBrook+と、ランタイムを含む抽象化レイヤーとしてハードウェアの制御を行なうATI Compute Abstraction Layer (CAL) [3]によって構成されたGPGPU対応ソフトウェア開発用プラットフォームである。AMD Stream (ATI Stream) はGPGPUの実行基盤テクノロジーを指し、競合となるNVIDIACUDAに近い意味合いを持つ[4]。ATI Streamのリリース当初はAMD FireStreamシリーズ専用の開発・実行環境だったが、のちにAMD RadeonでもAMD Catalyst 8.12以降のドライバーを導入することでGPGPUソフトウェアを開発・実行できるようになった[5]

なお2015年現在のAMD APPは、AMD社が注力・推進しているヘテロジニアス環境(HSA)の標準API規格であるOpenCLを中核とする開発・実行環境にシフトしている。AMD APPプラットフォームにおけるOpenCLは、同社製のAMD RadeonAMD FireProといったGPUのほか、AMD FXシリーズのようなCPU、およびAMD AシリーズのようなAPUを総括的にサポートする[6]

AMD APP SDKは、バージョン3.0時点でOpenCL 2.0[7]、およびSPIR(英語版) 1.2に対応している[8] [9]

なお、AMD OpenCL 2.0ドライバーはGCN第1世代以降のAMDグラフィックス製品と互換性がある[10]

ライブラリ

AMD APPに関連して、AMDはGPGPU対応のライブラリをいくつか開発・公開している。

clMath

OpenCLベースのBLAS/FFTライブラリ(clBLAS/clFFT)[11]。かつてAccelerated Parallel Processing Math Libraries (APPML) としてバイナリのみが公開されていたが、clMathはGitHubで公開されている。Microsoft WindowsLinuxMac OS Xに対応している[12][13]

Bolt

STL互換のC++並列アルゴリズムライブラリ[14]。GitHubで公開されている[15]二分探索ソート、リダクション、スキャンなどのアルゴリズムが実装されている。OpenCL版とC++ AMP版が存在するが、バージョン1.3時点でWindows (Visual C++) とLinux (GCC) のみに対応しており、またAMDハードウェアのみをサポートしている。

脚注

[脚注の使い方]

  1. ^ ASCII.jp:OpenCLでCUDAを追撃!? AMD「ATI Stream」が狙うものは
  2. ^ 【PC Watch】 AMD、今年中にATIブランドをAMDブランドに統合
  3. ^ AMD CAL Programming Guide v2.0[_リンク切れ_]
  4. ^ AMDのGPGPU戦略は新章へ - ATI Streamの展望、DirectX Compute Shaderの衝撃 (2) ATI Streamとは? | マイナビニュース
  5. ^ AMDのGPGPU戦略は新章へ - ATI Streamの展望、DirectX Compute Shaderの衝撃 (1) Radeon HD 4000シリーズでネイティブGPGPU | マイナビニュース
  6. ^ Getting Started with OpenCL™ - AMD[_リンク切れ_]
  7. ^ APP SDK - A Complete Development Platform - AMD[_リンク切れ_]
  8. ^ AMD's APP SDK 3.0 Beta with OpenCL 2.0 support[_リンク切れ_]
  9. ^ AMD APP SDK v3.0 Beta Developer Release Notes[_リンク切れ_]
  10. ^ AMD OpenCL™ 2.0 Driver[_リンク切れ_]
  11. ^ clMath - AMD[_リンク切れ_]
  12. ^ clMathLibraries/clFFT · GitHub
  13. ^ clMathLibraries/clBLAS · GitHub
  14. ^ Bolt C++ Template Library - AMD[_リンク切れ_]
  15. ^ HSA-Libraries/Bolt · GitHub

関連項目

この項目は、コンピュータに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めていますPJ:コンピュータ/P:コンピュータ)。
並列計算
総論 クラウドコンピューティング グリッド・コンピューティング 高性能計算 コンピュータ・クラスター 分散コンピューティング
並列レベル タスク データ ビット 命令
スレッド スーパースレッディング(英語版ハイパースレッディング
理論 アムダールの法則 グスタフソンの法則 コスト効率性(英語版) Karp-Flatt metric(英語版) Parallel slowdown(英語版) Speedup(英語版
要素 スレッド ファイバー プロセス PRAM Instruction window(英語版
調整 キャッシュコヒーレンシ 同期 バリア マルチスレッディング マルチプロセッシング メモリコヒーレンス Cache invalidation(英語版) Application checkpointing(英語版
プログラミング スレッド (コンピュータ) 並列プログラミングモデル Implicit parallelism(英語版) Explicit parallelism(英語版並行性 フリンの分類 SISD SIMD MISD MIMD SPMD(英語版Lock-freeとWait-freeアルゴリズム
ハードウェア スーパーコンピュータ スーパースカラー ベクトル計算機 マルチプロセッシング 対称型 非対称型 マルチコア メモリ NUMA en:COMA en:分散型 共有型 分散共有型 SMT MPP Beowulf
API Ateji PX(英語版Boostスレッド C++ AMP Charm++(英語版) Cilk(英語版) Coarray Fortran(英語版CUDA Dryad(英語版) Global Arrays(英語版) Intel Cilk Plus(英語版Intel Threading Building Blocks MPI OpenACC OpenCL OpenHMPP(英語版OpenMP PVM POSIXスレッド UPC
問題 en:Embarrassingly parallel en:Grand Challenge en:Software lockout
並行計算 カテゴリ:並行計算 カテゴリ:並列コンピューティング