OpenCL
[Wikipedia|▼Menu]
□記事を途中から表示しています
[最初から表示]

LLVM/ClangにはOpenCLのフロントエンド[67]およびPTXのバックエンド[68]が含まれており、OpenCLからLLVM IRを通してPTXへと変換し、CUDA Driver APIで実行したり[69]、ptxasでSASSへと変換することが可能[69]
AMD Intermediate Language (AMD IL)
AMDのGPU向けのハードウェア非依存な擬似アセンブリ言語[70]。コンパイルは、CAL (Compute Abstraction Layer) APIのcalclCompile関数で行なう[71]。@media screen{.mw-parser-output .fix-domain{border-bottom:dashed 1px}}asm文によって、OpenCLのコードにAMD ILのコードを埋め込むことも可能[要出典]。なおAMD ILのサブセットはローレベルグラフィックスAPIであるMantleでも利用されていた[72]
AMD Instruction Set Architecture (AMD ISA)
AMDのGPUで使われるハードウェア依存の低級アセンブリ言語。LLVMがTeraScale(英語版)(VLIW4/5) およびGCNアーキテクチャに対応するR600バックエンドを持っており[73][74]、LLVM/ClangでOpenCLからAMD ISAアセンブリへと変換したり、AMD ISAアセンブリからllvm-asでバイナリ化したりすることが可能。アセンブルしたバイナリはOpenCL APIのclCreateProgramWithBinary関数で実行する。
Intel GEN Assembly
Intelの内蔵GPU用のアセンブリであり、OpenCLコードのデバッグに使われている[75]。Intel-gpu-tools 1.4以降にはIntelの第四世代GPU以降に向けたオープンソースのアセンブラー「intel-gen4asm」が含まれている[76]。また、SYCLの実装系の一つIntel oneAPI DPC++ Compilerは低レベルラッパーのExplicit SIMD Programming Extensionを備えている[77]
TGSI (Tungsten Graphics Shader Infrastructure)
オープンソースなハードウェア非依存の中間言語[78]。オープンソースGPUドライバーであるMesa 3D/Gallium3Dの中間表現形式として使われている。2013年現在、Gallium3D OpenCL実装のために、LLVMのTGSIバックエンドが開発中となっている[79]。GPGPUだけでなく、グラフィックスにも対応している。
SPIR(英語版) (Standard Portable Intermediate Representation)
クロノス・グループによって、OpenCLのために開発された中間言語。OpenCL 1.2とともにSPIR 1.2が、そしてOpenCL 2.0とともにSPIR 2.0が策定された。OpenCL 2.1およびVulkanとともに策定されるSPIR-Vでは、GPGPUだけでなく、グラフィックスにも対応している[80]
HSAIL
HSA Foundationで標準化されたヘテロジニアスシステムアーキテクチャ(英語版)(HSA) 向けのハードウェア非依存な中間言語。AMDやLLVMのOpenCL実装がHSAIL中間表現形式の出力に対応している[81]。異種コア間のスケジューリングを前提としており、グラフィックスには非対応[82]
OpenCL開発環境

この節に雑多な内容が羅列されています。事項を箇条書きで列挙しただけの節は、本文として組み入れるか、または整理・除去する必要があります。(2021年3月)

ウィキペディアはオンライン百科事典であって、情報を無差別に収集する場ではありません。改善やノートページでの議論にご協力ください。(2021年3月)

OpenCLを使用したクライアント プログラムを開発するための代表的なソフトウェア開発キット(SDK)として、主に各ハードウェア ベンダーから下記のSDKが提供されている。
NVIDIA CUDA Toolkit
Windows, Linux, macOS用が提供されている。CUDA Toolkit 7.5時点でOpenCL 1.2に対応している[83][84][85]。かつてNVIDIAのOpenCL SDKはNVIDIA GPU Computing SDKに含まれていて、CUDA SDKとは独立していたが、CUDA 5.0からはCUDA Toolkitにすべて含まれるようになった。以前のバージョンのGPU Computing SDKはアーカイブとして公開されている[86][87]
AMD APP SDK
AMD Stream SDKの後継。Windows, Linux用が提供されていた。AMD APP SDK 3.0の時点でOpenCL 2.0、SPIR(英語版) 1.2に対応していた[88][89][90]。GPUOpen(英語版)のGitHubサイトにて必要最低限の軽量なOCL-SDK (OCL_SDK_Light) が公開されている[91][92]が、2017年を最後に更新されていない。
Intel SDK for OpenCL Applications
Windows および Linux 用が提供されている。開発ツールの OpenCL Tools もある。OpenCL 2.0、SPIR(英語版) 1.2をサポートしている[93][94]。IntelのICDと対応ハードウェアを搭載するAndroid環境でもOpenCLを利用することができる[95][96][97][98][99]。Intelの現行のOpenCL実装 (Neo) はマルチプラットフォームでオープンソースとなっている[100]。以前はクローズドソースの古い実装 (Classic) とLLVMベースのオープンソース実装 (Beignet) の二つが存在した[100]。また、以前は統合ツールとして Intel Integrated Native Developer Experience (Intel INDE) も提供されていたが、2018年に提供終了となった[101]
Qualcomm Adreno SDK
Snapdragon 向け
ARM Mali OpenCL SDK
ARM Mali(英語版)を採用したSoC向けだった。SDK v1.1時点でOpenCL 1.1に対応していた。ARM Compute Libraryに置き換えられた。
Imagination PowerVR SDK
iPhone 7 以前などで使われている PowerVR 向け
IBM OpenCL SDK
PowerPC 上の Linux に向けたもの。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:95 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef