Skip to content

Commit

Permalink
Merge branch 'main' into ms/mpi
Browse files Browse the repository at this point in the history
  • Loading branch information
vchuravy authored Apr 1, 2024
2 parents a3c399c + 646de36 commit f16f50b
Show file tree
Hide file tree
Showing 51 changed files with 4,597 additions and 1,152 deletions.
1 change: 1 addition & 0 deletions .JuliaFormatter.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
style = "yas"
1 change: 0 additions & 1 deletion .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ steps:
matrix:
setup:
version:
- "1.9"
- "1.10"
plugins:
- JuliaCI/julia#v1:
Expand Down
43 changes: 34 additions & 9 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,17 @@ on:
- main
- release-*
tags: '*'

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 }} - ${{ matrix.arch }} - ${{ matrix.libEnzyme }} libEnzyme - assertions=${{ matrix.assertions }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.version == 'nightly' }}
strategy:
fail-fast: false
matrix:
Expand All @@ -19,7 +25,7 @@ jobs:
- '1.7'
- '1.8'
- '1.9'
- '1.10-nightly'
- '1.10'
- 'nightly'
os:
- ubuntu-20.04
Expand Down Expand Up @@ -56,9 +62,9 @@ jobs:
version: '1.9'
assertions: false
- os: ubuntu-20.04
arch: x64
arch: x86
libEnzyme: packaged
version: '1.10-nightly'
version: '1.10'
assertions: false
- os: ubuntu-20.04
arch: x64
Expand All @@ -78,7 +84,7 @@ jobs:
- os: ubuntu-20.04
arch: x64
libEnzyme: packaged
version: '1.10-nightly'
version: '1.10'
assertions: true
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -118,24 +124,36 @@ jobs:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
- name: Build libEnzyme
if: ${{ matrix.libEnzyme == 'local' && matrix.os != 'macOS-latest'}}
continue-on-error: ${{ matrix.version == 'nightly' }}
id: build_libenzyme
run: |
julia --project=deps -e 'using Pkg; Pkg.instantiate()'
julia --project=deps deps/build_local.jl
cp LocalPreferences.toml test/
- name: Build libEnzyme MacOS
if: ${{ matrix.libEnzyme == 'local' && matrix.os == 'macOS-latest'}}
continue-on-error: ${{ matrix.version == 'nightly' }}
id: build_libenzyme_mac
run: |
julia --project=deps -e 'using Pkg; Pkg.instantiate()'
SDKROOT=`xcrun --show-sdk-path` julia --project=deps deps/build_local.jl
cp LocalPreferences.toml test/
- uses: julia-actions/julia-buildpkg@v1
if: matrix.version != 'nightly' || steps.build_libenzyme.outcome == 'success' || steps.build_libenzyme_mac.outcome == 'success'
continue-on-error: ${{ matrix.version == 'nightly' }}
id: buildpkg
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
- uses: julia-actions/julia-runtest@v1
if: matrix.version != 'nightly' || steps.buildpkg.outcome == 'success'
continue-on-error: ${{ matrix.version == 'nightly' }}
id: run_tests
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
- uses: julia-actions/julia-processcoverage@v1
if: matrix.version != 'nightly' || steps.run_tests.outcome == 'success'
- uses: codecov/codecov-action@v1
if: matrix.version != 'nightly' || steps.run_tests.outcome == 'success'
with:
file: lcov.info
enzymetestutils:
Expand All @@ -149,7 +167,9 @@ jobs:
matrix:
version:
- '1.7'
- '1'
- '1.8'
- '1.9'
- '1.10'
- 'nightly'
os:
- ubuntu-latest
Expand All @@ -174,21 +194,28 @@ jobs:
${{ runner.os }}-
- name: setup EnzymeTestUtils
shell: julia --color=yes {0}
id: setup_testutils
continue-on-error: ${{ matrix.version == 'nightly' }}
run: |
using Pkg
Pkg.develop([PackageSpec(; path) for path in (".", "lib/EnzymeCore")])
Pkg.instantiate()
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
- name: Run the tests
if: matrix.version != 'nightly' || steps.setup_testutils.outcome == 'success'
continue-on-error: ${{ matrix.version == 'nightly' }}
id: run_tests
shell: julia --color=yes {0}
run: |
using Pkg
Pkg.test("EnzymeTestUtils"; coverage=true)
- uses: julia-actions/julia-processcoverage@v1
if: matrix.version != 'nightly' || steps.run_tests.outcome == 'success'
with:
directories: lib/EnzymeTestUtils/src
- uses: codecov/codecov-action@v2
if: matrix.version != 'nightly' || steps.run_tests.outcome == 'success'
with:
files: lcov.info
docs:
Expand All @@ -202,9 +229,7 @@ jobs:
- run: |
julia --project=docs -e '
using Pkg
Pkg.develop(path="lib/EnzymeCore")
Pkg.develop(path="lib/EnzymeTestUtils")
Pkg.develop(PackageSpec(path=pwd()))
Pkg.develop([PackageSpec(path="lib/EnzymeCore"), PackageSpec(path="lib/EnzymeTestUtils"), PackageSpec(path=pwd())])
Pkg.instantiate()'
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
Expand Down
30 changes: 30 additions & 0 deletions .github/workflows/Format.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Format suggestions

