Skip to content

Commit

Permalink
Merge branch 'master' into cumsum
Browse files Browse the repository at this point in the history
  • Loading branch information
cncastillo authored Jun 21, 2024
2 parents 987aef1 + 3178902 commit 4a4f314
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 28 deletions.
56 changes: 50 additions & 6 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,38 @@
steps:
- label: "CPU: Run tests on v{{matrix.version}}"
matrix:
setup:
version:
- "1.9"
- "1"
plugins:
- JuliaCI/julia#v1:
version: "{{matrix.version}}"
- JuliaCI/julia-coverage#v1:
codecov: true
dirs:
- KomaMRICore/src
- KomaMRICore/ext
command: |
julia -e 'println("--- :julia: Instantiating project")
using Pkg
Pkg.develop([
PackageSpec(path=pwd(), subdir="KomaMRIBase"),
PackageSpec(path=pwd(), subdir="KomaMRICore"),
])'
julia -e 'println("--- :julia: Running tests")
using Pkg
Pkg.test("KomaMRICore"; coverage=true, julia_args=`--threads=auto`)'
agents:
queue: "juliagpu"
timeout_in_minutes: 120

- label: "AMDGPU: Run tests on v{{matrix.version}}"
matrix:
setup:
version:
- "1.10"
- "1"
plugins:
- JuliaCI/julia#v1:
version: "{{matrix.version}}"
Expand All @@ -16,11 +45,14 @@ steps:
julia -e 'println("--- :julia: Instantiating project")
using Pkg
Pkg.develop([
PackageSpec(path=pwd(), subdir="."),
PackageSpec(path=pwd(), subdir="KomaMRIBase"),
PackageSpec(path=pwd(), subdir="KomaMRICore"),
])'
julia --project=KomaMRICore/test -e 'println("--- :julia: Add AMDGPU to test environment")
using Pkg
Pkg.add("AMDGPU")'
julia -e 'println("--- :julia: Running tests")
using Pkg
Pkg.test("KomaMRICore"; coverage=true, test_args=["AMDGPU"])'
Expand All @@ -34,6 +66,7 @@ steps:
setup:
version:
- "1.9"
- "1"
plugins:
- JuliaCI/julia#v1:
version: "{{matrix.version}}"
Expand All @@ -46,11 +79,14 @@ steps:
julia -e 'println("--- :julia: Instantiating project")
using Pkg
Pkg.develop([
PackageSpec(path=pwd(), subdir="."),
PackageSpec(path=pwd(), subdir="KomaMRIBase"),
PackageSpec(path=pwd(), subdir="KomaMRICore"),
])'
julia --project=KomaMRICore/test -e 'println("--- :julia: Add CUDA to test environment")
using Pkg
Pkg.add("CUDA")'
julia -e 'println("--- :julia: Running tests")
using Pkg
Pkg.test("KomaMRICore"; coverage=true, test_args=["CUDA"])'
Expand All @@ -64,18 +100,22 @@ steps:
setup:
version:
- "1.9"
- "1"
plugins:
- JuliaCI/julia#v1:
version: "{{matrix.version}}"
command: |
julia -e 'println("--- :julia: Instantiating project")
using Pkg
Pkg.develop([
PackageSpec(path=pwd(), subdir="."),
PackageSpec(path=pwd(), subdir="KomaMRIBase"),
PackageSpec(path=pwd(), subdir="KomaMRICore"),
])'
julia --project=KomaMRICore/test -e 'println("--- :julia: Add Metal to test environment")
using Pkg
Pkg.add("Metal")'
julia -e 'println("--- :julia: Running tests")
using Pkg
Pkg.test("KomaMRICore"; test_args=["Metal"])'
Expand All @@ -90,6 +130,7 @@ steps:
setup:
version:
- "1.9"
- "1"
plugins:
- JuliaCI/julia#v1:
version: "{{matrix.version}}"
Expand All @@ -102,11 +143,14 @@ steps:
julia -e 'println("--- :julia: Instantiating project")
using Pkg
Pkg.develop([
PackageSpec(path=pwd(), subdir="."),
PackageSpec(path=pwd(), subdir="KomaMRIBase"),
PackageSpec(path=pwd(), subdir="KomaMRICore"),
])'
julia --project=KomaMRICore/test -e 'println("--- :julia: Add oneAPI to test environment")
using Pkg
Pkg.add("oneAPI")'
julia -e 'println("--- :julia: Running tests")
using Pkg
Pkg.test("KomaMRICore"; coverage=true, test_args=["oneAPI"])'
Expand All @@ -119,4 +163,4 @@ env:
CI: BUILDKITE
CODECOV_FLAGS: core
JULIA_PKG_SERVER: ""
SECRET_CODECOV_TOKEN: "lUmUVYkTlE8u0mR/ymv5rtE1A59wXZmQ3miRkmKciC/4+xHPNjpeIJ03FupuC1ElGBeX0m6DDFavZ9burLosGxbBYIPziBQZ5P9NdPDZjBdo7NM3QSSBeUfDsDYbHsYglfJZ35UL6Pd2YTAkJG0ePrTpfUaBb9rcll926NdqUP0vE2hbR2leKFFgBVNtK9Zf+NE7hO3meZQEZ+sN5tA7xGr24A3Ay7ckPg5HbPPD3KII2/fLtW+w0fQUfJdXNFrajJ0FyNE0kNLDlIzoYN6XM4yUeLBXoyXFHnqT5dSu7pqrByEk/ptYpjUzKFoRSnDQy+p8vrx9e/iAVf3lwwgwWA==;U2FsdGVkX1+IZLGTj2FNEy4XvUQbzkZFEwUpwIdRDCKrEea5O/OKGV5vYJufty3m9yniE+av4937HabS9dO1RA=="
SECRET_CODECOV_TOKEN: "lUmUVYkTlE8u0mR/ymv5rtE1A59wXZmQ3miRkmKciC/4+xHPNjpeIJ03FupuC1ElGBeX0m6DDFavZ9burLosGxbBYIPziBQZ5P9NdPDZjBdo7NM3QSSBeUfDsDYbHsYglfJZ35UL6Pd2YTAkJG0ePrTpfUaBb9rcll926NdqUP0vE2hbR2leKFFgBVNtK9Zf+NE7hO3meZQEZ+sN5tA7xGr24A3Ay7ckPg5HbPPD3KII2/fLtW+w0fQUfJdXNFrajJ0FyNE0kNLDlIzoYN6XM4yUeLBXoyXFHnqT5dSu7pqrByEk/ptYpjUzKFoRSnDQy+p8vrx9e/iAVf3lwwgwWA==;U2FsdGVkX1+IZLGTj2FNEy4XvUQbzkZFEwUpwIdRDCKrEea5O/OKGV5vYJufty3m9yniE+av4937HabS9dO1RA=="
12 changes: 4 additions & 8 deletions KomaMRICore/test/initialize.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,19 @@ using Pkg
using Suppressor

