メインメニューを開く

AMD Accelerated Parallel Processing

ATI Streamから転送)

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

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

同テクノロジーおよび開発キットの初期の名称は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ハードウェアのみをサポートしている。

脚注編集

関連項目編集