<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Don't Unroll Adjoint: Differentiating SSA-Form Programs · HackerPapers discussions</title><link>https://hackerpaper.kaipfister.de/p/1810.07951/</link><description>Collected HN comments and submissions linking this paper.</description><language>en</language><lastBuildDate>Mon, 02 Nov 2026 11:16:22 GMT</lastBuildDate><atom:link href="https://hackerpaper.kaipfister.de/p/1810.07951/feed.xml" rel="self" type="application/rss+xml" /><item><title>Don't Unroll Adjoint: Differentiating SSA-Form Programs — mentioned by ChrisRackauckas</title><link>https://news.ycombinator.com/item?id=29684520</link><guid isPermaLink="false">urn:hackerpapers:mention:1810.07951:29684520</guid><pubDate>Sat, 25 Dec 2021 16:30:10 GMT</pubDate><description>&lt;p&gt;I remember reading an early S4TF manifesto talking about natural language processing, image processing, etc. thinking, that cannot be your audience because that audience already has AD systems which support their domain. Building something that is more general for the sake of being more general is never a good idea, that&amp;#x27;s bad engineering. It had a lot of great ideas, and indeed the dev experience seemed nice. But I would venture to guess that the Google overlords had to question what the true value of S4TF in that light. &amp;quot;Standard ML&amp;quot; cannot be your target audience if you want to work on AD…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1810.07951/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Don't Unroll Adjoint: Differentiating SSA-Form Programs — mentioned by ChrisRackauckas</title><link>https://news.ycombinator.com/item?id=27921635</link><guid isPermaLink="false">urn:hackerpapers:mention:1810.07951:27921635</guid><pubDate>Thu, 22 Jul 2021 17:18:43 GMT</pubDate><description>&lt;p&gt;There is definitely no free lunch, it&amp;#x27;s good to really delineate the engineering trade-offs you&amp;#x27;re making! A lot of this work actually comes from the fact that some people I work with were building tools that could efficiently handle dynamic control flow without requiring tracing (see the description of Zygote.jl https://arxiv.org/abs/1810.07951). I had to bring up the question: why? It&amp;#x27;s much harder to build, needs more machinery, and in some cases can make less assumptions/less fusions (a general form of vmap is much harder for example if you cannot trace, see KernelAbstractions.jl for…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1810.07951/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Don't Unroll Adjoint: Differentiating SSA-Form Programs — mentioned by krastanov</title><link>https://news.ycombinator.com/item?id=24848397</link><guid isPermaLink="false">urn:hackerpapers:mention:1810.07951:24848397</guid><pubDate>Wed, 21 Oct 2020 14:48:07 GMT</pubDate><description>&lt;p&gt;I am confused why you assume I am a &amp;quot;Julia booster&amp;quot; or use such combative language. I love Python and Jax and use it for much of my research work, I just also like learning of other approaches. Please try to honestly address the sibling comments. We have repeatedly claimed that tools like Zygote.jl can autodifferentiate efficiently things that Jax can not (without a lot of extra special code and hand-defined backprop methods), e.g., an array of structs with scalar and vector properties over which a scalar cost is defined. Just give examples, so that we can both learn something new about these…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1810.07951/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Don't Unroll Adjoint: Differentiating SSA-Form Programs — mentioned by nestorD</title><link>https://news.ycombinator.com/item?id=22346204</link><guid isPermaLink="false">urn:hackerpapers:mention:1810.07951:22346204</guid><pubDate>Mon, 17 Feb 2020 07:51:22 GMT</pubDate><description>&lt;p&gt;I have not read the paper yet but, reading the abstract, the idea of using continuation to store the differentiation information is reminiscent of the technique used in Zygote[0]. Is there some parenty between the ideas ? [0]: https://arxiv.org/abs/1810.07951v4&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1810.07951/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Don't Unroll Adjoint: Differentiating SSA-Form Programs — mentioned by KenoFischer</title><link>https://news.ycombinator.com/item?id=20482120</link><guid isPermaLink="false">urn:hackerpapers:mention:1810.07951:20482120</guid><pubDate>Fri, 19 Jul 2019 20:23:26 GMT</pubDate><description>&lt;p&gt;JAX is a sophisticated and well implemented high level tracer, combined with a backend compiler that makes use of XLA. High level tracing has some fundamental draw backs in key features we want (efficient scalar AD for example), so the approach being advocated here is doing AD as a compiler transform on the original source language. Mike has some details in an earlier paper: https://arxiv.org/abs/1810.07951. As a shameless plug, you can plug (heh) Julia into XLA as well, e.g. for targeting TPUs (https://arxiv.org/abs/1810.09868). In fact, Julia and JAX are probably better at that than…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1810.07951/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Don't Unroll Adjoint: Differentiating SSA-Form Programs — mentioned by cs702</title><link>https://news.ycombinator.com/item?id=19715543</link><guid isPermaLink="false">urn:hackerpapers:mention:1810.07951:19715543</guid><pubDate>Mon, 22 Apr 2019 00:50:30 GMT</pubDate><description>&lt;p&gt;Question for Jeremy: See links below. Did you look at or consider Julia? -- https://julialang.org/blog/2018/12/ml-language-compiler https://arxiv.org/abs/1810.07951&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1810.07951/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Don't Unroll Adjoint: Differentiating SSA-Form Programs — HN submission</title><link>https://news.ycombinator.com/item?id=19119578</link><guid isPermaLink="false">urn:hackerpapers:submission:1810.07951:19119578</guid><pubDate>Fri, 08 Feb 2019 23:17:45 GMT</pubDate><description>&lt;p&gt;Differentiating SSA-Form Programs in Julia (2018) [pdf]&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;87 points; 16 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1810.07951/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Don't Unroll Adjoint: Differentiating SSA-Form Programs — HN submission</title><link>https://news.ycombinator.com/item?id=18292283</link><guid isPermaLink="false">urn:hackerpapers:submission:1810.07951:18292283</guid><pubDate>Wed, 24 Oct 2018 13:39:55 GMT</pubDate><description>&lt;p&gt;Don&amp;#x27;t Unroll Adjoint: Differentiating SSA-Form Programs&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;1 point; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1810.07951/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Don't Unroll Adjoint: Differentiating SSA-Form Programs — HN submission</title><link>https://news.ycombinator.com/item?id=18282592</link><guid isPermaLink="false">urn:hackerpapers:submission:1810.07951:18282592</guid><pubDate>Tue, 23 Oct 2018 11:59:43 GMT</pubDate><description>&lt;p&gt;Don&amp;#x27;t Unroll Adjoint: Differentiating SSA-Form Programs&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;2 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1810.07951/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Don't Unroll Adjoint: Differentiating SSA-Form Programs — HN submission</title><link>https://news.ycombinator.com/item?id=18261205</link><guid isPermaLink="false">urn:hackerpapers:submission:1810.07951:18261205</guid><pubDate>Sat, 20 Oct 2018 01:34:13 GMT</pubDate><description>&lt;p&gt;Don&amp;#x27;t Unroll Adjoint: Differentiating SSA-Form Programs&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;1 point; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1810.07951/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item></channel></rss>