const USE_GPU = if "AMDGPU" in ARGS
@suppress Pkg.add("AMDGPU")
using AMDGPU
using AMDGPU # ] add AMDGPU to KomaMRICore/test/Project.toml
@info "Testing AMD" maxlog=1
true
elseif "CUDA" in ARGS
@suppress Pkg.add("CUDA")
using CUDA
using CUDA # ] add CUDA to KomaMRICore/test/Project.toml
@info "Testing CUDA" maxlog=1
true
elseif "Metal" in ARGS
@suppress Pkg.add("Metal")
using Metal
using Metal # ] add Metal to KomaMRICore/test/Project.toml
@info "Testing Metal" maxlog=1
true
elseif "oneAPI" in ARGS
@suppress Pkg.add("oneAPI")
using oneAPI
using oneAPI # ] add oneAPI to KomaMRICore/test/Project.toml
@info "Testing oneAPI" maxlog=1
true
else
Expand Down
48 changes: 34 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,25 +137,33 @@ If you use this package, please cite our paper.

## Tested compatibility

We automatically test KomaMRICore's CPU multi-threading support on the most popular operating systems. Nevertheless, for GPU support, the process is more manual (until [#147](https://github.com/JuliaHealth/KomaMRI.jl/issues/147)). Here is a summary of our automatic CPU tests and local GPU tests for multiple versions of Julia:
All parallel backends are tested on Linux (besides Apple silicon) using the latest stable release, Julia 1 (stable), and Julia 1.9 (compat).

<div align="center">

| Julia (OS) | CPU | GPU (Nvidia) |
|:---------------------|:----------------------------------------------------------:|:------------:|
| Julia 1.9 (Windows) | [![][gh-actions-komamri]][gh-actions-url] ||
| Julia 1.9 (Linux) | [![][gh-actions-komamri]][gh-actions-url] ||
| Julia 1.9 (Mac) | [![][gh-actions-komamri]][gh-actions-url] ||
| Julia 1.10 (Windows) | [![][gh-actions-komamri]][gh-actions-url] ||
| Julia 1.10 (Linux) | [![][gh-actions-komamri]][gh-actions-url] ||
| Julia 1.10 (Mac) | [![][gh-actions-komamri]][gh-actions-url] ||
| Julia 1.11 (Windows) | [![][gh-actions-komamri-nightly]][gh-actions-nightly-url] ||
| Julia 1.11 (Linux) | [![][gh-actions-komamri-nightly]][gh-actions-nightly-url] ||
| Julia 1.11 (Mac) | [![][gh-actions-komamri-nightly]][gh-actions-nightly-url] ||
| KomaMRICore | CPU | GPU (Nvidia) | GPU (AMD) | GPU (Apple) | GPU (Intel) |
|:---------------------|:-----------------------------------:|:-----------------------------------:|:--------------------------------:|:----------------------------------:|:----------------------------------:|
| Julia 1.9 | [![][cpu-compat]][buildkite-url] | [![][nvidia-compat]][buildkite-url] | [![][amd-compat]][buildkite-url] | [![][apple-compat]][buildkite-url] | [![][intel-compat]][buildkite-url] |
| Julia 1 | [![][cpu-stable]][buildkite-url] | [![][nvidia-stable]][buildkite-url] | [![][amd-stable]][buildkite-url] | [![][apple-stable]][buildkite-url] | [![][intel-stable]][buildkite-url] |

