Support for Paravirtualized Graphics for Github Actions CI
Opened this issue · 4 comments
Since github now has Apple M1 in Github actions and Julia works with it - does it make sense to set up Github Actions CI? I wonder if Metal can be tested through Github Actions. We already do have CI, so not a huge deal, but I thought it was worth asking.
Tried it on my fork and it doesn't seem to be working. https://github.com/christiangnrd/Metal.jl/actions/runs/8197868351/job/22420547887
Interesting; I guess the Apple Paravirtual device
doesn't fully support Metal. Maybe a good first step would be to try and use local virtualization to see if we support that.
Testing with https://github.com/insidegui/VirtualBuddy.
Custom kernels seem to always result in zeros.
a = mtl(rand(10))
sum(a)
0.0
Using MPS kernels e.g. for matmul works just fine.
julia> MTL.supports_family(dev, MTL.MTLGPUFamilyApple5)
true
julia> MTL.supports_family(dev, MTL.MTLGPUFamilyApple6)
false
julia> MTL.supports_family(dev, MTL.MTLGPUFamilyMetal3)
false
Looks like the emulated device is significantly below what we require, which is MTLGPUFamilyApple7 + MTLGPUFamilyMetal3.