🌇
Dawn + SwiftShader で CPU webgpu を極めるメモ
背景
Safari でついに webgpu 正式対応は近そうっぽいので, webgpu やりたい.
webgpu で LLM pretrain とか!
でも GPU 無い環境でも動かしたい... あとは CI build で動かしたいとか.
Dawn + SwiftShader
冬到来! SwiftShader を使い人類史上最速で Vulkan プログラミングをはじめよう!
Dawn を SwiftShader で動かせばいけんじゃね?
とりま動きそうっぽ?
WSL(Linux) で試しました. とりま簡単なのは動きました.
ビルドする.
とりあえず VK_ICD_FILENAMES
で swiftshader 指定すればよさそうですが, dawn 自体に swiftshader 利用設定もあるので,
今回は swiftshader on でビルドしてみます.
swiftshader を dawn/third_party
に git clone しておきます.
swidtshader, 相変わらず PowerVR_Examples を submodule に追加するアホなことをやっているので, 無視するようにします.
$ cd swiftshader
$ git -c submodule."third_party/PowerVR_Examples".update=none submodule update --init --recursive
あとは dawn で DAWN_ENABLE_SWIFTSHADER on でビルドし, VK_ICD_FILENAMES 指定するだけです!
Mesa llvmpipe?
Mesa LLVMpipe で software 描画も行けそうなきもします!
(少なくとも WSL ではいけた)
Discussion