</div>

If you see any problem with this information, please let us know in the form of a GitHub issue.
Single-threaded compatibility is tested in all major operating systems (OS).

<div align="center">

| KomaMRI | CPU (single-threaded) |
|:---------------------|:-----------------------------------------:|
| Julia 1.9 (Windows) | [![][gh-actions-komamri]][gh-actions-url] |
| Julia 1.9 (Linux) | [![][gh-actions-komamri]][gh-actions-url] |
| Julia 1.9 (Mac OS) | [![][gh-actions-komamri]][gh-actions-url] |
| Julia 1 (Windows) | [![][gh-actions-komamri]][gh-actions-url] |
| Julia 1 (Linux) | [![][gh-actions-komamri]][gh-actions-url] |
| Julia 1 (Mac OS) | [![][gh-actions-komamri]][gh-actions-url] |

</div>

If you see any problem with this information, please let us know in a GitHub issue.

<!-- VARIABLES -->
<!-- Julia compat -->
Expand All @@ -178,7 +186,19 @@ If you see any problem with this information, please let us know in the form of
[docd-url]: https://juliahealth.github.io/KomaMRI.jl/dev/
<!-- Buildkite -->
[buildkite-badge]: https://badge.buildkite.com/f3c2e589ac0c1310cda3c2092814e33ac9db15b4f103eb572b.svg
[buildkite-url]: https://buildkite.com/julialang/komamri-dot-jl
[cpu-stable]: https://badge.buildkite.com/f3c2e589ac0c1310cda3c2092814e33ac9db15b4f103eb572b.svg?step=CPU%3A%20Run%20tests%20on%20v1
[nvidia-stable]: https://badge.buildkite.com/f3c2e589ac0c1310cda3c2092814e33ac9db15b4f103eb572b.svg?step=CUDA%3A%20Run%20tests%20on%20v1
[amd-stable]: https://badge.buildkite.com/f3c2e589ac0c1310cda3c2092814e33ac9db15b4f103eb572b.svg?step=AMDGPU%3A%20Run%20tests%20on%20v1
[apple-stable]: https://badge.buildkite.com/f3c2e589ac0c1310cda3c2092814e33ac9db15b4f103eb572b.svg?step=Metal%3A%20Run%20tests%20on%20v1
[intel-stable]: https://badge.buildkite.com/f3c2e589ac0c1310cda3c2092814e33ac9db15b4f103eb572b.svg?step=oneAPI%3A%20Run%20tests%20on%20v1

[cpu-compat]: https://badge.buildkite.com/f3c2e589ac0c1310cda3c2092814e33ac9db15b4f103eb572b.svg?step=CPU%3A%20Run%20tests%20on%20v1.9
[nvidia-compat]: https://badge.buildkite.com/f3c2e589ac0c1310cda3c2092814e33ac9db15b4f103eb572b.svg?step=CUDA%3A%20Run%20tests%20on%20v1.9
[amd-compat]: https://img.shields.io/badge/build-failing-red?logo=buildkite&logoColor=white
[apple-compat]: https://badge.buildkite.com/f3c2e589ac0c1310cda3c2092814e33ac9db15b4f103eb572b.svg?step=Metal%3A%20Run%20tests%20on%20v1.9
[intel-compat]: https://badge.buildkite.com/f3c2e589ac0c1310cda3c2092814e33ac9db15b4f103eb572b.svg?step=oneAPI%3A%20Run%20tests%20on%20v1.9

[buildkite-url]: https://buildkite.com/julialang/komamri-dot-jl/builds?branch=master
<!-- CI -->
[gh-actions-komamri]: https://github.com/JuliaHealth/KomaMRI.jl/workflows/CI/badge.svg
[gh-actions-komabase]: https://github.com/JuliaHealth/KomaMRI.jl/workflows/CI/badge.svg
Expand Down

0 comments on commit 4a4f314

Please sign in to comment.