<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>Comments on: Parallel speculative addition via memoization</title>
	<atom:link href="http://conal.net/blog/posts/parallel-speculative-addition-via-memoization/feed" rel="self" type="application/rss+xml" />
	<link>http://conal.net/blog/posts/parallel-speculative-addition-via-memoization</link>
	<description>Inspirations &#38; experiments, mainly about denotative/functional programming in Haskell</description>
	<lastBuildDate>Sat, 26 Sep 2020 21:06:12 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.1.17</generator>
	<item>
		<title>By: conal</title>
		<link>http://conal.net/blog/posts/parallel-speculative-addition-via-memoization#comment-846</link>
		<dc:creator><![CDATA[conal]]></dc:creator>
		<pubDate>Thu, 29 Nov 2012 03:46:32 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=493#comment-846</guid>
		<description><![CDATA[&lt;p&gt;Graham: thanks for the pointer to your paper and to carry save addition.&lt;/p&gt;
]]></description>
		<content:encoded><![CDATA[<p>Graham: thanks for the pointer to your paper and to carry save addition.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: conal</title>
		<link>http://conal.net/blog/posts/parallel-speculative-addition-via-memoization#comment-845</link>
		<dc:creator><![CDATA[conal]]></dc:creator>
		<pubDate>Thu, 29 Nov 2012 03:45:26 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=493#comment-845</guid>
		<description><![CDATA[&lt;p&gt;Geoffrey &amp; Lennart: Thanks! I&#039;ll dig into these parallel prefix approaches.&lt;/p&gt;
]]></description>
		<content:encoded><![CDATA[<p>Geoffrey &amp; Lennart: Thanks! I&#8217;ll dig into these parallel prefix approaches.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: augustss</title>
		<link>http://conal.net/blog/posts/parallel-speculative-addition-via-memoization#comment-844</link>
		<dc:creator><![CDATA[augustss]]></dc:creator>
		<pubDate>Wed, 28 Nov 2012 22:25:39 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=493#comment-844</guid>
		<description><![CDATA[&lt;p&gt;Conal, I think Geoffrey is referring to one of the standard multibit adders which works by parallel prefix, but replacing the full adder by an associative operator.&lt;/p&gt;
]]></description>
		<content:encoded><![CDATA[<p>Conal, I think Geoffrey is referring to one of the standard multibit adders which works by parallel prefix, but replacing the full adder by an associative operator.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: GrahamHutton</title>
		<link>http://conal.net/blog/posts/parallel-speculative-addition-via-memoization#comment-843</link>
		<dc:creator><![CDATA[GrahamHutton]]></dc:creator>
		<pubDate>Wed, 28 Nov 2012 22:17:15 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=493#comment-843</guid>
		<description><![CDATA[&lt;p&gt;Hi Conal - have you looked at &#039;carry save addition&#039;, which uses an alternative representation of binary numbers to avoid the rippling carry in addition?  Many moons ago myself and Erik Meijer wrote a paper about this: http://www.cs.nott.ac.uk/~gmh/basics.pdf. It would be nice to see how this could be expressed using more modern FP ideas.&lt;/p&gt;
]]></description>
		<content:encoded><![CDATA[<p>Hi Conal &#8211; have you looked at &#8216;carry save addition&#8217;, which uses an alternative representation of binary numbers to avoid the rippling carry in addition?  Many moons ago myself and Erik Meijer wrote a paper about this: <a href="http://www.cs.nott.ac.uk/~gmh/basics.pdf" rel="nofollow">http://www.cs.nott.ac.uk/~gmh/basics.pdf</a>. It would be nice to see how this could be expressed using more modern FP ideas.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: conal</title>
		<link>http://conal.net/blog/posts/parallel-speculative-addition-via-memoization#comment-842</link>
		<dc:creator><![CDATA[conal]]></dc:creator>
		<pubDate>Wed, 28 Nov 2012 19:02:31 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=493#comment-842</guid>
		<description><![CDATA[&lt;p&gt;Hi Geoffrey. I&#039;m glad you brought up parallel prefix sum, and more generally scans, which I &lt;a href=&quot;http://conal.net/blog/tag/scan/&quot; rel=&quot;nofollow&quot;&gt;wrote about here recently&lt;/a&gt;. As I understand them, parallel prefix (aka &quot;prefix scan&quot;) circuits add many numbers and produce sums of all prefixes (and more generally, associative operations, as you mentioned). The tricky bit is efficiently calculating &lt;em&gt;all&lt;/em&gt; of the prefix sums, maximizing parallelism (to reduce time) and minimizing redundant computation (to reduce work). If one wants just a single result, then a balanced tree fold is much simpler and faster.&lt;/p&gt;

&lt;p&gt;In contrast, the problem I&#039;m considering here is to add just a pair of numbers operating on the &lt;em&gt;multiple bits&lt;/em&gt; in parallel, producing a single, multi-bit sum. I don&#039;t know whether there are any interesting connections between pair addition and either scan or fold.&lt;/p&gt;
]]></description>
		<content:encoded><![CDATA[<p>Hi Geoffrey. I&#8217;m glad you brought up parallel prefix sum, and more generally scans, which I <a href="http://conal.net/blog/tag/scan/" rel="nofollow">wrote about here recently</a>. As I understand them, parallel prefix (aka &#8220;prefix scan&#8221;) circuits add many numbers and produce sums of all prefixes (and more generally, associative operations, as you mentioned). The tricky bit is efficiently calculating <em>all</em> of the prefix sums, maximizing parallelism (to reduce time) and minimizing redundant computation (to reduce work). If one wants just a single result, then a balanced tree fold is much simpler and faster.</p>

<p>In contrast, the problem I&#8217;m considering here is to add just a pair of numbers operating on the <em>multiple bits</em> in parallel, producing a single, multi-bit sum. I don&#8217;t know whether there are any interesting connections between pair addition and either scan or fold.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Geoffrey Irving</title>
		<link>http://conal.net/blog/posts/parallel-speculative-addition-via-memoization#comment-841</link>
		<dc:creator><![CDATA[Geoffrey Irving]]></dc:creator>
		<pubDate>Wed, 28 Nov 2012 05:25:58 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=493#comment-841</guid>
		<description><![CDATA[&lt;p&gt;It&#039;s probably worth mentioning the way addition (and similar associative operations) are normally parallelized, namely parallel prefix circuits.&lt;/p&gt;
]]></description>
		<content:encoded><![CDATA[<p>It&#8217;s probably worth mentioning the way addition (and similar associative operations) are normally parallelized, namely parallel prefix circuits.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
