diff --git a/post/2024-10-02-metal-1.4.md b/post/2024-10-02-metal-1.4.md index 631ad90..1000c50 100644 --- a/post/2024-10-02-metal-1.4.md +++ b/post/2024-10-02-metal-1.4.md @@ -38,20 +38,18 @@ standard `Random.rand[n][!]` functions. ## Future work Although Metal.jl is now in v1, there is still work to be done to make it as fast and -feature-complete. In particular: +feature-complete as possible. In particular: - since the last blog post, Metal.jl has started using native ObjectiveC FFI for wrapping Metal APIs. However, these wrappers have to be written manually for every piece of - Objective-C code. We are looking for help improving Clang.jl and ObjectiveC.jl to enable - the automatic generation of these wrappers. See tracking [issue](https://github.com/JuliaInterop/ObjectiveC.jl/issues/41); + Objective-C code. *We are looking for help with improving Clang.jl and ObjectiveC.jl* to [enable + the automatic generation of these wrappers](https://github.com/JuliaInterop/ObjectiveC.jl/issues/41); - the MPS wrappers are incomplete, automatic wrapper generation would greatly help with full MPS support; -- support for atomic operations is missing, which is required to implement a full-featured - KernelAbstractions.jl back-end. See tracking [issue](https://github.com/JuliaGPU/Metal.jl/issues/218); -- full support for BFloat16 values, which has been supported since Metal 3.1 (macOS 14), - is not yet in Metal.jl. See tracking [issue](https://github.com/JuliaGPU/Metal.jl/issues/298); -- some functionality present in CUDA.jl could be ported to Metal.jl to improve usability. - See tracking [issue](https://github.com/JuliaGPU/Metal.jl/issues/443); -- general performance improvements. In particular, improvements to the ObjectiveC.jl type model - could greatly reduce the number of allocations currently necessary for every - Objective-C/Metal operation. See tracking [issue](https://github.com/JuliaInterop/ObjectiveC.jl/issues/13). +- to implement a full-featured KernelAbstractions.jl back-end, Metal atomic operations need to [be + hooked up to Atomix](https://github.com/JuliaGPU/Metal.jl/issues/218); +- [full support for BFloat16 values](https://github.com/JuliaGPU/Metal.jl/issues/298), + which has been supported since Metal 3.1 (macOS 14), is not yet in Metal.jl. There is, + however, a [draft PR](https://github.com/JuliaGPU/Metal.jl/pull/446) in the works. Check it out + if you're interested in helping out; +- some functionality present in CUDA.jl [could be ported to Metal.jl to improve usability](https://github.com/JuliaGPU/Metal.jl/issues/443).