軽率にGPUを使っていこう、OpenCL入門 https://vlsi.jp/tsukaouOpenCL.html
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
@1f46356a832a4b2d65c12e9f7c6fd8608a285b1efa896773f4f67c6ee9e33e21
なーんかCPUで演算してるっぽい感じが自分にはするんだけどなあ…
このアカウントは、notestockで公開設定になっていません。
RX6400載せて簡単にソフィー2を動かした感じでは、GT1030で見られた「ときどき妙に重くなる」現象は発生しなかった。とはいえ、調合パネル表示の際になんか引っかかる感じがあったりするので、やっぱりゲームするならそれなりの(お高い)GPUが欲しくなるねというのが率直な感想。多少の投資でまずまずの結果が得られているから文句は無いんだけどね。
全然終わってません、OpenCL-Benchmark。これGPU動いてるんでしょうか…CPUによる代用だったりしませんかね?(とはいえFP16 not supportedになってる)
FreeBSDならOpenCL使えるのか。 https://wiki.freebsd.org/Graphics/OpenCL
多分NetBSDも対応してるよね? https://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/parallel/opencl-clang/index.html
A8-7600でのOpenCL-Benchmarkは今実行中なんだけど、めちゃくちゃ遅い…
このアカウントは、notestockで公開設定になっていません。
でねえ…
自分はSNSへの投稿をライフログとして捉えているので、あとで読み返すときに分散してると厳しいという事情もある
このアカウントは、notestockで公開設定になっていません。
とりあえず、OpenCL触ってみたいって時にAMDやNVIDIAみたいなGPUを用意しなくてもIntelで動きそうだってことと、-lOpenCLとか付けときゃなんか動くんだろうってことは分かった。あと、多分内部でOpenCL向けのコードのビルドとか走るからその分のオーバーヘッドが生じるんだろうなーってことも。
cc hello-opencl.c -lOpenCL -lrt
ビルドはできた
uaa@emeraude:~$ ./a.out
Build Success:hello
Segmentation fault
uaa@emeraude:~$
…うむー?
typedefで宣言されている各種構造体の出現位置を調整して、コンパイルは通ったけどOpenCLライブラリのリンクはできないな…
うーん、品質向上のため、関数の戻り値はエラー情報の返却で統一する (2020/7/11) https://qiita.com/qiita_kuru/items/2f46da304689b6ca2533 とか書いてるような人なので、ErrorもSuccessもこの書き手さんの独自表現ってことで良いみたい。
ついでに、OpenCLのhello worldを見るにError型を返す関数のエラーチェックは全くしていないようなのでError型がなんだろうとSuccessが0だろうが1だろうがどうでも良いってことで良いんだろうな。
極端な話、
#define Error void
#define Success /**/
でも回避はできる(でもそれ以外の部分でエラーを起こしてる)。
OpenCLを使ったHello World(C言語編) (2018/6/3)
Error型とか戻り値のSuccessとかって、どこのOSの方言なんだろう?(Windows系?) https://qiita.com/qiita_kuru/items/ebfc0c90ff4104d846f8
ビルド用のディレクトリを作り直して、git clone https://github.com/ReneHollander/opencl-example なHelloWorldが
uaa@emeraude:~/opencl-example/helloworld/bin/x86_64/Debug$ ./HelloWorld
Error: failed to open file
:HelloWorld_Kernel.cl
input string:
GdkknVnqkc
output string:
Passed!
uaa@emeraude:~/opencl-example/helloworld/bin/x86_64/Debug$
で動いてるっぽいことは確認できたけど…動いてるのかコレ?
apt-get install ocl-icd-opencl-devを入れたらビルドが進んだけどまだなんかエラーが出る…
apt-get install clinfoでclinfoすると情報は出てくるので、多分実行環境としては問題ないんだと思う。ビルドする環境を整えないといけないのか(というかintel-opencl-icd入れるだけでclinfoが通るのか?)
apt-get install intel-opencl-icd
apt-get install opencl-headers
他に何が足りないんだろう、Intel環境でOpenCL使うには。(Debian12)
これOpenBSDで/dev/dri/renderD*使えんのと思ってみてみたんだけど、もしかして https://github.com/intel/compute-runtime がOpenBSD上でも動いちゃったりするんですかね?
uaa@framboise:~$ ls -l /dev/dri/
total 0
crw------- 1 uaa users 87, 0 Jul 7 08:29 card0
crw------- 1 root wheel 87, 1 Jul 7 08:29 card1
crw------- 1 root wheel 87, 2 Jul 7 08:29 card2
crw------- 1 root wheel 87, 3 Jul 7 08:29 card3
crw------- 1 uaa users 87, 128 Jul 7 08:29 renderD128
crw------- 1 root wheel 87, 129 Jul 7 08:29 renderD129
えっ
金曜日に荷物が来るはずだと思ったら今日に来るらしいと聞いたので、夕方じゃなく朝に荷物を持ってきてもらうようちょっと強引にお願いをしているところ(配送屋さんごめんなさいごめんなさいダメならダメで諦めますよ…)。