on:
pull_request:

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:
format:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v1
with:
version: 1
- run: |
julia -e 'using Pkg; Pkg.add("JuliaFormatter")'
julia -e 'using JuliaFormatter; format("."; verbose=true)'
- uses: reviewdog/action-suggester@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
tool_name: JuliaFormatter
fail_on_error: true
3 changes: 1 addition & 2 deletions .github/workflows/scripts_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ jobs:
- run: |
julia --project=docs -e '
using Pkg
Pkg.develop(path="lib/EnzymeCore")
Pkg.develop(PackageSpec(path=pwd()))
Pkg.develop([PackageSpec(path="lib/EnzymeCore"), PackageSpec(path=pwd()), PackageSpec(path="lib/EnzymeTestUtils")])
Pkg.instantiate()'
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
Expand Down
14 changes: 10 additions & 4 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "Enzyme"
uuid = "7da242da-08ed-463a-9acd-ee780be4f1d9"
authors = ["William Moses <[email protected]>", "Valentin Churavy <[email protected]>"]
version = "0.11.10"
version = "0.11.17"

[deps]
CEnum = "fa961155-64e5-5f13-b03f-caf6b980ea82"
Expand All @@ -16,11 +16,17 @@ Preferences = "21216c6a-2e73-6563-6e65-726566657250"
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"

[weakdeps]
SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b"

[extensions]
EnzymeSpecialFunctionsExt = "SpecialFunctions"

[compat]
CEnum = "0.4, 0.5"
EnzymeCore = "0.6.2, 0.6.3"
Enzyme_jll = "0.0.94"
GPUCompiler = "0.21, 0.22, 0.23, 0.24, 0.25"
EnzymeCore = "0.7"
Enzyme_jll = "0.0.103"
GPUCompiler = "0.21, 0.22, 0.23, 0.24, 0.25, 0.26"
LLVM = "6.1"
ObjectFile = "0.4"
Preferences = "1.4"
Expand Down
12 changes: 7 additions & 5 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ const EXAMPLES_DIR = joinpath(@__DIR__, "..", "examples")
const OUTPUT_DIR = joinpath(@__DIR__, "src/generated")

examples = Pair{String,String}[
"Basics" => "autodiff"
"Box model" => "box"
"AutoDiff API" => "autodiff"
"Custom rules" => "custom_rule"
]

Expand Down Expand Up @@ -51,10 +51,12 @@ makedocs(;
pages = [
"Home" => "index.md",
"Examples" => examples,
"API" => "api.md",
"Implementing pullbacks" => "pullbacks.md",
"For developers" => "dev_docs.md",
"Internal API" => "internal_api.md",
"FAQ" => "faq.md",
"API reference" => "api.md",
"Advanced" => [
"For developers" => "dev_docs.md",
"Internal API" => "internal_api.md",
]
],
doctest = true,
strict = true,
Expand Down
4 changes: 2 additions & 2 deletions docs/src/api.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# API
# API reference

## Types and constants

Expand All @@ -14,7 +14,7 @@ Modules = [Enzyme, EnzymeCore, EnzymeCore.EnzymeRules, EnzymeTestUtils, Enzyme.A
Order = [:macro, :function]
```

# Documentation
## Documentation

```@autodocs
Modules = [Enzyme, EnzymeCore, EnzymeCore.EnzymeRules, EnzymeTestUtils, Enzyme.API]
Expand Down
Loading

0 comments on commit f16f50b

Please sign in to comment.