はじめに 前回の記事でMetal.jl を用いたGPGPUの現状について紹介しました。 Apple SiliconのGPUを使えるAPI としては、Metalの他にOpenCLがあります。 Julia にはOpenCLのバインディングであるOpenCL.jlもあり、これを利用してもGPU計算が可能なのでここで紹介します。 さらに、Array Abstractionに関しては、利便性の高いHigh-Level APIであるArrayFireのバインディングのバックエンドとしてOpenCL を利用することでカーネルを書かずにかなり最適化された行列計算が可能になっているので併せて紹介します。 筆者の環境は MacBook Pro (14-inch, 2021) Chip: Apple M1 Pro (14 Core GPU) OS: Monterey 12.4 Julia v1.8.0-beta
