17-Aug-2023で試したdrowe67/LPCNetのOpenCL化、OpenCL1.xのclEnqueueReadBuffer()/clEnqueueWriteBuffer()で散々な結果だったので…OpenCL 2.0以降で使えるSVMを使ってみたらどうだろうかとかなり強引な修正を入れて試してみました。
雑に測った結果だと、HD630では9分→24分、Arc A770では146分→44分…CPUのベクタ演算命令を使った部分をなーんも考えずにOpenCLへ置き換える程度では全然高速化しないというかむしろ激しく低速化するということだけは確かです。画像処理のような大規模な物であれば話は変わるのでしょうが、今回の対象(LPCNet)はニューラルネットワークを使用した音声CODECです。AVX命令があれば十分に対応できる程度の規模ということになるのでしょう(それだけAVX命令が強力ということもできますかね)。
それでもOpenCLで何かしてみる、となるとLPCNet自体をOpenCLで書いてしまうという方向性になりそうですが、かけた労力に見合う物が手に入るとはあまり思えないのでここで退くのが良さそうです。CPUとは違う方向性の、強力な計算機に触れるのが楽しかったとしても。
という訳で、子供達の新学期は始まってしまいましたから…夏休みの宿題の提出には全然間に合わなかったのですが、夏の自由研究はこんな感じにまとめておきます。55.6kg(21:35)