Nonchalant(Radio Edit)/Dack Sauce…Radio Editじゃないの( https://www.youtube.com/watch?v=xDbvqXmY-uk )を聞くことが多いけど、Radio Editも良いっすね。
OpenBSD(uaa@), Ham(JG1UAA), Ingress(Lv14, RES), Japanese(Sagamihara-city, Kanagawa)
Another side: https://social.tchncs.de/@uaa
npub1rarr265r9f9j6ewp960hcm7cvz9zskc7l2ykwul57e7xa60r8css7uf890
Messages from this Mastodon account can read via mostr.pub with npub1j3un8843rpuk4rvwnd7plaknf2lce58yl6qmpkqrwt3tr5k60vfqxmlq0w
Nonchalant(Radio Edit)/Dack Sauce…Radio Editじゃないの( https://www.youtube.com/watch?v=xDbvqXmY-uk )を聞くことが多いけど、Radio Editも良いっすね。
@reasonset どうも自分の引いたblog記事が引用していた文献が古かったのでradeontopを紹介しちゃった感じですね…(確かに今はradeonドライバではなくamdgpuドライバなので)
Monitoring AMD, Intel and NVIDIA graphics card usage under Linux https://rk.edu.pl/en/monitoring-amd-intel-and-nvidia-graphics-card-usage-under-linux/ (12/May/2014)
リスキリングとかいうのって、リストラと同じく、首切りの言い換え語という理解をしている
このアカウントは、notestockで公開設定になっていません。
おおおおおお
uaa@DESKTOP-251U0UF:~/LPCNet/build.opencl/src$ time cat ~/test.out | ./lpcnet_de
c -s > /dev/null
direct split VQ
dec: 3 pred: 0.00 num_stages: 4 mbest: 5 bits_per_frame: 52 frame: 30 ms bit_rate: 1733.33 bits/s
64 1 1 16 128 1152 160 160 160 160
ftest cols = 2002
real 44m18.963s
user 21m12.529s
sys 20m38.585s
uaa@DESKTOP-251U0UF:~/LPCNet/build.opencl/src$
Windows上のタスクマネージャで見るにSVM化前→後を比較すると
Copy 21%→92%
Compute 9%→63%ということで、前よりはArcが仕事をしてくれるようにはなったんだと思う。とはいえCPU単体よりはるかにおっそいし、HD630よりも遅い結果になりそう(HD630ならもう終わっている時間)。LinuxでもCPUの仕事っぷりはtopで見られるとして、GPUに対する同様なツールを探してみる必要があるのかなあ…って良いもんあるじゃないですか
Linux で GPU 負荷を調べる https://dskjal.com/linux/check-gpu-load.html
最後に落ちる問題を解決+ちょっといじっても、変わらない(Linux/HD630)。
uaa@emeraude:~/LPCNet/build.opencl/src$ time cat ~/test.out | ./lpcnet_dec -s > /dev/null
direct split VQ
dec: 3 pred: 0.00 num_stages: 4 mbest: 5 bits_per_frame: 52 frame: 30 ms bit_rate: 1733.33 bits/s
64 1 1 16 128 1152 160 160 160 160
ftest cols = 2002
real 24m8.163s
user 12m36.059s
sys 12m26.866s
uaa@emeraude:~/LPCNet/build.opencl/src$
CPUじゃないデバイスをいじって計算させるって面白いなということでしばらく遊んでみたけど…性能を出すには本当に難しい。CS学んでアルゴリズムとかデータ構造とかちゃんと分かってないと扱えないというのは言い過ぎかもしれないけど、なんかそんな気がする。
多分SSE/AVX/NEONで書いたところだけOpenCLで書き直すというやり方じゃ全然だめで、もう少し大きい単位…ロジック丸ごとをOpenCL化するとかしないと速度出ないはず。データもCPU/GPUのどっちに寄せるかとかも考えないといけないし(極端な話入力と結果だけCPU、他全部GPUとかそうでもしないと)。あとは処理の粒度であまりにも細かいとやっぱりCPUの方が融通利くし速いとか、そういうのもありそう。でもどれくらいの大きさにしないと利点感じないのかなというのはある。RC5-72 crackingみたいに軽い(?)データでも計算数が多いのはGPU有利って話もあるし。
OpenCL全っ然分からない…なにこの難しいの…使えば速くなるっていったじゃん(いってない)
ん-む、重み付け用の定数を別のSVMにマップしてそっちはmap/unmap対象から外したけど速度への寄与はなさそうだな…面倒だから以前と同じくワークバッファと一絡げにしちまおうか