Skip to content

Commit bb8edda

Browse files
authored
Merge pull request #39 from anicusan/main
Add support for Metal atomics.
2 parents e60c518 + 5c6dda8 commit bb8edda

File tree

21 files changed

+372
-40
lines changed

21 files changed

+372
-40
lines changed

.buildkite/pipeline.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
steps:
2+
- label: "CUDA.jl"
3+
plugins:
4+
- JuliaCI/julia#v1:
5+
version: "1.10"
6+
command: |
7+
julia -e 'using Pkg
8+
9+
println("--- :julia: Instantiating environment")
10+
Pkg.activate("lib/AtomixCUDA")
11+
Pkg.develop(PackageSpec(name="Atomix", path="."))
12+
13+
println("+++ :julia: Running tests")
14+
Pkg.test()'
15+
agents:
16+
queue: "juliagpu"
17+
cuda: "*"
18+
if: build.message !~ /\[skip tests\]/
19+
timeout_in_minutes: 15
20+
21+
- label: "Metal.jl"
22+
plugins:
23+
- JuliaCI/julia#v1:
24+
version: "1.10"
25+
command: |
26+
julia -e 'using Pkg
27+
28+
println("--- :julia: Instantiating environment")
29+
Pkg.activate("lib/AtomixMetal")
30+
Pkg.develop(PackageSpec(name="Atomix", path="."))
31+
32+
println("+++ :julia: Running tests")
33+
Pkg.test()'
34+
agents:
35+
queue: "juliaecosystem"
36+
os: "macos"
37+
arch: "aarch64"
38+
if: build.message !~ /\[skip tests\]/
39+
timeout_in_minutes: 15

.github/dependabot.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
2+
version: 2
3+
updates:
4+
- package-ecosystem: "github-actions"
5+
directory: "/" # Location of package manifests
6+
schedule:
7+
interval: "monthly"

.github/workflows/CompatHelper.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: CompatHelper
2+
3+
on:
4+
schedule:
5+
- cron: 0 0 * * *
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: write
10+
pull-requests: write
11+
12+
jobs:
13+
CompatHelper:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Check if Julia is already available in the PATH
17+
id: julia_in_path
18+
run: which julia
19+
continue-on-error: true
20+
- name: Install Julia, but only if it is not already available in the PATH
21+
uses: julia-actions/setup-julia@v2
22+
with:
23+
version: '1'
24+
arch: ${{ runner.arch }}
25+
if: steps.julia_in_path.outcome != 'success'
26+
- name: "Add the General registry via Git"
27+
run: |
28+
import Pkg
29+
ENV["JULIA_PKG_SERVER"] = ""
30+
Pkg.Registry.add("General")
31+
shell: julia --color=yes {0}
32+
- name: "Install CompatHelper"
33+
run: |
34+
import Pkg
35+
name = "CompatHelper"
36+
uuid = "aa819f21-2bde-4658-8897-bab36330d9b7"
37+
version = "3"
38+
Pkg.add(; name, uuid, version)
39+
shell: julia --color=yes {0}
40+
- name: "Run CompatHelper"
41+
run: |
42+
import CompatHelper
43+
CompatHelper.main()
44+
shell: julia --color=yes {0}
45+
env:
46+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/TagBot.yml

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,33 @@
11
name: TagBot
2+
23
on:
34
issue_comment:
45
types:
56
- created
6-
push:
7-
branches:
8-
- actions/trigger/TagBot
97
workflow_dispatch:
8+
inputs:
9+
lookback:
10+
default: 3
11+
12+
permissions:
13+
actions: read
14+
checks: read
15+
contents: write
16+
deployments: read
17+
issues: read
18+
discussions: read
19+
packages: read
20+
pages: read
21+
pull-requests: read
22+
repository-projects: read
23+
security-events: read
24+
statuses: read
25+
1026
jobs:
1127
TagBot:
12-
if: >-
13-
github.event_name == 'workflow_dispatch' ||
14-
github.event_name == 'push' ||
15-
github.actor == 'JuliaTagBot'
28+
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
1629
runs-on: ubuntu-latest
1730
steps:
1831
- uses: JuliaRegistries/TagBot@v1
1932
with:
2033
token: ${{ secrets.GITHUB_TOKEN }}
21-
ssh: ${{ secrets.SSH_KEY }}

