Add Enzyme to build-manifest and rustup#154754
Add Enzyme to build-manifest and rustup#154754Kobzol wants to merge 2 commits intorust-lang:mainfrom
Conversation
|
I just went over the error messages and noticed we never mentioned Enzyme anywhere there. The only place I mention it are developer docs. We also called the feature autodiff, so I guess to stay consistent for users at least the user-facing name here should also be autodiff. Also, can you update to say that autodiff might be available as a nightly component? |
|
r=me in principle, feel free to rename etc if that makes sense |
|
Should it be documented somewhere which hosts ship prebuilt Enzyme, even though it's still nightly? |
|
I'll add it to the autodiff dev guide once it lands, and mention the two supported targets in the irlo announcement blog post if it works as expected. Together with the updated error message, I think that should be enough. There isn't any ongoing work to port more targets to dynamic LLVM linking outside of macOS, and macOS is going slow due to the breakages. At the current pace I don't think we need more than that, until someone starts tackling the remaining targets. |
…i-obk Add more info about where autodiff can be applied It's taken quite a few years, but we finally have a PR open to distribute Enzyme: rust-lang#154754 I therefore went over the docs once more and noticed we don't explain a lot of the most basic features, which we added over the years and have since taken for granted. @Sa4dUs, do you think there are more interesting cases that we are missing? Generally, there's still a lot of complexity in it, especially for people who haven't used Enzyme before. To some extent, that's just a result of my general design goal to expose all performance-relevant features of Enzyme, and let users explore nice abstractions on top if it, via crates. Since we don't have those nightly users yet, users haven't had time to build nicer abstractions on top of it. I also feel like a more guided book would be a better first introduction to Enzyme, but for now I just focused on the list of features. r? @oli-obk
…i-obk Add more info about where autodiff can be applied It's taken quite a few years, but we finally have a PR open to distribute Enzyme: rust-lang#154754 I therefore went over the docs once more and noticed we don't explain a lot of the most basic features, which we added over the years and have since taken for granted. @Sa4dUs, do you think there are more interesting cases that we are missing? Generally, there's still a lot of complexity in it, especially for people who haven't used Enzyme before. To some extent, that's just a result of my general design goal to expose all performance-relevant features of Enzyme, and let users explore nice abstractions on top if it, via crates. Since we don't have those nightly users yet, users haven't had time to build nicer abstractions on top of it. I also feel like a more guided book would be a better first introduction to Enzyme, but for now I just focused on the list of features. r? @oli-obk
…i-obk Add more info about where autodiff can be applied It's taken quite a few years, but we finally have a PR open to distribute Enzyme: rust-lang#154754 I therefore went over the docs once more and noticed we don't explain a lot of the most basic features, which we added over the years and have since taken for granted. @Sa4dUs, do you think there are more interesting cases that we are missing? Generally, there's still a lot of complexity in it, especially for people who haven't used Enzyme before. To some extent, that's just a result of my general design goal to expose all performance-relevant features of Enzyme, and let users explore nice abstractions on top if it, via crates. Since we don't have those nightly users yet, users haven't had time to build nicer abstractions on top of it. I also feel like a more guided book would be a better first introduction to Enzyme, but for now I just focused on the list of features. r? @oli-obk
…i-obk Add more info about where autodiff can be applied It's taken quite a few years, but we finally have a PR open to distribute Enzyme: rust-lang#154754 I therefore went over the docs once more and noticed we don't explain a lot of the most basic features, which we added over the years and have since taken for granted. @Sa4dUs, do you think there are more interesting cases that we are missing? Generally, there's still a lot of complexity in it, especially for people who haven't used Enzyme before. To some extent, that's just a result of my general design goal to expose all performance-relevant features of Enzyme, and let users explore nice abstractions on top if it, via crates. Since we don't have those nightly users yet, users haven't had time to build nicer abstractions on top of it. I also feel like a more guided book would be a better first introduction to Enzyme, but for now I just focused on the list of features. r? @oli-obk
Hmm, not sure if I agree with |
Rollup merge of #154795 - ZuseZ4:autodiff-general-docs, r=oli-obk Add more info about where autodiff can be applied It's taken quite a few years, but we finally have a PR open to distribute Enzyme: #154754 I therefore went over the docs once more and noticed we don't explain a lot of the most basic features, which we added over the years and have since taken for granted. @Sa4dUs, do you think there are more interesting cases that we are missing? Generally, there's still a lot of complexity in it, especially for people who haven't used Enzyme before. To some extent, that's just a result of my general design goal to expose all performance-relevant features of Enzyme, and let users explore nice abstractions on top if it, via crates. Since we don't have those nightly users yet, users haven't had time to build nicer abstractions on top of it. I also feel like a more guided book would be a better first introduction to Enzyme, but for now I just focused on the list of features. r? @oli-obk
Add more info about where autodiff can be applied It's taken quite a few years, but we finally have a PR open to distribute Enzyme: rust-lang/rust#154754 I therefore went over the docs once more and noticed we don't explain a lot of the most basic features, which we added over the years and have since taken for granted. @Sa4dUs, do you think there are more interesting cases that we are missing? Generally, there's still a lot of complexity in it, especially for people who haven't used Enzyme before. To some extent, that's just a result of my general design goal to expose all performance-relevant features of Enzyme, and let users explore nice abstractions on top if it, via crates. Since we don't have those nightly users yet, users haven't had time to build nicer abstractions on top of it. I also feel like a more guided book would be a better first introduction to Enzyme, but for now I just focused on the list of features. r? @oli-obk
Add more info about where autodiff can be applied It's taken quite a few years, but we finally have a PR open to distribute Enzyme: rust-lang/rust#154754 I therefore went over the docs once more and noticed we don't explain a lot of the most basic features, which we added over the years and have since taken for granted. @Sa4dUs, do you think there are more interesting cases that we are missing? Generally, there's still a lot of complexity in it, especially for people who haven't used Enzyme before. To some extent, that's just a result of my general design goal to expose all performance-relevant features of Enzyme, and let users explore nice abstractions on top if it, via crates. Since we don't have those nightly users yet, users haven't had time to build nicer abstractions on top of it. I also feel like a more guided book would be a better first introduction to Enzyme, but for now I just focused on the list of features. r? @oli-obk
This PR adds the autodiff component (Enzyme) to build-manifest, and thus also to (nightly) Rustup.
It is marked as nightly-only and as -preview.
After this PR lands, unless I messed something up, starting with the following nightly, the following should work (on supported targets):
rustup +nightly component add enzyme RUSTFLAGS="-Zautodiff=Enable" cargo +nightly buildCC @ZuseZ4
r? @Mark-Simulacrum
closes: #145899