Skip to content

[DO NOT MERGE] start building Enzyme in CI #140064

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

Open
wants to merge 26 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
2389639
start building enzyme on x86_64-gnu-llvm-{19|20} builders
ZuseZ4 Apr 20, 2025
568ce15
enable enzyme for x86-64 dist builds
ZuseZ4 Apr 20, 2025
cd25cc1
temporarily remove tests for benchmarking
ZuseZ4 Apr 21, 2025
d021346
Revert "start building enzyme on x86_64-gnu-llvm-{19|20} builders"
ZuseZ4 Apr 21, 2025
dc9ad1a
test autodiff on more builders
ZuseZ4 Apr 21, 2025
9075e8e
fix apple action formating
ZuseZ4 Apr 21, 2025
a1d9041
test autodiff on x86_64-pc-windows-gnu
ZuseZ4 Apr 22, 2025
142ec6f
build only enzyme, not LLVM's plugin Interface
ZuseZ4 Apr 22, 2025
4a9fab7
remove llvm plugin usage
ZuseZ4 Apr 22, 2025
ab667c0
be more precise about the location of the llvm build directory
ZuseZ4 Apr 28, 2025
78b1442
update enzyme submodule
ZuseZ4 Apr 28, 2025
ccf0e4f
test another potential apple fix
ZuseZ4 Apr 28, 2025
815ba45
another enzyme submodule update
ZuseZ4 Apr 29, 2025
7bf0087
another enzyme submodule update
ZuseZ4 Apr 29, 2025
121b209
another enzyme submodule update
ZuseZ4 Apr 29, 2025
fd990f2
verbose printing
ZuseZ4 Apr 29, 2025
acb4323
another enzyme submodule update
ZuseZ4 Apr 29, 2025
9e09413
another enzyme submodule update
ZuseZ4 Apr 29, 2025
b60e06d
another apple experiment
ZuseZ4 Apr 29, 2025
74cf1d5
another enzyme submodule update
ZuseZ4 Apr 29, 2025
747d751
another enzyme submodule update
ZuseZ4 Apr 29, 2025
2eafa97
another enzyme submodule update
ZuseZ4 Apr 30, 2025
efa8f40
another enzyme submodule update
ZuseZ4 May 1, 2025
c065af9
another enzyme submodule update
ZuseZ4 May 1, 2025
144cdf4
another enzyme submodule update
ZuseZ4 May 1, 2025
1f8850f
another enzyme submodule update
ZuseZ4 May 1, 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
2 changes: 1 addition & 1 deletion src/bootstrap/src/core/build_steps/llvm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -981,7 +981,7 @@ impl Step for Enzyme {
.env("LLVM_CONFIG_REAL", &llvm_config)
.define("LLVM_ENABLE_ASSERTIONS", "ON")
.define("ENZYME_EXTERNAL_SHARED_LIB", "ON")
.define("LLVM_DIR", builder.llvm_out(target));
.define("LLVM_DIR", builder.llvm_out(target).join("build"));

cfg.build();

Expand Down
1 change: 1 addition & 0 deletions src/ci/docker/host-aarch64/dist-aarch64-linux/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ ENV RUST_CONFIGURE_ARGS \
--set llvm.thin-lto=true \
--set llvm.libzstd=true \
--set llvm.ninja=false \
--set llvm.enzyme=true \
--set rust.debug-assertions=false \
--set rust.jemalloc \
--set rust.use-lld=true \
Expand Down
1 change: 1 addition & 0 deletions src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ ENV RUST_CONFIGURE_ARGS \
--set target.x86_64-unknown-linux-gnu.ranlib=/rustroot/bin/llvm-ranlib \
--set llvm.thin-lto=true \
--set llvm.ninja=false \
--set llvm.enzyme=true \
--set llvm.libzstd=true \
--set rust.jemalloc \
--set rust.use-lld=true \
Expand Down
1 change: 1 addition & 0 deletions src/ci/docker/host-x86_64/x86_64-gnu/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,5 @@ ENV RUST_CONFIGURE_ARGS \
--enable-profiler \
--enable-compiler-docs \
--set llvm.libzstd=true
--set llvm.enzyme=true \
ENV SCRIPT python3 ../x.py --stage 2 test
6 changes: 4 additions & 2 deletions src/ci/github-actions/jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ auto:
- name: dist-x86_64-apple
env:
SCRIPT: ./x.py dist bootstrap --include-default-paths --host=x86_64-apple-darwin --target=x86_64-apple-darwin
RUST_CONFIGURE_ARGS: --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set rust.lto=thin --set rust.codegen-units=1
RUST_CONFIGURE_ARGS: --enable-full-tools --enable-sanitizers --enable-profiler --set llvm.enzyme=true --set rust.jemalloc --set rust.lto=thin --set rust.codegen-units=1
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
# Ensure that host tooling is built to support our minimum support macOS version.
MACOSX_DEPLOYMENT_TARGET: 10.12
Expand All @@ -387,7 +387,7 @@ auto:
SCRIPT: ./x.py dist bootstrap --include-default-paths --host='' --target=aarch64-apple-ios,x86_64-apple-ios,aarch64-apple-ios-sim,aarch64-apple-ios-macabi,x86_64-apple-ios-macabi
# Mac Catalyst cannot currently compile the sanitizer:
# https://github.com/rust-lang/rust/issues/129069
RUST_CONFIGURE_ARGS: --enable-sanitizers --enable-profiler --set rust.jemalloc --set target.aarch64-apple-ios-macabi.sanitizers=false --set target.x86_64-apple-ios-macabi.sanitizers=false
RUST_CONFIGURE_ARGS: --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.enzyme=true --set target.aarch64-apple-ios-macabi.sanitizers=false --set target.x86_64-apple-ios-macabi.sanitizers=false
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
# Ensure that host tooling is built to support our minimum support macOS version.
# FIXME(madsmtm): This might be redundant, as we're not building host tooling here (?)
Expand Down Expand Up @@ -419,6 +419,7 @@ auto:
--enable-profiler
--set rust.jemalloc
--set llvm.ninja=false
--set llvm.enzyme=true
--set rust.lto=thin
--set rust.codegen-units=1
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
Expand Down Expand Up @@ -601,6 +602,7 @@ auto:
SCRIPT: python x.py dist bootstrap --include-default-paths
RUST_CONFIGURE_ARGS: >-
--build=x86_64-pc-windows-gnu
--set llvm.enzyme=true
--enable-full-tools
DIST_REQUIRE_ALL_TOOLS: 1
CODEGEN_BACKENDS: llvm,cranelift
Expand Down
2 changes: 1 addition & 1 deletion src/tools/enzyme
Submodule enzyme updated 85 files
+0 −6 .github/workflows/benchmark.yml
+52 −37 .github/workflows/enzyme-bazel.yml
+0 −6 .github/workflows/enzyme-ci.yml
+1 −1 .github/workflows/format.yml
+28 −2 .github/workflows/fortran.yml
+1 −0 .gitignore
+3 −0 .packaging/build_tarballs.jl
+2 −0 enzyme/BCLoad/CMakeLists.txt
+1 −0 enzyme/BUILD
+6 −0 enzyme/CMakeLists.txt
+69 −42 enzyme/Enzyme/AdjointGenerator.h
+29 −25 enzyme/Enzyme/CApi.cpp
+5 −4 enzyme/Enzyme/CApi.h
+23 −3 enzyme/Enzyme/CMakeLists.txt
+2 −1 enzyme/Enzyme/CallDerivatives.cpp
+38 −10 enzyme/Enzyme/Enzyme.cpp
+61 −33 enzyme/Enzyme/EnzymeLogic.cpp
+51 −9 enzyme/Enzyme/EnzymeLogic.h
+1 −1 enzyme/Enzyme/FunctionUtils.cpp
+13 −4 enzyme/Enzyme/GradientUtils.cpp
+1 −1 enzyme/Enzyme/GradientUtils.h
+11 −0 enzyme/Enzyme/MLIR/Dialect/EnzymeOps.td
+16 −0 enzyme/Enzyme/MLIR/Dialect/Ops.cpp
+1 −1 enzyme/Enzyme/PreserveNVVM.cpp
+9 −0 enzyme/Enzyme/Utils.cpp
+4 −0 enzyme/Enzyme/Utils.h
+301 −113 enzyme/benchmarks/ReverseMode/adbench/ba.h
+260 −51 enzyme/benchmarks/ReverseMode/adbench/gmm.h
+331 −44 enzyme/benchmarks/ReverseMode/adbench/lstm.h
+16 −0 enzyme/benchmarks/ReverseMode/ba/Cargo.lock
+23 −0 enzyme/benchmarks/ReverseMode/ba/Cargo.toml
+6 −2 enzyme/benchmarks/ReverseMode/ba/Makefile.make
+40 −78 enzyme/benchmarks/ReverseMode/ba/ba.cpp
+198 −0 enzyme/benchmarks/ReverseMode/ba/ba_mayalias.h
+25 −0 enzyme/benchmarks/ReverseMode/ba/src/lib.rs
+26 −0 enzyme/benchmarks/ReverseMode/ba/src/main.rs
+204 −0 enzyme/benchmarks/ReverseMode/ba/src/safe.rs
+140 −0 enzyme/benchmarks/ReverseMode/ba/src/unsafe.rs
+7 −0 enzyme/benchmarks/ReverseMode/fft/Cargo.lock
+22 −0 enzyme/benchmarks/ReverseMode/fft/Cargo.toml
+4 −1 enzyme/benchmarks/ReverseMode/fft/Makefile.make
+269 −138 enzyme/benchmarks/ReverseMode/fft/fft.cpp
+321 −267 enzyme/benchmarks/ReverseMode/fft/fft.h
+6 −0 enzyme/benchmarks/ReverseMode/fft/src/lib.rs
+22 −0 enzyme/benchmarks/ReverseMode/fft/src/main.rs
+104 −0 enzyme/benchmarks/ReverseMode/fft/src/safe.rs
+92 −0 enzyme/benchmarks/ReverseMode/fft/src/unsf.rs
+16 −0 enzyme/benchmarks/ReverseMode/gmm/Cargo.lock
+26 −0 enzyme/benchmarks/ReverseMode/gmm/Cargo.toml
+6 −2 enzyme/benchmarks/ReverseMode/gmm/Makefile.make
+148 −168 enzyme/benchmarks/ReverseMode/gmm/gmm.cpp
+3 −3 enzyme/benchmarks/ReverseMode/gmm/gmm.h
+62 −0 enzyme/benchmarks/ReverseMode/gmm/gmm_mayalias.h
+10 −0 enzyme/benchmarks/ReverseMode/gmm/src/lib.rs
+24 −0 enzyme/benchmarks/ReverseMode/gmm/src/main.rs
+303 −0 enzyme/benchmarks/ReverseMode/gmm/src/safe.rs
+148 −0 enzyme/benchmarks/ReverseMode/gmm/src/unsafe.rs
+7 −0 enzyme/benchmarks/ReverseMode/lstm/Cargo.lock
+22 −0 enzyme/benchmarks/ReverseMode/lstm/Cargo.toml
+6 −2 enzyme/benchmarks/ReverseMode/lstm/Makefile.make
+29 −57 enzyme/benchmarks/ReverseMode/lstm/lstm.cpp
+160 −0 enzyme/benchmarks/ReverseMode/lstm/lstm_mayalias.h
+56 −0 enzyme/benchmarks/ReverseMode/lstm/src/lib.rs
+231 −0 enzyme/benchmarks/ReverseMode/lstm/src/safe.rs
+116 −0 enzyme/benchmarks/ReverseMode/lstm/src/unsf.rs
+7 −0 enzyme/benchmarks/ReverseMode/ode-real/Cargo.lock
+22 −0 enzyme/benchmarks/ReverseMode/ode-real/Cargo.toml
+15 −11 enzyme/benchmarks/ReverseMode/ode-real/Makefile.make
+178 −166 enzyme/benchmarks/ReverseMode/ode-real/ode.cpp
+100 −0 enzyme/benchmarks/ReverseMode/ode-real/src/lib.rs
+75 −0 enzyme/benchmarks/ReverseMode/ode-real/src/safe.rs
+79 −0 enzyme/benchmarks/ReverseMode/ode-real/src/unsf.rs
+15 −13 enzyme/cmake/EnzymeConfig.cmake.in
+15 −13 enzyme/cmake/EnzymeConfigVersion.cmake.in
+5 −5 enzyme/test/Enzyme/ReverseMode/extvalcmp.ll
+8 −0 enzyme/test/MLIR/ActivityAnalysis/CMakeLists.txt
+8 −0 enzyme/test/MLIR/AliasAnalysis/CMakeLists.txt
+1 −0 enzyme/test/MLIR/AliasAnalysis/func_attributes.mlir
+1 −1 enzyme/test/MLIR/Batch/CMakeLists.txt
+6 −0 enzyme/test/MLIR/CMakeLists.txt
+8 −0 enzyme/test/MLIR/ForwardMode/CMakeLists.txt
+8 −0 enzyme/test/MLIR/Passes/CMakeLists.txt
+8 −0 enzyme/test/MLIR/ProbProg/CMakeLists.txt
+15 −0 enzyme/test/MLIR/ProbProg/roundtrip.mlir
+1 −1 enzyme/tools/enzyme-tblgen/blasDiffUseUpdater.h
17 changes: 0 additions & 17 deletions tests/ui/autodiff/visibility.rs

This file was deleted.

24 changes: 0 additions & 24 deletions tests/ui/autodiff/visibility.std_autodiff.stderr

This file was deleted.

This file was deleted.

29 changes: 0 additions & 29 deletions tests/ui/feature-gates/feature-gate-autodiff-use.no_support.stderr

This file was deleted.

17 changes: 0 additions & 17 deletions tests/ui/feature-gates/feature-gate-autodiff-use.rs

This file was deleted.

Loading