Replies: 1 comment
-
In retrospect it was probably a mistake to make it sound so scary, because it was never really all that fragile. It is quite well tested. It is certainly no longer "experimental" in that we want to take it out, and I really enjoy working on it, too. The most "experimental" part of it is that we do not systematically benchmark its performance in CI, but I've been meaning to do that. It also is not supported in the interpreter (which makes exploratory programming more annoying), but #2153 adds that, and needs more or less only cosmetic fixes in order to merge. I don't recall any very serious bugs anymore. The main restriction is more or less the same as also applies to flattening, in that sequential loops with very dynamic memory behaviour, which are also nested inside parallel operations, will probably not produce code that works with the GPU backends. Documentation is still very sparse, but this is partly because I don't actually know what should be documented. I'm reluctant to write an entire basic guide to AD, and I'm uncertain what Futhark-specific quirks are worth mentioning. I don't think you need to be a hero to use Futhark's AD anymore, but you should probably still expect a certain roughness. I think polish will not happen until it sees use, however, and then that warning has been somewhat counterproductive. |
Beta Was this translation helpful? Give feedback.
-
I love auto differentation. And now I actually have a use case for it. So I really like to use the facilities in Futhark for this. But the documentation gave me pause:
Since AD has now been in Futhark for a couple of years is this still true at this point?
Beta Was this translation helpful? Give feedback.
All reactions