From c952b7ea337c2297dd40f9acaa3ef062c3c918b6 Mon Sep 17 00:00:00 2001 From: Hendrik Ranocha Date: Wed, 3 Dec 2025 20:18:29 +0100 Subject: [PATCH 1/3] Update LoopVectorization.jl for Apple ARM processors --- small_grants.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/small_grants.md b/small_grants.md index db2602aa..da0fc857 100644 --- a/small_grants.md +++ b/small_grants.md @@ -162,6 +162,41 @@ will "go the extra mile" to teach the contributor how the package or mathematics # List of Current Projects + + +## Update LoopVectorization.jl to pass all tests on MacOS ARM Systems (\$ TODO) + +[LoopVectorization.jl](https://github.com/JuliaSIMD/LoopVectorization.jl) is a +central package for the performance of many Julia packages. Its internals make +use of many low-level features and manual SIMD that can make it require significant +maintenance to be optimized for new system architectures and versions of the compiler. + +**Information to Get Started**: + +LoopVectorization.jl was mainly developed having x64 Intel systems in mind and +available as testing platforms. Apple has launched the new Apple M series processors +using an ARM architecture some time ago. When updating the CI infrastructure of +LoopVectorization.jl to run tests on Apple ARM systems +(see ), +several bugs were found. These test failures were marked in the PR, and the +issue has been +created. + +The purpose of this project is to update LoopVectorization.jl and/or related packages +from the JuliaSIMD ecosystem so that all tests pass on all available platforms; +all broken/skipped tests (`@test_broken`, `@test_skip`) are changed backed to normal +tests (`@test`) that pass on all platforms. + +Note that the funds for this project as given by earmarked donations to the JuliaLang project +which SciML will help administer through the small grants program. + +**Success Criteria**: LoopVectorization.jl runs all tests on all platforms. + +**Recommended Skills**: This requires some low-level knowledge of LoopVectorization.jl. + +**Reviewers**: TODO + + ## Setup SciMLBenchmarks CI scripts to support GPU benchmarking (\$300) The current SciMLBenchmarks only run on CPU. There are many cases we wish to benchmark on GPU. The goal of this project is to modify the CI scripts to support GPU benchmarking. From c41d61a35b5b340d1a9510862451ba74487e50d0 Mon Sep 17 00:00:00 2001 From: Christopher Rackauckas Date: Wed, 3 Dec 2025 18:16:56 -0500 Subject: [PATCH 2/3] Update small_grants.md --- small_grants.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/small_grants.md b/small_grants.md index da0fc857..f62e3863 100644 --- a/small_grants.md +++ b/small_grants.md @@ -194,7 +194,7 @@ which SciML will help administer through the small grants program. **Recommended Skills**: This requires some low-level knowledge of LoopVectorization.jl. -**Reviewers**: TODO +**Reviewers**: Chris Rackauckas and Oscar Smith ## Setup SciMLBenchmarks CI scripts to support GPU benchmarking (\$300) From 1668507f26366fc9aaac007e026bc3d3a7347a6c Mon Sep 17 00:00:00 2001 From: Christopher Rackauckas Date: Wed, 3 Dec 2025 18:17:03 -0500 Subject: [PATCH 3/3] Update small_grants.md --- small_grants.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/small_grants.md b/small_grants.md index f62e3863..610dbba2 100644 --- a/small_grants.md +++ b/small_grants.md @@ -164,7 +164,7 @@ will "go the extra mile" to teach the contributor how the package or mathematics -## Update LoopVectorization.jl to pass all tests on MacOS ARM Systems (\$ TODO) +## Update LoopVectorization.jl to pass all tests on MacOS ARM Systems (\$200) [LoopVectorization.jl](https://github.com/JuliaSIMD/LoopVectorization.jl) is a central package for the performance of many Julia packages. Its internals make