Metal
Metal is a compute shader API that can be used to program GPUs found in Apple hardware. The Metal.jl package makes it possible to do so from Julia, with support for Mac devices that contain an M-series chip. The package is in early development, but already provides most features for application development.
Similarly to other GPU support packages in Julia, Metal.jl makes it possible to work with accelerators at three distinct abstraction levels:
high-level, using the
MtlArray
array type and Julia's powerful array abstractions;by writing your own kernels and launching them using the
@metal
macro;using the low-level Metal API wrappers in the
MTL
submodule.
For more information, refer to the introductory blog post and the post on Metal Performance Shaders.