OpenCL
2008年6月10日(日本時間)のWorldwide Developers Conference (WWDC 2008) において、Mac OS X Snow Leopard(v10.5 Leopardの次期メジャーバージョンとされる)に搭載される予定の技術の1つとして初めて発表された。
標準化団体クロノス・グループの2008年6月16日に発足した作業部会Compute Working Group (CWG) において、AppleによってOpenCLの仕様草案が提案された。CWGはGPUとCPUのヘテロジニアス(異種混在)な計算技術のロイヤリティフリーな標準化を目的としており、発足時点では3Dlabs、AMD、Apple、ARM、Codeplay、エリクソン、フリースケール・セミコンダクタ、Graphic Remedy、IBM、イマジネーション・テクノロジーズ(英語版)、インテル、ノキア、NVIDIA、モトローラ、QNX、クアルコム、サムスン、Seaweed、テキサス・インスツルメンツ、スウェーデン・ウメオ大学が参加している。
2008年8月のSIGGRAPH 2008および同年11月のSupercomputing 2008 (SC08) において、仕様策定の進捗状況が発表され、同時期にCompute Working Groupは名称をOpenCL Working Groupと改められ、新たにアクティビジョン・ブリザード、バルコ、ブロードコム、エレクトロニック・アーツ、エイチアイ、ケストレル研究所、Movidia、RapidMind(英語版)、TAKUMIが参加している。
また、OpenGL/Direct3Dでは浮動小数点テクスチャすなわちデータストレージのフォーマットとしてFP32形式のほかにFP16形式を選択できるが、通例GPUが得意とする演算精度は単精度であるため、シェーダープログラム中で利用できる演算精度は一般的には単精度となり、倍精度や半精度はオプション扱いとなる。
OpenCLのイメージオブジェクトをサポートするデバイス (CL_DEVICE_IMAGE_SUPPORT) では、バイリニアフィルタリングなどの高速なハードウェア機能を利用することもできる。
以下にOpenGL関連の拡張を列挙する。
cl_apple_gl_sharing, cl_khr_gl_sharing: OpenCL 1.0の拡張。
cl_khr_gl_event: OpenCL 1.2の拡張。
cl_khr_egl_image, cl_khr_gl_msaa_sharing: OpenCL 2.0の拡張。
NVIDIAのGPU向けのハードウェア非依存な擬似アセンブリ言語。PTXのアセンブラは、ptxasがある。asm文によって、CUDAやOpenCLのコードにPTXのコードを埋め込むことも可能。
LLVM/ClangにはOpenCLのフロントエンドおよびPTXのバックエンドが含まれており、OpenCLからLLVM IRを通してPTXへと変換し、CUDA Driver APIで実行したり、ptxasでSASSへと変換することが可能。