.github/workflows/ci.yml

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ name: CI
22

33
on:
44
push:
5-
branches:
6-
- main
7-
tags: '*'
5+
branches: [main, master]
6+
tags: ["*"]
87
pull_request:
8+
workflow_dispatch:
99

1010
jobs:
1111
test:
@@ -15,14 +15,16 @@ jobs:
1515
julia-version:
1616
- '1'
1717
- '1.6'
18-
- 'nightly'
1918
fail-fast: false
2019
name: Test Julia ${{ matrix.julia-version }}
2120
steps:
22-
- uses: actions/checkout@v2
23-
- uses: julia-actions/setup-julia@v1
21+
- uses: actions/checkout@v4
22+
23+
- uses: julia-actions/setup-julia@v2
2424
with:
2525
version: ${{ matrix.julia-version }}
26+
- uses: julia-actions/cache@v2
27+
2628
- uses: julia-actions/julia-runtest@v1
2729
- uses: julia-actions/julia-processcoverage@v1
2830
- uses: codecov/codecov-action@v2
@@ -38,20 +40,25 @@ jobs:
3840
julia-version:
3941
- '1'
4042
- '1.6'
41-
- 'nightly'
4243
fail-fast: false
4344
steps:
44-
- uses: actions/checkout@v2
45-
- uses: julia-actions/setup-julia@v1
45+
- uses: actions/checkout@v4
46+
47+
- uses: julia-actions/setup-julia@v2
4648
with:
4749
version: ${{ matrix.julia-version }}
50+
- uses: julia-actions/cache@v2
51+
4852
- uses: tkf/julia-aqua@v1
4953

5054
documenter:
5155
runs-on: ubuntu-latest
5256
steps:
53-
- uses: actions/checkout@v2
54-
- uses: julia-actions/setup-julia@v1
57+
- uses: actions/checkout@v4
58+
59+
- uses: julia-actions/setup-julia@v2
60+
- uses: julia-actions/cache@v2
61+
5562
- name: Install Run.jl
5663
run: julia -e 'using Pkg; Pkg.add(name="Run", version="0.1")'
5764
- name: Install dependencies

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
Manifest.toml
2+
*.cov

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "Atomix"
22
uuid = "a9b6321e-bd34-4604-b9c9-b65b8de01458"
33
authors = ["Takafumi Arakaki <[email protected]> and contributors"]
4-
version = "0.1.1-DEV"
4+
version = "1.0"
55

66
[deps]
77
UnsafeAtomics = "013be700-e6cd-48c3-b4a1-df204f14c38f"

docs/Project.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
[deps]
22
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
3+
4+
[compat]
5+
Documenter = "1.7"

docs/make.jl

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,12 @@ using Atomix
33

44
makedocs(
55
sitename = "Atomix",
6-
format = Documenter.HTML(),
76
modules = [Atomix],
8-
strict = [
9-
:autodocs_block,
10-
:cross_references,
11-
:docs_block,
12-
:doctest,
13-
:eval_block,
14-
:example_block,
15-
:footnote,
16-
:linkcheck,
17-
:meta_block,
18-
# :missing_docs,
19-
:parse_error,
20-
:setup_block,
21-
],
22-
# Ref:
23-
# https://juliadocs.github.io/Documenter.jl/stable/lib/public/#Documenter.makedocs
7+
warnonly = :missing_docs
248
)
259

2610
deploydocs(
2711
repo = "github.com/JuliaConcurrent/Atomix.jl",
2812
devbranch = "main",
2913
push_preview = true,
30-
# Ref:
31-
# https://juliadocs.github.io/Documenter.jl/stable/lib/public/#Documenter.deploydocs
3214
)

lib/AtomixCUDA/Project.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
name = "AtomixCUDA"
22
uuid = "6171a885-8764-404f-b64d-f8edb1679b6f"
33
authors = ["Takafumi Arakaki <[email protected]> and contributors"]
4-
version = "0.1.0-DEV"
4+
version = "1.0"
55

66
[deps]
77
Atomix = "a9b6321e-bd34-4604-b9c9-b65b8de01458"
88
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
99

1010
[compat]
1111
julia = "1.6"
12+
Atomix = "1"
13+
CUDA = "5"

0 commit comments

Comments
 (0)