Skip to content

Thunk Change #10

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 343 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
343 commits
Select commit Hold shift + click to select a range
532fd73
Simplify process to builds docs (#554)
giordano Jan 17, 2025
53644c9
fix: inconsistent return dims (#558)
avik-pal Jan 17, 2025
bf43a65
Update WORKSPACE
wsmoses Jan 17, 2025
6310f83
fix: define getindexing into sub reshaped array (#556)
avik-pal Jan 17, 2025
fc4e53d
Format code (#562)
github-actions[bot] Jan 18, 2025
11510a2
Regenerate MLIR Bindings (#561)
github-actions[bot] Jan 18, 2025
2c9c03c
[CI] Format generated files twice to work around JuliaFormatter bug (…
giordano Jan 18, 2025
913bf3a
CUDA: fix nv intrinsic errs (#564)
wsmoses Jan 18, 2025
30da571
Update Project.toml
wsmoses Jan 18, 2025
044b670
[GHA] Add `paths` settings for workflow triggers (#563)
giordano Jan 18, 2025
01a5646
[GHA] Fix syntax of regenerate MLIR bindings workflow (#566)
giordano Jan 18, 2025
3481d1d
respect scopping rules in for (#310)
Pangoraw Jan 18, 2025
380c747
Format code of branch "main" (#568)
github-actions[bot] Jan 19, 2025
6592cea
feat: support arbitrary structures in control flow (#565)
avik-pal Jan 19, 2025
937510b
fix: reduction of integers (#573)
avik-pal Jan 19, 2025
32762fb
[CI] Remove useless call to `Pkg.instantiate` (#576)
giordano Jan 19, 2025
32c9226
fix: specialize / on integer types (#577)
avik-pal Jan 19, 2025
cf345d5
profiler: Add option to generate perfetto url (#575)
Pangoraw Jan 19, 2025
f917bfe
More jll/cuda stuff (#567)
wsmoses Jan 19, 2025
8ddb738
[ReactantExtra] Use XLA commit for building with CUDA 12.1 (#579)
giordano Jan 20, 2025
a328d27
Update Project.toml
wsmoses Jan 20, 2025
682d6d2
Regenerate MLIR Bindings (#580)
github-actions[bot] Jan 20, 2025
2be46df
Profiler annotations & tutorial (#582)
Pangoraw Jan 20, 2025
23e0f74
Update Compiler.jl
wsmoses Jan 20, 2025
cca721d
Fix for unknown cuda drivers (#586)
wsmoses Jan 20, 2025
63d407a
PTX fma and other flags (#585)
wsmoses Jan 20, 2025
29627db
[CI] Move tests on aarch64 linux to GitHub Actions (#543)
giordano Jan 21, 2025
66910bf
Fix condition to skip CUDA tests on aarch64 (#592)
giordano Jan 21, 2025
678b90d
feat: expose gpu memory allocation options (#589)
avik-pal Jan 21, 2025
1c42a58
feat: add the new optimization passes (#595)
avik-pal Jan 22, 2025
1b31dd7
Update ReactantCUDAExt.jl (#597)
wsmoses Jan 23, 2025
077e591
Add convert (#598)
wsmoses Jan 23, 2025
d5010bb
Update Project.toml
wsmoses Jan 23, 2025
635f35c
feat: support dynamic indexing for reshaped arrays (#601)
avik-pal Jan 24, 2025
534bea3
feat: overload LinearAlgebra.kron (#607)
avik-pal Jan 24, 2025
2118ee2
feat: more indexing support (#608)
avik-pal Jan 24, 2025
7dfdbb9
[tests] Always skip CUDA tests on non-CUDA machines (#615)
giordano Jan 25, 2025
24c3351
Add hermetic cuda getter (#612)
wsmoses Jan 25, 2025
2f13d4e
feat: forward more base ops to chlo (#611)
avik-pal Jan 25, 2025
67575fb
Fix dense elements attribute in `Enzyme.autodiff` #593 (#604)
mofeing Jan 25, 2025
4849c6b
feat: support lowering custom fp types (#596)
avik-pal Jan 26, 2025
51a1f46
feat: multi GPU support (#587)
avik-pal Jan 26, 2025
29b0eac
Regenerate MLIR Bindings (#621)
github-actions[bot] Jan 26, 2025
6e4c6a8
feat: build the shardy dialect (#622)
avik-pal Jan 26, 2025
bfc7b58
feat: support more set indexing (#625)
avik-pal Jan 26, 2025
272da5e
Typed rounding (#619)
wsmoses Jan 26, 2025
c499c7b
Add bound optimizations (#626)
wsmoses Jan 26, 2025
9ff575f
Update Project.toml
wsmoses Jan 26, 2025
8623343
[CI] Add workflow to clean up docs previews (#628)
giordano Jan 26, 2025
59b1856
fix: build error with shardy (#629)
avik-pal Jan 26, 2025
dea0350
Format code of branch "main" (#634)
github-actions[bot] Jan 27, 2025
8450be3
Regenerate MLIR Bindings (#627)
github-actions[bot] Jan 27, 2025
8d39727
[tests] Replace random custom type numbers with fixed set of numbers …
giordano Jan 27, 2025
7710603
fix cuda abi setting (#633)
wsmoses Jan 27, 2025
8db24b1
[ReactantExtra] Improvements to BUILD file to compile CUDA for aarch6…
giordano Jan 27, 2025
23a57df
[ReactantExtra] Bump XLA version (#640)
giordano Jan 27, 2025
fd60aad
Update WORKSPACE
wsmoses Jan 27, 2025
db2aa15
feat: add dispatch for KA get_backend (#645)
avik-pal Jan 28, 2025
27330e0
Applehw (#643)
wsmoses Jan 28, 2025
6951708
Use `xla/stream_executor/cuda:cuda_compute_capability_proto_cc_impl` …
giordano Jan 28, 2025
e38e8ca
Regenerate MLIR Bindings (#644)
github-actions[bot] Jan 28, 2025
f1129f0
docs: add shardy to docs (#648)
avik-pal Jan 29, 2025
f7f009c
TPU profiler (#642)
Pangoraw Jan 29, 2025
b5f9ecd
chore: generate shardy c wrappers (#650)
avik-pal Jan 29, 2025
5c67d0a
feat: the big jll PR (#653)
avik-pal Jan 30, 2025
cde5935
[CI] Fix path of previews direcotyr in PreviewCleanup workflow (#656)
giordano Jan 30, 2025
1087479
Regenerate MLIR Bindings (#651)
github-actions[bot] Jan 30, 2025
1925f70
CPU backend (#647)
wsmoses Jan 30, 2025
0feae66
Detect TPU using PCI devices (#659)
Pangoraw Jan 30, 2025
0d3c8df
Add IR dumping (#638)
wsmoses Jan 30, 2025
a2da11b
Replace `trim` -> `strip` (#661)
giordano Jan 30, 2025
4883486
Silence various warnings in tests (#662)
giordano Jan 30, 2025
696e176
Format code (#665)
github-actions[bot] Jan 31, 2025
9a1179d
Regenerate MLIR Bindings (#666)
github-actions[bot] Jan 31, 2025
52b60ad
Feature: allow colon indexing of traced **vectors** (#664)
floffy-f Jan 31, 2025
d3abcd4
[docs] Add information about configuration on GPU and TPU systems (#668)
giordano Jan 31, 2025
35bd5d2
Update index.md
wsmoses Jan 31, 2025
09da62f
Fix ntuple traced type issue on unionall (#669)
wsmoses Feb 1, 2025
e46eedf
KA ext (#667)
wsmoses Feb 1, 2025
e9471bd
Update Project.toml
wsmoses Feb 1, 2025
c2786dd
KA without cuda backend (#670)
wsmoses Feb 1, 2025
1e6037f
Update Project.toml
wsmoses Feb 1, 2025
603225a
[ReactantCUDAExt] Skip precompile load on Julia v1.11.3 (#675)
giordano Feb 1, 2025
bf2a020
Update enzyme-jax
wsmoses Feb 2, 2025
26317dc
Generate MLIR MPI dialect bindings
mofeing Feb 2, 2025
fe8ba34
Update WORKSPACE
wsmoses Feb 2, 2025
40c7708
Regenerate MLIR Bindings (#680)
github-actions[bot] Feb 2, 2025
e16a8df
Update WORKSPACE
wsmoses Feb 3, 2025
85e08c3
[ReactantExtra] Add argument to `ClientCompile` to pass CUDA data dir…
giordano Feb 3, 2025
b9da5c1
Update XLA.jl
wsmoses Feb 3, 2025
da047f6
Update BUILD
wsmoses Feb 3, 2025
18400b6
Use `LLVMOpenMP_jll` to call OpenMP functions (#673)
giordano Feb 3, 2025
0ddeab2
CUDA: fix gc issues (#685)
wsmoses Feb 3, 2025
e9b7a72
make `similar` return empty tensors. (#632)
jumerckx Feb 3, 2025
9339756
Update Project.toml
wsmoses Feb 3, 2025
bf0fb61
Regenerate MLIR Bindings (#686)
github-actions[bot] Feb 4, 2025
ba4405d
Misc fixes (#687)
wsmoses Feb 4, 2025
cac6f49
chore: missing upstream optimization passes (#624)
avik-pal Feb 4, 2025
234d168
`@trace` function calls (#366)
jumerckx Feb 4, 2025
21f7660
dict value fix (#688)
wsmoses Feb 4, 2025
e35fa0c
Update Project.toml
wsmoses Feb 5, 2025
6d998bc
Update Project.toml
wsmoses Feb 5, 2025
d15980a
Update pipeline.yml
wsmoses Feb 5, 2025
b506bfc
[deps] Some improvements to the `build_local.jl` script (#689)
giordano Feb 5, 2025
d842b33
Multiple device error (#690)
wsmoses Feb 5, 2025
c325683
feat: API changes for multi-device execution [ReactantExtra JLL chang…
avik-pal Feb 6, 2025
af24aa8
Ref ptr fix (#698)
wsmoses Feb 6, 2025
7194111
Add missing underscore in BUILD
giordano Feb 6, 2025
b6942cf
[CI] Use debugging version of CompatHelper
giordano Feb 7, 2025
77ada56
Add GPUCompiler and LLVM as deps to CUDA extension and run CUDA tests…
giordano Feb 7, 2025
4378d3e
Update WORKSPACE
wsmoses Feb 7, 2025
a0c0eb3
use current xla
wsmoses Feb 7, 2025
7f82be6
Update WORKSPACE
wsmoses Feb 7, 2025
f971fec
fix
wsmoses Feb 7, 2025
5f2a86d
builds
wsmoses Feb 7, 2025
170e48d
bump commit
wsmoses Feb 7, 2025
3eac3f8
feat: shardy and multi device execution (#637)
avik-pal Feb 7, 2025
6f2cc88
[ReactantExtra] Stop removing references to `hardware_interference_si…
giordano Feb 7, 2025
0794edf
vendor optimize (#703)
wsmoses Feb 8, 2025
24b4d31
Format code of branch "main" (#709)
github-actions[bot] Feb 8, 2025
611b800
fix: don't trace val (#710)
avik-pal Feb 8, 2025
c20b142
JLL related fixups (#706)
wsmoses Feb 8, 2025
a1fa03f
Update Project.toml (#705)
wsmoses Feb 8, 2025
8d6636d
Regenerate MLIR Bindings (#708)
github-actions[bot] Feb 8, 2025
1680698
Update Reactant.jl
wsmoses Feb 8, 2025
283400d
Format code (#711)
github-actions[bot] Feb 8, 2025
b4dc79f
feat: overload ifelse for more types (#712)
avik-pal Feb 8, 2025
a3949c7
fix build
wsmoses Feb 9, 2025
8794992
fix illegal span
wsmoses Feb 9, 2025
4c1a33b
refactor: split XLA.jl into multiple files (#716)
avik-pal Feb 9, 2025
b964042
feat: enable async on CPU (#717)
avik-pal Feb 9, 2025
15e8843
[ReactantExtra] feat: OpSharding bindings for Julia (#721)
avik-pal Feb 10, 2025
5f5f81b
[ReactantExtra] fix: build on mac (#722)
avik-pal Feb 10, 2025
447ff4f
[ReactantExtra] IFRT bindings (round 4) (#718)
mofeing Feb 10, 2025
1e28427
Update WORKSPACE (#723)
avik-pal Feb 10, 2025
e9f9788
Update WORKSPACE
Pangoraw Feb 10, 2025
130c0cd
Update WORKSPACE
avik-pal Feb 10, 2025
0e119dc
Update XLA.jl
wsmoses Feb 11, 2025
a1b534b
Fix jll (#724)
wsmoses Feb 11, 2025
a31b2e0
Update WORKSPACE
wsmoses Feb 11, 2025
90b0d1d
fix: multi-device execution and sharding [take III] (#713)
avik-pal Feb 11, 2025
01d2904
Update Project.toml
wsmoses Feb 11, 2025
b70d614
feat: add sign dispatches (#727)
avik-pal Feb 11, 2025
0760f4b
fix: correct dims handling in mapreducedim! (#728)
avik-pal Feb 11, 2025
9fdcbaa
chore: bump version for release
avik-pal Feb 11, 2025
4ca5147
Format code (#729)
github-actions[bot] Feb 12, 2025
e82c420
fix: prevent method ambiguity for CartesianIndex{1} (#730)
avik-pal Feb 12, 2025
afe1afb
[GHA] Some improvement to CI setup (#731)
giordano Feb 12, 2025
904b789
fix `Type(value)` instead of `type(value)` (#733)
jumerckx Feb 12, 2025
95f6074
fix: improve generated mlir for wrapped arrays (#732)
avik-pal Feb 12, 2025
467559d
fix: don't expand all ranges by default (#737)
avik-pal Feb 12, 2025
ce0c590
ci: add cpp format check (#739)
avik-pal Feb 13, 2025
3d98bd7
fix: unqualified Sharding access (#741)
avik-pal Feb 13, 2025
22ec225
feat: sharding via IFRT (#740)
avik-pal Feb 13, 2025
6e8ef9f
Force tracing of type to act as noop (#747)
wsmoses Feb 14, 2025
d1a6a24
Support for dicts (#748)
wsmoses Feb 14, 2025
08968ee
Update Project.toml
wsmoses Feb 14, 2025
5a98e91
Bump enzymexla
wsmoses Feb 15, 2025
000a250
Update WORKSPACE
wsmoses Feb 15, 2025
0a47c81
feat: JLL changes to expose HloModule (#749)
avik-pal Feb 15, 2025
cebf9eb
[IFRT] add ifrt-proxy server and client bindings (#750)
mofeing Feb 15, 2025
950e476
fix: ordering of arguments need to be according to device (#753)
avik-pal Feb 16, 2025
5d032c4
Support tracing of `rem` with only one operand being a `ConcreteRNumb…
giordano Feb 16, 2025
ae6e60c
Fix for ocean (#756)
wsmoses Feb 16, 2025
f42a67f
[ReactantCUDAExt] Remove extra method (#760)
giordano Feb 16, 2025
20f7a3c
feat: use parameter shardings from XLA (#743)
avik-pal Feb 16, 2025
7b79953
Bump to 0.2.30 (#757)
glwagner Feb 16, 2025
9204e39
Fix implementation of `mod` (#758)
giordano Feb 16, 2025
93bc64b
bump enzymexla
wsmoses Feb 16, 2025
d51867d
Bump actions/checkout from 3 to 4 (#762)
dependabot[bot] Feb 17, 2025
4ece29d
Update Project.toml
wsmoses Feb 17, 2025
c817f8a
[GHA] Run x86_64 macOS jobs on macOS-13 runners (#765)
giordano Feb 17, 2025
acaabc4
[IFRT] add c-bindings for "Held" PjRt classes (#751)
mofeing Feb 19, 2025
871790f
feat: JLL changes for IFRT Shardings (#770)
avik-pal Feb 19, 2025
a1d2b8b
track number in traced_type for mode == TracedSetPath (#772)
jumerckx Feb 19, 2025
afa90a4
Don't trace VersionNumber (#773)
milankl Feb 19, 2025
0a37253
refactor: move PJRT into a specific module (#771)
avik-pal Feb 19, 2025
83a2c1d
ci: run tests if julia file changes (#742)
avik-pal Feb 20, 2025
66b035e
[build_local] Add argument to set `--color` option for Bazel (#776)
giordano Feb 20, 2025
5d370a5
Update Raising passes
wsmoses Feb 21, 2025
1416a0a
Bump enzymexla
wsmoses Feb 21, 2025
df0075b
Update API.cpp
wsmoses Feb 21, 2025
64c866c
fix: code_xla (#782)
avik-pal Feb 21, 2025
ea9c9e9
Bump xla (#783)
wsmoses Feb 21, 2025
9ea612f
feat: JLL changes for #780
avik-pal Feb 21, 2025
b9cff51
Further enzymexla bump (#785)
wsmoses Feb 22, 2025
fdf21dc
Format code (#786)
github-actions[bot] Feb 22, 2025
447bdc8
feat: JLL changes for #788 (#789)
avik-pal Feb 22, 2025
230d77e
Temporarily use fork of XLA to point to fork of LLVM (#787)
giordano Feb 22, 2025
d18fd40
feat: more JLL changes for #788 (#790)
avik-pal Feb 22, 2025
7793387
Bump enzymejax (#795)
wsmoses Feb 22, 2025
0a7e078
feat: JLL changes for IFRT integration (#796)
avik-pal Feb 23, 2025
4aaae3c
Regenerate MLIR Bindings (#779)
github-actions[bot] Feb 23, 2025
b1fc493
feat: support kwargs in macros (#791)
avik-pal Feb 23, 2025
dbc0fe1
refactor: rename R* to PJRT* (#775)
avik-pal Feb 23, 2025
6b760ba
feat: fast path to directly generate HloSharding from shardy (#788)
avik-pal Feb 23, 2025
9a150f7
feat: use a global state to setup pjrt distributed runtime (#780)
avik-pal Feb 23, 2025
bcb0282
feat: JLL changes for sdy.sharding_constraint (#799)
avik-pal Feb 23, 2025
2a5711e
feat: initial IFRT integration (#764)
avik-pal Feb 23, 2025
192bef3
traced control flow fixes (#794)
jumerckx Feb 23, 2025
4611142
feat: add `Ops.sharding_constraint` (#798)
avik-pal Feb 24, 2025
c9f4586
Update WORKSPACE
wsmoses Feb 24, 2025
4cbad40
cf: extract condition to a name (#801)
Pangoraw Feb 24, 2025
aad100b
build(deps): bump bazel-contrib/setup-bazel from 0.13.0 to 0.14.0 (#802)
dependabot[bot] Feb 24, 2025
779f66c
Bump JLL (#803)
wsmoses Feb 24, 2025
5260061
restore anyconcreterarray (#804)
wsmoses Feb 24, 2025
3c67dd6
Fix raising (#805)
wsmoses Feb 25, 2025
2e138de
Bm (#807)
wsmoses Feb 25, 2025
9af8d87
[Compiler] Make `raise` a keyword argument (#797)
giordano Feb 25, 2025
87aa468
fix: simplify Mesh implementation (#806)
avik-pal Feb 25, 2025
07594f5
Update Project.toml
wsmoses Feb 25, 2025
94f8d34
Update Project.toml
wsmoses Feb 25, 2025
5c510f0
Bump enzymejax (#812)
wsmoses Feb 26, 2025
24fed87
Bump enzymexla passes (#814)
wsmoses Feb 27, 2025
e995366
feat: more sharding utilities (#809)
avik-pal Feb 27, 2025
2d4da3f
More enzymexla bump (#816)
wsmoses Feb 27, 2025
db1a123
Bump JLL (#817)
wsmoses Feb 27, 2025
d92e1e5
feat: adding axpy! and axpby! to linear algebra (#813)
tharittk Feb 27, 2025
f4216e8
fix: allow one arg of overloaded_mul to be a regular array (#821)
avik-pal Feb 27, 2025
c78f585
Regenerate MLIR Bindings (#815)
github-actions[bot] Feb 28, 2025
3991fd0
More enzymexla bump (#823)
wsmoses Feb 28, 2025
85bdbee
fix: return T if mode=TracedSetPath (#810)
glwagner Feb 28, 2025
a39b055
feat: support 2 levels of wrapping (#824)
avik-pal Feb 28, 2025
f33c023
feat: add isinf dispatches (#826)
avik-pal Mar 1, 2025
da85c90
Bump enzymexla (#829)
wsmoses Mar 2, 2025
5815733
Update WORKSPACE
wsmoses Mar 2, 2025
4b6b818
Update WORKSPACE
wsmoses Mar 2, 2025
a0659e1
update jll (#830)
wsmoses Mar 2, 2025
dc3f17c
Tag v0.2.34 (#831)
giordano Mar 2, 2025
1f800c4
Restore raising to executing (#832)
wsmoses Mar 2, 2025
100c9f7
Format code (#833)
github-actions[bot] Mar 3, 2025
28b4eda
Bump Reactant_jll and version number (#838)
giordano Mar 3, 2025
d1be533
feat: sharding with non-divisible dimensions [alternate approach] (#825)
avik-pal Mar 4, 2025
e522ced
Generate MemRef dialect bindings (#836)
mofeing Mar 4, 2025
07efa86
Update `make-bindings.jl` to generate MemRef dialect
mofeing Mar 4, 2025
451fc40
Quick fix path to MemRefOps.td
mofeing Mar 4, 2025
e7eec18
Regenerate MLIR Bindings (#842)
github-actions[bot] Mar 4, 2025
b0e5f11
fix: IFRT PJRT Client construction (#841)
avik-pal Mar 4, 2025
f09a335
ReactantExtra changes to fix MPI PR (#844)
mofeing Mar 5, 2025
f56f806
Bump enzymexla
wsmoses Mar 5, 2025
c7864b7
[CI] Set timeout of run-tests job to 60 minutes (#843)
giordano Mar 5, 2025
d2ff1aa
test: disable Lux gradient test for now (#845)
avik-pal Mar 5, 2025
3ea2ce9
docs: housekeeping + memref dialect (#846)
avik-pal Mar 5, 2025
ff32540
docs: fix links in nav bar (#848)
avik-pal Mar 5, 2025
ede4493
feat: more dispatches for any/all (#834)
avik-pal Mar 6, 2025
302274f
fix: number tracing (#849)
avik-pal Mar 6, 2025
0cfcef7
chore: bump version for release
avik-pal Mar 6, 2025
fdbbfeb
Additional enzymexlabump (#850)
wsmoses Mar 6, 2025
e191da4
Further enzymexla bump (#851)
wsmoses Mar 7, 2025
acc23bc
change Thunk
glou-nes Mar 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 1 addition & 37 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,43 +32,7 @@ steps:
cuda: "*"
env:
REACTANT_TEST_GROUP: "{{matrix.group}}"
if: build.message !~ /\[skip tests\]/
timeout_in_minutes: 120

- label: ":julia: :linux: aarch64 - Julia v{{matrix.version}} -- {{matrix.group}}"
matrix:
setup:
version:
- "1.10"
- "1.11"
group:
- core
- neural_networks
- integration
plugins:
- JuliaCI/julia#v1:
version: "{{matrix.version}}"
- JuliaCI/julia-coverage#v1:
codecov: true
dirs:
- src
- ext
- lib/ReactantCore/src
commands: |
julia --project=. -e 'println("--- :julia: Instantiating project")
using Pkg
Pkg.develop([PackageSpec(path="lib/ReactantCore")])'

julia --project=. -e 'println("--- :julia: Run Tests")
using Pkg
Pkg.test(; coverage="user")'
agents:
queue: "juliaecosystem"
os: "linux"
sandbox_capable: "true"
arch: "aarch64"
env:
REACTANT_TEST_GROUP: "{{matrix.group}}"
CUDA_VISIBLE_DEVICES: 0
if: build.message !~ /\[skip tests\]/
timeout_in_minutes: 120

Expand Down
1 change: 1 addition & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
BasedOnStyle: LLVM
93 changes: 93 additions & 0 deletions .github/workflows/CI-localjll.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: CI with local libReactant

on:
pull_request:
paths:
- '.github/workflows/CI-localjll.yml'
- 'deps/**'
push:
branches:
- main
- release-*
tags: '*'
paths:
- '.github/workflows/CI-localjll.yml'
- 'deps/**'

concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}

jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - local libReactant - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version:
- '1.10'
- '1.11'
os:
- ubuntu-24.04
- macOS-latest
exclude:
- os: macOS-latest
version: '1.10'
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
- uses: julia-actions/cache@v2
- uses: bazel-contrib/setup-bazel@0.14.0
name: Set up Bazel
with:
# Avoid downloading Bazel every time.
bazelisk-cache: true
# Store build cache per workflow.
disk-cache: ${{ github.workflow }}-${{ matrix.os }}-${{ matrix.version }}
# Share repository cache between workflows.
repository-cache: true
bazelisk-version: 1.x
- name: Prepare build on macOS
if: ${{ startsWith(matrix.os, 'macOS-') }}
run: |
echo "SDKROOT=$(xcrun --show-sdk-path)" >> "${GITHUB_ENV}"
- name: Build libReactant
run: |
python -m pip install numpy
julia --color=yes --project=deps -e 'using Pkg; Pkg.instantiate()'
julia --color=yes --project=deps deps/build_local.jl
cp LocalPreferences.toml test/
- name: "Install Dependencies"
run: |
import Pkg
Pkg.Registry.update()
# Install packages present in subdirectories
dev_pks = Pkg.PackageSpec[]
for path in ("lib/ReactantCore",)
push!(dev_pks, Pkg.PackageSpec(; path))
end
Pkg.develop(dev_pks)
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=. {0}
# Only in Julia v1.10 we need to install `ReactantCore` manually.
if: ${{ matrix.version == '1.10' }}
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
- name: "Run Tests"
run: |
import Pkg
Pkg.Registry.update()
Pkg.test(; coverage="user")
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=. {0}
id: run_tests
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
XLA_FLAGS: "--xla_force_host_platform_device_count=8"
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v5
with:
files: lcov.info
116 changes: 40 additions & 76 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,26 @@
name: CI

on:
pull_request:
paths:
- '.github/workflows/CI.yml'
- 'ext/**'
- 'lib/**'
- 'src/**'
- 'test/**'
- 'Project.toml'
push:
branches:
- main
- release-*
tags: '*'
paths:
- '.github/workflows/CI.yml'
- 'ext/**'
- 'lib/**'
- 'src/**'
- 'test/**'
- 'Project.toml'

concurrency:
# Skip intermediate builds: always.
Expand All @@ -15,7 +30,8 @@ concurrency:

jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.test_group }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ matrix.libReactant }} libReactant - assertions=${{ matrix.assertions }} - ${{ github.event_name }}
timeout-minutes: 90
name: Julia ${{ matrix.version }} - ${{ matrix.test_group }} - ${{ matrix.os }} - assertions=${{ matrix.assertions }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
Expand All @@ -25,63 +41,49 @@ jobs:
- '1.11'
# - 'nightly'
os:
- ubuntu-20.04
- ubuntu-24.04
# `ubuntu-22.04-arm` is considered more stable than `ubuntu-24.04-arm`:
# <https://github.com/orgs/community/discussions/148648#discussioncomment-12099554>.
- ubuntu-22.04-arm
- macOS-13
- macOS-latest
test_group:
- core
- neural_networks
- integration
arch:
- x64
- aarch64
assertions:
- false
libReactant: [packaged]
include:
- os: ubuntu-20.04
arch: x64
libReactant: packaged
- os: ubuntu-24.04
version: '1.10'
assertions: true
test_group: core
- os: ubuntu-20.04
arch: x64
libReactant: packaged
- os: ubuntu-24.04
version: '1.10'
assertions: true
test_group: neural_networks
- os: ubuntu-20.04
arch: x64
libReactant: packaged
- os: ubuntu-24.04
version: '1.10'
assertions: true
test_group: integration
# - os: ubuntu-20.04
# arch: x86
# - os: ubuntu-24.04
# libReactant: packaged
# version: '1.10'
# test_group: core
# - os: ubuntu-20.04
# arch: x86
# - os: ubuntu-24.04
# libReactant: packaged
# version: '1.10'
# test_group: neural_networks
# - os: ubuntu-20.04
# arch: x86
# - os: ubuntu-24.04
# libReactant: packaged
# version: '1.10'
# test_group: integration
exclude:
# these are run on Buildkite
- os: ubuntu-20.04
arch: aarch64
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
if: ${{ ! matrix.assertions }}
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: julia-actions/cache@v2
- uses: actions/checkout@v4
if: ${{ matrix.assertions }}
Expand All @@ -95,23 +97,7 @@ jobs:
sed -i.bak 's/exit 2/exit 0/g' julia/deps/tools/jlchecksum
make -C julia -j $(nproc) FORCE_ASSERTIONS=1 LLVM_ASSERTIONS=1 JULIA_PRECOMPILE=0
echo $PWD/julia/usr/bin >> $GITHUB_PATH
- name: Build libReactant
if: ${{ matrix.libReactant == 'local' && matrix.os != 'macOS-latest'}}
id: build_libreactant
run: |
python -m pip install numpy
julia --color=yes --project=deps -e 'using Pkg; Pkg.instantiate()'
julia --color=yes --project=deps deps/build_local.jl
cp LocalPreferences.toml test/
- name: Build libReactant MacOS
if: ${{ matrix.libReactant == 'local' && matrix.os == 'macOS-latest'}}
id: build_libreactant_mac
run: |
python -m pip install numpy
julia --color=yes --project=deps -e 'using Pkg; Pkg.instantiate()'
SDKROOT=`xcrun --show-sdk-path` julia --color=yes --project=deps deps/build_local.jl
cp LocalPreferences.toml test/
- name: "Install Dependencies and Run Tests"
- name: "Install Dependencies"
run: |
import Pkg
Pkg.Registry.update()
Expand All @@ -121,46 +107,24 @@ jobs:
push!(dev_pks, Pkg.PackageSpec(; path))
end
Pkg.develop(dev_pks)
Pkg.instantiate()
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=. {0}
# Only in Julia v1.10 we need to install `ReactantCore` manually.
if: ${{ matrix.version == '1.10' }}
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
- name: "Run Tests"
timeout-minutes: 60
run: |
import Pkg
Pkg.Registry.update()
Pkg.test(; coverage="user")
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=. {0}
id: run_tests
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
REACTANT_TEST_GROUP: ${{ matrix.test_group }}
XLA_FLAGS: "--xla_force_host_platform_device_count=8"
- uses: julia-actions/julia-processcoverage@v1
if: steps.run_tests.outcome == 'success'
- uses: codecov/codecov-action@v5
if: steps.run_tests.outcome == 'success'
with:
files: lcov.info
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: '1'
- uses: julia-actions/cache@v2
- run: |
julia --color=yes --project=docs -e '
using Pkg
Pkg.develop([
PackageSpec(path=pwd()),
PackageSpec("Reactant_jll"),
PackageSpec(path="lib/ReactantCore")
])
Pkg.instantiate()'
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
- run: |
julia --color=yes --project=docs -e '
using Documenter: DocMeta, doctest
using Reactant
DocMeta.setdocmeta!(Reactant, :DocTestSetup, :(using Reactant); recursive=true)
doctest(Reactant)'
- run: julia --color=yes --project=docs docs/make.jl
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
5 changes: 4 additions & 1 deletion .github/workflows/CompatHelper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,10 @@ jobs:
name = "CompatHelper"
uuid = "aa819f21-2bde-4658-8897-bab36330d9b7"
version = "3"
Pkg.add(; name, uuid, version)
# Temporarily use debugging version
url = "https://github.com/JuliaRegistries/CompatHelper.jl.git"
rev = "f408ea193f9573c68a68d72932bcd56268c60340"
Pkg.add(; url, rev)
shell: julia --color=yes {0}
- name: "Run CompatHelper"
run: |
Expand Down
Loading