rust
rust copied to clipboard
A rust fork to work towards Enzyme integration
Hi, I'm wondering if there's any timeline for this project to be integrated into the upstream Rust compiler? As I understand it, the Rust compiler needs to be modified somewhat...
The safe gmm implementation could idiomatically use Box, since we know those Vec's wont' change their length. However, Enzyme fails with: ```sh error: :0:0: in function preprocess___rdl_realloc ptr (ptr, i64,...
Those get handled incorrectly rn: ```rust #[no_mangle] fn myFn(a: [f64; 1]) { unimplemented!() } #[no_mangle] fn myBn(a: (f64, i32)) { unimplemented!() } ``` These got fixed in the meantime. Probably...
Given the amount of ENZYME_ dbg vars, we should loop through all env vars and check if any unknown ones start with ENZYME_, and abort compilation because it probably implies...
Now that we catch too short slice shadows, we should add CI checks to make sure we don't regress.
``` #![feature(bench_black_box)] use autodiff::autodiff; use std::ptr; #[autodiff(sin_vec, Reverse, Active)] fn cos_vec(#[dup] x: &Vec) -> f32 { // uses enum internally and breaks let res = x.into_iter().collect::(); *res[0] } fn main()...
Building LLVM from source takes a lot of resources, so we should add support for `download-ci-llvm` in x.py https://rustc-dev-guide.rust-lang.org/building/bootstrapping.html?highlight=download#what-is-a-sysroot We discussed this previously in a weekly meeting, but without getting...
Again, just to keep some history till we are ready to upstream. Based on upstream commit #bbcc1691a4646a6d2ebb2189bdff5b878407fbe6
Just in case that we want to look something up
For this to work I also had to modify Enzyme CMakeLists.txt Not sure whether these make sense so I guess this is more of a draft PR [CMakeLists.txt](https://github.com/EnzymeAD/rust/files/14189702/CMakeLists.txt)