JuliaGPU/Metal.jl

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.

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.