Skip to content
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

refactor: move all subpackages into a mono-repo #1002

Merged
merged 1,196 commits into from
Nov 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1196 commits
Select commit Hold shift + click to select a range
56f4ab4
perf: try reclaiming memory
avik-pal Aug 12, 2024
f989c99
fix: incorrect system parameters
avik-pal Aug 12, 2024
073ff5a
perf: temporarily disable non-dense benchmarks
avik-pal Aug 12, 2024
df6ab5b
ci(benchmark): allow proceed on failure
avik-pal Aug 13, 2024
734105a
perf: update polyalg selection for matmul and matmuladd
avik-pal Aug 13, 2024
52b8929
test: ensure no additional allocations for matmul
avik-pal Aug 13, 2024
a19cd99
fix: typo in AMDGPU batched matmul
avik-pal Aug 13, 2024
469eaaf
perf: restore running all benchmarks
avik-pal Aug 13, 2024
8d9b44f
docs: add link to benchmarks
avik-pal Aug 13, 2024
746c3de
ci: fix benchmarks config
avik-pal Aug 13, 2024
e4f30c0
test: run allocs test only on CPU
avik-pal Aug 13, 2024
1ebce25
fix: mixed-precision use Octavian if possible
avik-pal Aug 14, 2024
25dd147
feat: add traits to fuse activation functions
avik-pal Aug 12, 2024
45d1733
perf: selective vectorization of operations bias_add/activation
avik-pal Aug 13, 2024
ca65d39
perf: fused bias activation for certain operations
avik-pal Aug 13, 2024
989aefc
perf: optimize batchnorm implementation
avik-pal Aug 13, 2024
b6d1bfc
perf: don't fuse tanh
avik-pal Aug 14, 2024
918a255
perf: run specific benchmarks
avik-pal Aug 14, 2024
b6d34ab
perf: be conservative while fusing activation functions
avik-pal Aug 14, 2024
34b0f07
refactor: qualify CPU functions with `_cpu`
avik-pal Aug 14, 2024
b41a29c
perf: restore running all benchmarks
avik-pal Aug 14, 2024
c591c5a
fix(tracker): expand custom Tracker AD for wrapper types
avik-pal Aug 17, 2024
c35c624
fix: subtyping correction
avik-pal Aug 17, 2024
42095f1
test: ignore tests for batched_vec (not our code)
avik-pal Aug 17, 2024
5cb9cd2
perf: faster version of groupnorm
avik-pal Aug 17, 2024
65ad296
ci: run downstream testing only on pull requests
avik-pal Aug 18, 2024
4bf4ac4
refactor: remove unnecessary forced inlining
avik-pal Aug 19, 2024
205d956
refactor: move PartialFunctions into a module
avik-pal Aug 19, 2024
ceaf0e0
refactor: move utilities into Utils
avik-pal Aug 19, 2024
acdf92b
refactor: move device agnostic functions to `DeviceAgnostic`
avik-pal Aug 19, 2024
30ace3f
test: separate out the testing project file
avik-pal Aug 19, 2024
0e8f144
refactor: move internal functions into separate modules
avik-pal Aug 19, 2024
345925f
test: separate out the testing project file
avik-pal Aug 19, 2024
973c6ab
fix: incorrect internal calls
avik-pal Aug 19, 2024
41a6201
refactor: remove unnecessary turbo loop
avik-pal Aug 19, 2024
8b35110
perf: don't rely on compile time branch removal for KA
avik-pal Aug 19, 2024
4984056
perf: static ndrange kernel launches
avik-pal Aug 19, 2024
4d4da29
perf: let it autotune
avik-pal Aug 19, 2024
2f0f1ce
refactor: use multiple dispatch for cleaner kernels
avik-pal Aug 19, 2024
b6a3668
refactor: disable cpu codegen for kernels
avik-pal Aug 19, 2024
55e7f38
fix: nicer information for fallback mixed-precision matmul
avik-pal Aug 20, 2024
b11d4c0
fix: allow zero-sized arrays in bias_activation
avik-pal Aug 20, 2024
21fe754
fix: don't restrict bias_act to number
avik-pal Aug 20, 2024
a57ce62
fix: don't restrict traits/ext/utils to number
avik-pal Aug 20, 2024
1eaebad
fix: more aggressive type specialization
avik-pal Aug 20, 2024
2863e6f
chore: update version
avik-pal Aug 20, 2024
924549d
fix: broken qa tests
avik-pal Aug 20, 2024
c410c81
fix: use `fmap_with_path` to correctly identify all internal states
avik-pal Aug 21, 2024
082a86e
chore: apply formatting suggestion
avik-pal Aug 21, 2024
47b6aa2
fix: don't error on detecting arrays with undefined entries
avik-pal Aug 21, 2024
ace9f11
refactor: move ChainRulesCore into an extension
avik-pal Aug 21, 2024
5f44d11
fix: skip enzyme tests if it is a pre-release
avik-pal Aug 22, 2024
aebd26f
chore: bump version for release
avik-pal Aug 22, 2024
864fee3
fix: decide internal operation based on unwrapped arrays
avik-pal Aug 23, 2024
d2ac113
fix: avoid wrappers for SVector using `insert_batch_dim`
avik-pal Aug 23, 2024
daa9f30
fix: enzyme forward mode with octavian
avik-pal Aug 23, 2024
0a591d8
feat: swap Enzyme forward rules along with reverse
avik-pal Aug 23, 2024
15bcd25
test: simple enzyme forward test to check no crash
avik-pal Aug 23, 2024
c2102e1
chore: bump crate-ci/typos from 1.23.6 to 1.24.1
dependabot[bot] Aug 26, 2024
5274b44
chore(deps): bump crate-ci/typos from 1.23.6 to 1.24.1
dependabot[bot] Aug 26, 2024
132c816
chore: bump crate-ci/typos from 1.23.6 to 1.24.1
dependabot[bot] Aug 26, 2024
6a30979
chore: bump crate-ci/typos from 1.23.6 to 1.24.1
dependabot[bot] Aug 26, 2024
bdd60f3
chore: bump crate-ci/typos from 1.23.6 to 1.24.1
dependabot[bot] Aug 26, 2024
3c9a444
feat: add `unsafe_free!`
avik-pal Aug 28, 2024
53eafab
feat: add DeviceIterator (and support parallel Device DataLoader)
avik-pal Aug 28, 2024
2db8c8a
test: basic tests for free-ing data
avik-pal Aug 28, 2024
e7450c4
refactor: simplify parallel dataloader
avik-pal Aug 28, 2024
5d997f3
test: DataLoader aggressive freeing
avik-pal Aug 28, 2024
20cbd2d
docs: add docstrings for `DeviceIterator`
avik-pal Aug 28, 2024
cb330f3
refactor: deprecate "Explicit" in favor of "Lux"
avik-pal Jul 27, 2024
cc27b07
chore: add deprecation for the single arg outputsize
avik-pal Jul 27, 2024
db37b6d
fix: remove old uses of Explicit
avik-pal Aug 18, 2024
ecd0877
fix!: remove deprecations
avik-pal Jul 27, 2024
8c6c267
chore: add exports for abstract layers
avik-pal Jul 27, 2024
5ca887d
refactor: move Functors and Setfield into ext
avik-pal Jul 27, 2024
6bb8193
fix!: remove hacky version of outputsize
avik-pal Jul 27, 2024
8234a3c
feat: add `AbstractLuxWrapperLayer`
avik-pal Jul 27, 2024
c0071c6
refactor: cleanup extension usage
avik-pal Jul 27, 2024
fb9951c
test: update test to new API
avik-pal Jul 27, 2024
51de928
test: extension loading errors
avik-pal Jul 27, 2024
f84eddc
feat: support functors for WrappedLayer
avik-pal Jul 27, 2024
336d79c
test: LuxWrappedLayer tested
avik-pal Jul 27, 2024
d225c33
test: don't qualify unnecessarily
avik-pal Jul 27, 2024
0ce21a2
refactor: cleanup internal functions
avik-pal Aug 18, 2024
aed10cb
fix!: remove default slow handling of outputsize
avik-pal Aug 18, 2024
895c3c6
fix: update removed API
avik-pal Aug 18, 2024
23de6db
test: update old tests
avik-pal Aug 18, 2024
1e1fe6d
fix!: remove unused `inputsize`
avik-pal Aug 18, 2024
bcdff09
fix: add fmap_with_path support
avik-pal Aug 21, 2024
72071ea
chore: fix formatting
avik-pal Aug 23, 2024
572081f
feat: default call for wrapper layers
avik-pal Aug 29, 2024
55e7c60
fix: remove hacky usage of module getproperty rrules
avik-pal Aug 29, 2024
7b72104
fix: accidental dual usage of `ofeltype_array`
avik-pal Aug 29, 2024
2de2041
feat: auto-training mode and strict checks
avik-pal Aug 29, 2024
8290d95
chore: bump compat for LuxCore to 1, (keep existing compat) (#147)
github-actions[bot] Aug 30, 2024
df4f7ac
feat: extend the layernorm API
avik-pal Aug 29, 2024
272ad14
test: more detailed layernorm testing
avik-pal Aug 29, 2024
b8bd1d1
chore: bump version for release
avik-pal Aug 30, 2024
6c8d436
fix!: remove deprecations for 1.0 release
avik-pal Jul 10, 2024
a2a91a2
chore!: remove Reexport of NNlib (will be done via Lux)
avik-pal Jul 26, 2024
471a1d6
perf: add NNlib to benchmarks deps
avik-pal Aug 18, 2024
46868a3
fix: remove unused explicit imports
avik-pal Aug 18, 2024
2ac5d0b
chore: update to using LuxCore@1.0
avik-pal Aug 18, 2024
b310809
fix!: remove dropout branching based on size
avik-pal Aug 29, 2024
44d2398
fix!: change the default layernorm dims
avik-pal Aug 30, 2024
eae5623
chore: bump crate-ci/typos from 1.24.1 to 1.24.3
dependabot[bot] Sep 2, 2024
ad97781
chore(deps): bump crate-ci/typos from 1.24.1 to 1.24.3
dependabot[bot] Sep 2, 2024
3f8f6c1
chore: bump crate-ci/typos from 1.24.1 to 1.24.3
dependabot[bot] Sep 2, 2024
245e860
chore: bump crate-ci/typos from 1.24.1 to 1.24.3
dependabot[bot] Sep 2, 2024
fda53e9
chore: bump crate-ci/typos from 1.24.1 to 1.24.3
dependabot[bot] Sep 2, 2024
d7a70c0
feat: add enzyme reverse rules for `fused_dense!`
avik-pal Sep 3, 2024
e422275
test: add tests for the enzyme fused_dense rules
avik-pal Sep 3, 2024
6486346
fix: typo in reverse rule
avik-pal Sep 3, 2024
602be68
test: run tests with more activations
avik-pal Sep 3, 2024
de8b570
feat: instancenorm with running statistics
avik-pal Sep 4, 2024
980c3ce
fix: fixes for testing
avik-pal Sep 4, 2024
afa5f63
fix: modify the dropout testing
avik-pal Sep 5, 2024
e2fb21b
fix: windows testing for dropout
avik-pal Sep 5, 2024
53880f9
chore(deps): bump crate-ci/typos from 1.24.3 to 1.24.5
dependabot[bot] Sep 9, 2024
ebc787d
chore(deps): bump peter-evans/create-pull-request from 6 to 7
dependabot[bot] Sep 9, 2024
f09f5ad
chore: bump peter-evans/create-pull-request from 6 to 7
dependabot[bot] Sep 9, 2024
eb27e0e
chore: bump crate-ci/typos from 1.24.3 to 1.24.5
dependabot[bot] Sep 9, 2024
81268d2
chore: bump peter-evans/create-pull-request from 6 to 7
dependabot[bot] Sep 9, 2024
535d65f
chore: bump crate-ci/typos from 1.24.3 to 1.24.5
dependabot[bot] Sep 9, 2024
cdfd8fa
chore: bump peter-evans/create-pull-request from 6 to 7 (#19)
dependabot[bot] Sep 9, 2024
35ac4c9
chore: bump peter-evans/create-pull-request from 6 to 7
dependabot[bot] Sep 9, 2024
137b0fd
chore: bump crate-ci/typos from 1.24.3 to 1.24.5
dependabot[bot] Sep 9, 2024
2311fc8
test: add tests comparing the fused op with unfused op
avik-pal Sep 10, 2024
24076bc
fix: improve load times by moving CRC to ext
avik-pal Sep 11, 2024
75a1b1f
fix: remove UnrolledUtilities dep
avik-pal Sep 11, 2024
ed65e87
fix: remove UnrolledUtilities dep
avik-pal Sep 11, 2024
6de6ec5
chore: bump minimum MLDataDevices version
avik-pal Sep 11, 2024
18d83cf
fix: dropout tests are no longer broken
avik-pal Sep 12, 2024
70354b4
chore: accidentally left deprecations file
avik-pal Sep 15, 2024
2506969
fix: missing enzyme rules for matmuladd! (CUDA support)
avik-pal Sep 15, 2024
a2c9696
test: incorrect condition
avik-pal Sep 15, 2024
8c77d30
test: incorrect function name
avik-pal Sep 15, 2024
c3d4b14
fix: zero out shadows
avik-pal Sep 15, 2024
412aed5
fix: enzyme reverse bias needs a check on Const
avik-pal Sep 16, 2024
d0e47ec
chore: bump crate-ci/typos from 1.24.5 to 1.24.6
dependabot[bot] Sep 16, 2024
e19b20a
feat: better test integration in test_gradients
avik-pal Sep 18, 2024
75dee14
feat: add test_gradients macro
avik-pal Sep 18, 2024
a32e74d
chore: apply formatting suggestion
avik-pal Sep 18, 2024
2e6c520
fix: update to use test_gradients macro
avik-pal Sep 18, 2024
7722fa1
fix: bias needs to add accum gradients
avik-pal Sep 18, 2024
d38d39e
chore: bump `EnzymeCore` version
github-actions[bot] Sep 19, 2024
c07dc4c
chore: install latest enzyme version
avik-pal Sep 18, 2024
cceb5fb
chore: update Enzyme version
avik-pal Sep 18, 2024
60e0f77
chore: bump minimum versions
avik-pal Sep 18, 2024
aebb31f
ci: update buildkite settings
avik-pal Sep 21, 2024
d907a7f
feat: wider support for batched_matmul
avik-pal Sep 21, 2024
8f22859
perf: benchmark fallback batched_matmul
avik-pal Sep 21, 2024
8e132ad
feat: slow fallback conv impl
avik-pal Sep 21, 2024
0f585de
feat: parallel fallback batchedmm
avik-pal Sep 21, 2024
a6c99be
ci(buildkite): add GPU testing for Metal and oneAPI
avik-pal Sep 21, 2024
bd40ca7
test: check for FP64 support
avik-pal Sep 21, 2024
ed29db5
fix: convert element type before broadcasting
avik-pal Sep 21, 2024
afe03da
fix: dispatch for NNlib conv
avik-pal Sep 21, 2024
69c06a8
ci(buildkite): disable testing for Metal and oneAPI
avik-pal Sep 21, 2024
9d20bee
chore: bump version
avik-pal Sep 21, 2024
2ee61da
feat: update minimum version of Enzyme to 0.13
avik-pal Sep 21, 2024
623b64c
feat: support within_gradient for Enzyme
avik-pal Sep 21, 2024
adfd3e1
refactor: rename within_gradient to within_autodiff
avik-pal Sep 21, 2024
c0df53c
fix: update forward rules to new API
avik-pal Sep 21, 2024
37409c1
fix: use known on the return type
avik-pal Sep 21, 2024
58c1c05
fix: forward enzyme rules
avik-pal Sep 22, 2024
da6b9ce
fix: broken enzyme tests
avik-pal Sep 22, 2024
13fda4f
feat: support runtime activity for enzyme
avik-pal Sep 22, 2024
901aaad
fix: check was accidentally broken
avik-pal Sep 22, 2024
d8dd59e
chore(deps): bump crate-ci/typos from 1.24.5 to 1.24.6
dependabot[bot] Sep 23, 2024
c341589
Merge pull request #40 from LuxDL/dependabot/github_actions/crate-ci/…
ChrisRackauckas Sep 23, 2024
8f6d67a
chore: bump crate-ci/typos from 1.24.3 to 1.24.6
dependabot[bot] Sep 23, 2024
c621ffe
chore: bump crate-ci/typos from 1.24.5 to 1.24.6
dependabot[bot] Sep 23, 2024
cc294ed
chore: bump crate-ci/typos from 1.24.5 to 1.24.6
dependabot[bot] Sep 23, 2024
d72a702
fix: rollback custom gelu implementation
avik-pal Sep 25, 2024
cb58fab
feat: XLADevice via Reactant
avik-pal Oct 3, 2024
3fc3282
chore: apply suggestions from code review
avik-pal Oct 3, 2024
906fd21
chore: bump version
avik-pal Oct 3, 2024
823ef51
feat: more extensive testing of XLA backend
avik-pal Oct 3, 2024
38b5770
fix: incorrect function call
avik-pal Oct 3, 2024
b8a01a7
test: rename
avik-pal Oct 3, 2024
1074453
test: incorrect env var
avik-pal Oct 3, 2024
71ccf54
fix: copy to XLA in main thread
avik-pal Oct 3, 2024
cb1fc9c
fix: don't support pre-moving the data
avik-pal Oct 3, 2024
c7ea71a
fix: urgent patch for reactant breakage
avik-pal Oct 4, 2024
64d1326
chore: bump crate-ci/typos from 1.24.6 to 1.25.0
dependabot[bot] Oct 7, 2024
780486b
chore(deps): bump crate-ci/typos from 1.24.6 to 1.25.0 (#41)
dependabot[bot] Oct 7, 2024
ffe8351
chore: bump crate-ci/typos from 1.24.6 to 1.25.0
dependabot[bot] Oct 7, 2024
ebe618f
chore: bump crate-ci/typos from 1.24.6 to 1.25.0
dependabot[bot] Oct 7, 2024
6f6cf47
chore: bump crate-ci/typos from 1.24.6 to 1.26.0
dependabot[bot] Oct 7, 2024
b99b7b2
ci: run on `1.10` and `1` (#57)
avik-pal Oct 8, 2024
aec6490
ci: run on `1.10` and `1` (#81)
avik-pal Oct 8, 2024
e9d0fae
ci: run on `1.10` and `1` (#43)
avik-pal Oct 8, 2024
121b074
ci: run buildkite on `1.10` and `1`
avik-pal Oct 8, 2024
10e7955
chore: bump peter-evans/create-pull-request from 6 to 7 (#40)
dependabot[bot] Oct 8, 2024
6f1b0a6
ci: run tests only on `1.10` for now (#172)
avik-pal Oct 8, 2024
5af4b24
fix: relax cublaslt types (#173)
avik-pal Oct 10, 2024
483e12d
docs: add Flux.jl to the README (#83)
CarloLucibello Oct 13, 2024
52cfe4e
chore: bump crate-ci/typos from 1.25.0 to 1.26.0 (#58)
dependabot[bot] Oct 14, 2024
4bb0302
chore: bump crate-ci/typos from 1.25.0 to 1.26.0 (#44)
dependabot[bot] Oct 14, 2024
cb93d5a
chore: bump crate-ci/typos from 1.25.0 to 1.26.0 (#174)
dependabot[bot] Oct 16, 2024
d2da544
chore: bump compat for GPUArrays in [weakdeps] to 11, (keep existing …
github-actions[bot] Oct 18, 2024
bf09413
chore: bump version for release
avik-pal Oct 18, 2024
7caabbb
chore: bump compat for GPUArrays in [weakdeps] to 11, (keep existing …
github-actions[bot] Oct 18, 2024
262c5c9
chore: bump compat for GPUArraysCore to 0.2, (keep existing compat) (…
github-actions[bot] Oct 18, 2024
6c1ac6e
chore: bump version for release
avik-pal Oct 18, 2024
a9871cb
feat: add fallbacks for unknown objects (#87)
avik-pal Oct 18, 2024
ceb36a1
refactor: move `JuliaSIMD` deps to extensions (#175)
avik-pal Oct 18, 2024
6cd09f3
feat: define isleaf (#84)
CarloLucibello Oct 19, 2024
13f6bb3
fix: handle bitstypes and wrapped arrays in isleaf (#88)
CarloLucibello Oct 22, 2024
c63829b
fix: task switching in AMDGPU complex batched_matmul (#178)
avik-pal Oct 25, 2024
e2adcbf
fix: correctly handle adjoints of wrapped arrays (#90)
avik-pal Oct 25, 2024
b92c545
chore(deps): bump crate-ci/typos from 1.25.0 to 1.26.8 (#44)
dependabot[bot] Oct 28, 2024
d82b645
chore: bump crate-ci/typos from 1.26.0 to 1.26.8 (#49)
dependabot[bot] Oct 28, 2024
0249db8
chore: bump crate-ci/typos from 1.26.0 to 1.26.8 (#60)
dependabot[bot] Oct 28, 2024
d8f6c7e
fix: missing import; fixes #179 (#180)
avik-pal Oct 28, 2024
6535610
chore: bump crate-ci/typos from 1.26.0 to 1.26.8 (#93)
dependabot[bot] Oct 28, 2024
32ced00
Merge remote-tracking branch 'luxcuda/main' into ap/mono_repo
avik-pal Nov 3, 2024
5600af5
Merge remote-tracking branch 'luxcore/main' into ap/mono_repo
avik-pal Nov 3, 2024
2566e02
Merge remote-tracking branch 'luxtest/master' into ap/mono_repo
avik-pal Nov 3, 2024
20eafc4
Merge remote-tracking branch 'luxlib/main' into ap/mono_repo
avik-pal Nov 3, 2024
6a50d72
Merge remote-tracking branch 'wi/main' into ap/mono_repo
avik-pal Nov 3, 2024
724a8e4
Merge remote-tracking branch 'mdd/main' into ap/mono_repo
avik-pal Nov 3, 2024
0198127
ci: merge LuxCUDA testing scripts
avik-pal Nov 3, 2024
19f4e99
ci: merge LuxCore testing scripts
avik-pal Nov 3, 2024
a2c3448
ci: merge WeightInitializers testing scripts
avik-pal Nov 3, 2024
cf62037
ci: add WI to pipeline launch
avik-pal Nov 3, 2024
fafafc6
ci: add MLDataDevices to pipeline launch
avik-pal Nov 3, 2024
e7b685e
ci: change 1.10 to "lts"
avik-pal Nov 3, 2024
ddb1e8e
test: LuxCore test fixes
avik-pal Nov 3, 2024
9ef5650
ci: soft fail MLDataDevices
avik-pal Nov 3, 2024
94e2995
ci: add a central downstream testing
avik-pal Nov 3, 2024
0852e49
ci: partially migrate LuxLib CI
avik-pal Nov 3, 2024
7a74529
ci: remove name field
avik-pal Nov 3, 2024
e45d5e5
ci: minor fixes to build scripts
avik-pal Nov 3, 2024
fa895ee
ci: move LuxTestUtils CI scripts
avik-pal Nov 3, 2024
308c45f
ci: update LuxLib workflow
avik-pal Nov 3, 2024
37cb288
ci: update LuxLib workflows
avik-pal Nov 3, 2024
5dc5a7c
ci: split out downstream testing
avik-pal Nov 3, 2024
277513d
ci: fix certain pipelines
avik-pal Nov 3, 2024
910fb3a
ci: minor tweaks
avik-pal Nov 3, 2024
aa67349
fix: workflows
avik-pal Nov 3, 2024
549bfaf
test: use local LuxCUDA for tests
avik-pal Nov 3, 2024
07595b2
fix: use develop
avik-pal Nov 3, 2024
ecbbd05
docs: update
avik-pal Nov 3, 2024
05739a2
fix: add dev packages
avik-pal Nov 3, 2024
1c09c3b
docs: dev required packages
avik-pal Nov 3, 2024
8a344d5
perf: merge the benchmarks
avik-pal Nov 3, 2024
d54ce9f
fix: minor test fixes
avik-pal Nov 3, 2024
a3308c8
docs: add list of packages
avik-pal Nov 3, 2024
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
16 changes: 12 additions & 4 deletions .buildkite/benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,11 @@ steps:
command: |
julia --project=benchmarks -e 'println("--- :julia: Instantiating project")
using Pkg
Pkg.develop([PackageSpec(path=pwd())])'
Pkg.develop([
PackageSpec(path=pwd()),
PackageSpec(path="lib/LuxLib"),
PackageSpec(path="lib/MLDataDevices"),
])'

julia --project=benchmarks -e 'println("--- :julia: Run Benchmarks")
include("benchmarks/runbenchmarks.jl")'
Expand All @@ -36,12 +40,16 @@ steps:
version: "1"
command: |
julia --project=benchmarks -e 'println("--- :julia: Instantiating project")
using Pkg
Pkg.develop([PackageSpec(path=pwd())])'
using Pkg;
Pkg.develop([
PackageSpec(path=pwd()),
PackageSpec(path="lib/LuxLib"),
PackageSpec(path="lib/MLDataDevices"),
])'

julia --project=benchmarks -e 'println("--- :julia: Add CUDA to benchmarks environment")
using Pkg
Pkg.add("LuxCUDA")'
Pkg.develop([PackageSpec(path="lib/LuxCUDA")])'

julia --project=benchmarks -e 'println("--- :julia: Run Benchmarks")
include("benchmarks/runbenchmarks.jl")'
Expand Down
6 changes: 5 additions & 1 deletion .buildkite/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,11 @@ steps:
julia --code-coverage=user --color=yes --project=docs -e '
println("--- :julia: Instantiating project")
using Pkg
Pkg.develop(PackageSpec(path=pwd()))
dev_pkgs = Pkg.PackageSpec[]
for pkg in ("lib/LuxLib", "lib/LuxCore", "lib/MLDataDevices", "lib/LuxTestUtils", "lib/WeightInitializers", ".")
push!(dev_pkgs, Pkg.PackageSpec(path=pkg));
end
Pkg.develop(dev_pkgs)
Pkg.instantiate()
println("+++ :julia: Building documentation")
include("docs/make.jl")'
Expand Down
68 changes: 68 additions & 0 deletions .buildkite/downstream.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
steps:
- group: ":telescope: Downstream CUDA"
steps:
- label: ":julia: {{matrix.repo}} (Julia 1 + CUDA GPU)"
plugins:
- JuliaCI/julia#v1:
version: "1.10"
- JuliaCI/julia-coverage#v1:
codecov: true
dirs:
- src
- ext
- lib/LuxCore/src
- lib/LuxCore/ext
- lib/LuxLib/src
- lib/LuxLib/ext
- lib/MLDataDevices/src
- lib/MLDataDevices/ext
- lib/WeightInitializers/src
- lib/WeightInitializers/ext
command: julia --code-coverage=user --color=yes --project .buildkite/scripts/downstream.jl "{{matrix.repo}}" "CUDA"
agents:
queue: "juliagpu"
cuda: "*"
if: build.message !~ /\[skip tests\]/ && build.message !~ /\[skip downstream\]/ && build.message !~ /\[skip ci\]/ && build.pull_request.labels includes "run downstream test"
timeout_in_minutes: 60
matrix:
setup:
repo:
- "Boltz"
- "NeuralPDE"
- "DeepEquilibriumNetworks"
- "NeuralOperators"

- group: ":telescope: Downstream AMD GPU"
steps:
- label: ":julia: {{matrix.repo}} (Julia 1 + AMD GPU)"
plugins:
- JuliaCI/julia#v1:
version: "1.10"
- JuliaCI/julia-coverage#v1:
codecov: true
dirs:
- src
- ext
- lib/LuxCore/src
- lib/LuxCore/ext
- lib/LuxLib/src
- lib/LuxLib/ext
- lib/MLDataDevices/src
- lib/MLDataDevices/ext
- lib/WeightInitializers/src
- lib/WeightInitializers/ext
command: julia --code-coverage=user --color=yes --project .buildkite/scripts/downstream.jl "{{matrix.repo}}" "AMDGPU"
agents:
queue: "juliagpu"
rocm: "*"
rocmgpu: "*"
if: build.message !~ /\[skip tests\]/ && build.message !~ /\[skip downstream\]/ && build.message !~ /\[skip ci\]/ && build.pull_request.labels includes "run downstream test"
timeout_in_minutes: 60
matrix:
setup:
repo:
- "Boltz"
- "NeuralOperators"

env:
SECRET_CODECOV_TOKEN: "jQ0BMTQgyZx7QGyU0Q2Ec7qB9mtE2q/tDu0FsfxvEG7/zOAGvXkyXrzIFFOQxvDoFcP+K2+hYZKMxicYdNqzr5wcxu505aNGN2GM3wyegAr+hO6q12bCFYx6qXzU9FLCCdeqINqn9gUSSOlGtWNFrbAlrTyz/D4Yo66TqBDzvaLL63FMnhCLaXW/zJt3hNuEAJaPY2O6Ze1rX2WZ3Y+i+s3uQ8aLImtoCJhPe8CRx+OhuYiTzGhynFfGntZ0738/1RN4gNM0S/hTC4gLE7XMVBanJpGh32rFaiDwW4zAyXKBrDkL3QA3MS1RvLTJxGJ085S16hCk0C4ddAhZCvIM9Q==;U2FsdGVkX1+bXdFeKMs5G79catOCyby2n07A2fg0FjVAvrjQLZ0yfvDS4paJiFikLkodho0khz2YALKb2Y0K6w=="
87 changes: 83 additions & 4 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ steps:
diff: ".buildkite/scripts/diff.sh $BUILDKITE_COMMIT"
interpolation: false
watch:
# Core Lux Testing
- path:
- "src/"
- "ext/"
Expand All @@ -18,6 +19,70 @@ steps:
command: "buildkite-agent pipeline upload .buildkite/testing.yml"
agents:
queue: "juliagpu"

# LuxCUDA Testing
- path:
- "lib/LuxCUDA/"
- ".buildkite/"
config:
command: "buildkite-agent pipeline upload .buildkite/testing_luxcuda.yml"
agents:
queue: "juliagpu"

# WeightInitializers Testing
- path:
- "lib/WeightInitializers/"
- ".buildkite/"
config:
command: "buildkite-agent pipeline upload .buildkite/testing_weightinitializers.yml"
agents:
queue: "juliagpu"

# MLDataDevices Testing
- path:
- "lib/MLDataDevices/"
- ".buildkite/"
config:
command: "buildkite-agent pipeline upload .buildkite/testing_mldatadevices.yml"
agents:
queue: "juliagpu"

# LuxLib Testing
- path:
- "lib/LuxLib/"
- ".buildkite/"
- "lib/LuxTestUtils/"
- "lib/LuxCore/"
- "lib/MLDataDevices/"
config:
command: "buildkite-agent pipeline upload .buildkite/testing_luxlib.yml"
agents:
queue: "juliagpu"

# LuxTestUtils Testing
- path:
- "lib/LuxTestUtils/"
- ".buildkite/"
config:
command: "buildkite-agent pipeline upload .buildkite/testing_luxtestutils.yml"
agents:
queue: "juliagpu"

# Benchmarks
- path:
- "src/"
- "ext/"
- "test/"
- "Project.toml"
- ".buildkite/"
- "benchmarks/"
if: build.pull_request.labels includes "run benchmarks"
config:
command: "buildkite-agent pipeline upload .buildkite/benchmarks.yml"
agents:
queue: "juliagpu"

# Documentation
- path:
- "src/"
- "ext/"
Expand All @@ -26,20 +91,22 @@ steps:
- "docs/"
- "examples/"
- ".buildkite/"
- "lib"
config:
command: "buildkite-agent pipeline upload .buildkite/documentation.yml"
agents:
queue: "juliagpu"

# Downstream
- path:
- "src/"
- "ext/"
- "test/"
- "lib/"
- "Project.toml"
- ".buildkite/"
- "benchmarks/"
if: build.pull_request.labels includes "run benchmarks"
if: build.pull_request.labels includes "run downstream test"
config:
command: "buildkite-agent pipeline upload .buildkite/benchmarks.yml"
command: "buildkite-agent pipeline upload .buildkite/downstream.yml"
agents:
queue: "juliagpu"

Expand All @@ -48,6 +115,18 @@ steps:
agents:
queue: "juliagpu"
command: |
# Core Lux Testing
buildkite-agent pipeline upload .buildkite/testing.yml

# Subpackage testing
buildkite-agent pipeline upload .buildkite/testing_luxcuda.yml
buildkite-agent pipeline upload .buildkite/testing_weightinitializers.yml
buildkite-agent pipeline upload .buildkite/testing_luxlib.yml
buildkite-agent pipeline upload .buildkite/testing_mldatadevices.yml
buildkite-agent pipeline upload .buildkite/testing_luxtestutils.yml

# Documentation
buildkite-agent pipeline upload .buildkite/documentation.yml

# Benchmarks
buildkite-agent pipeline upload .buildkite/benchmarks.yml
117 changes: 64 additions & 53 deletions .buildkite/testing.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,48 @@
steps:
- group: ":julia: CUDA GPU"
- group: ":julia: (Lux) CUDA GPU"
steps:
- label: ":julia: Julia {{matrix.julia}} + CUDA GPU"
plugins:
- JuliaCI/julia#v1:
version: "{{matrix.julia}}"
- JuliaCI/julia-test#v1:
test_args: "--quickfail"
- JuliaCI/julia-coverage#v1:
codecov: true
dirs:
- src
- ext
- lib/LuxCore/src
- lib/LuxCore/ext
- lib/MLDataDevices/src
- lib/MLDataDevices/ext
- lib/WeightInitializers/src
- lib/WeightInitializers/ext
- lib/LuxLib/src
- lib/LuxLib/ext
- lib/LuxTestUtils/src
agents:
queue: "juliagpu"
cuda: "*"
command: |
julia --color=yes --code-coverage=user --depwarn=yes --project=. -e '
import Pkg;
dev_pkgs = Pkg.PackageSpec[];
for pkg in ("lib/LuxCore", "lib/MLDataDevices", "lib/WeightInitializers", "lib/LuxLib",)
push!(dev_pkgs, Pkg.PackageSpec(path=pkg));
end
Pkg.develop(dev_pkgs);
Pkg.Registry.update();
Pkg.instantiate();
Pkg.activate("test");
dev_pkgs = Pkg.PackageSpec[];
for pkg in ("lib/LuxTestUtils", "lib/LuxLib", "lib/MLDataDevices", "lib/LuxCore", ".")
push!(dev_pkgs, Pkg.PackageSpec(path=pkg))
end
Pkg.develop(dev_pkgs);
Pkg.instantiate();'
julia --color=yes --code-coverage=user --depwarn=yes --project=test -e '
import Pkg, Lux;
dir = dirname(pathof(Lux));
include(joinpath(dir, "../test/runtests.jl"))'
env:
BACKEND_GROUP: "CUDA"
if: build.message !~ /\[skip tests\]/ && build.message !~ /\[skip ci\]/
Expand All @@ -23,44 +51,49 @@ steps:
setup:
julia:
- "1.10"
- "1"

- group: ":telescope: Downstream CUDA"
steps:
- label: ":julia: {{matrix.repo}} (Julia 1 + CUDA GPU)"
plugins:
- JuliaCI/julia#v1:
version: "1.10"
- JuliaCI/julia-coverage#v1:
codecov: true
dirs:
- src
- ext
command: julia --code-coverage=user --color=yes --project .buildkite/scripts/downstream.jl "{{matrix.repo}}" "CUDA"
agents:
queue: "juliagpu"
cuda: "*"
if: build.message !~ /\[skip tests\]/ && build.message !~ /\[skip downstream\]/ && build.message !~ /\[skip ci\]/ && build.pull_request.labels includes "run downstream test"
timeout_in_minutes: 60
matrix:
setup:
repo:
- "Boltz"
- "NeuralPDE#GPU"
- "DeepEquilibriumNetworks"

- group: ":julia: AMD GPU"
- group: ":julia: (Lux) AMD GPU"
steps:
- label: ":julia: Julia: {{matrix.julia}} + AMD GPU"
plugins:
- JuliaCI/julia#v1:
version: "{{matrix.julia}}"
- JuliaCI/julia-test#v1:
test_args: "--quickfail"
- JuliaCI/julia-coverage#v1:
codecov: true
dirs:
- src
- ext
- lib/LuxCore/src
- lib/LuxCore/ext
- lib/MLDataDevices/src
- lib/MLDataDevices/ext
- lib/WeightInitializers/src
- lib/WeightInitializers/ext
- lib/LuxLib/src
- lib/LuxLib/ext
- lib/LuxTestUtils/src
command: |
julia --color=yes --code-coverage=user --depwarn=yes --project=. -e '
import Pkg;
dev_pkgs = Pkg.PackageSpec[];
for pkg in ("lib/LuxCore", "lib/MLDataDevices", "lib/WeightInitializers", "lib/LuxLib",)
push!(dev_pkgs, Pkg.PackageSpec(path=pkg));
end
Pkg.develop(dev_pkgs);
Pkg.Registry.update();
Pkg.instantiate();
Pkg.activate("test");
dev_pkgs = Pkg.PackageSpec[];
for pkg in ("lib/LuxTestUtils", "lib/LuxLib", "lib/MLDataDevices", "lib/LuxCore", ".")
push!(dev_pkgs, Pkg.PackageSpec(path=pkg))
end
Pkg.develop(dev_pkgs);
Pkg.instantiate();'
julia --color=yes --code-coverage=user --depwarn=yes --project=test -e '
import Pkg, Lux;
dir = dirname(pathof(Lux));
include(joinpath(dir, "../test/runtests.jl"))'
env:
BACKEND_GROUP: "AMDGPU"
agents:
Expand All @@ -73,29 +106,7 @@ steps:
setup:
julia:
- "1.10"

- group: ":telescope: Downstream AMD GPU"
steps:
- label: ":julia: {{matrix.repo}} (Julia 1 + AMD GPU)"
plugins:
- JuliaCI/julia#v1:
version: "1.10"
- JuliaCI/julia-coverage#v1:
codecov: true
dirs:
- src
- ext
command: julia --code-coverage=user --color=yes --project .buildkite/scripts/downstream.jl "{{matrix.repo}}" "AMDGPU"
agents:
queue: "juliagpu"
rocm: "*"
rocmgpu: "*"
if: build.message !~ /\[skip tests\]/ && build.message !~ /\[skip downstream\]/ && build.message !~ /\[skip ci\]/ && build.pull_request.labels includes "run downstream test"
timeout_in_minutes: 60
matrix:
setup:
repo:
- "Boltz"
- "1"

env:
SECRET_CODECOV_TOKEN: "jQ0BMTQgyZx7QGyU0Q2Ec7qB9mtE2q/tDu0FsfxvEG7/zOAGvXkyXrzIFFOQxvDoFcP+K2+hYZKMxicYdNqzr5wcxu505aNGN2GM3wyegAr+hO6q12bCFYx6qXzU9FLCCdeqINqn9gUSSOlGtWNFrbAlrTyz/D4Yo66TqBDzvaLL63FMnhCLaXW/zJt3hNuEAJaPY2O6Ze1rX2WZ3Y+i+s3uQ8aLImtoCJhPe8CRx+OhuYiTzGhynFfGntZ0738/1RN4gNM0S/hTC4gLE7XMVBanJpGh32rFaiDwW4zAyXKBrDkL3QA3MS1RvLTJxGJ085S16hCk0C4ddAhZCvIM9Q==;U2FsdGVkX1+bXdFeKMs5G79catOCyby2n07A2fg0FjVAvrjQLZ0yfvDS4paJiFikLkodho0khz2YALKb2Y0K6w=="
Loading
Loading