AGP #1

Android で GPU programming をするにはどうするんじゃろ、というのを調べる試み。といっても Android と一般化するとほぼ不可能であることが知られているので Pixel 限定で。自分的にはそれで問題なし。

特に何も見ずに候補を考えてみる。

  • OpenGL - いちおう GPGPU できることが知られている。
  • Vulkan - 同上。
  • OpenCL. SDK には入ってないが, Qcom とか ARM とかには SDK がある。ただ一般開発者は使うえるものなのだろうか。
  • NNAPI - NN 特化だが、いちおう計算を投げることはできる。
  • RenderScript ... はお亡くなりになりましたので無視。

常識的に考えると OpenCL が動くなら一番妥当。ただ常識が通じないのが Android の世界である。

TensorFlow Lite はどうしているのか?

"GPU Delegate" というのがある。実装は GL と CL の両方あるらしい。

CL はどうしているかというと・・・

次は何らかの standalone のバイナリを実装してみるべし。

  • Android Studio をインストールします・・・ NDK も入れます。
  • Bazel ... というか Bazelisk というやつをインストールします。
  • まずは hello しましょう。Bazel Tutorial: Build an Android App
  • ここまで・・・。