<?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: Day 3 of DAC 2009:  Bill Dally Keynote</title>
	<atom:link href="http://www.chipdesignmag.com/martins/2009/07/29/day-3-of-dac-2009-bill-dally-keynote/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.chipdesignmag.com/martins/2009/07/29/day-3-of-dac-2009-bill-dally-keynote/</link>
	<description>ESL, embedded processors, and more</description>
	<lastBuildDate>Mon, 31 Oct 2011 22:55:04 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Amdahl&#8217;s Law is a Law (Hey, a New Post!) &#171; Bugs Are Easy</title>
		<link>http://www.chipdesignmag.com/martins/2009/07/29/day-3-of-dac-2009-bill-dally-keynote/comment-page-1/#comment-49369</link>
		<dc:creator>Amdahl&#8217;s Law is a Law (Hey, a New Post!) &#171; Bugs Are Easy</dc:creator>
		<pubDate>Mon, 14 Sep 2009 07:22:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.chipdesignmag.com/martins/?p=74#comment-49369</guid>
		<description>[...] Scientist at Nvidia, gave a keynote speech in which he claimed that Amdahl&#8217;s law is not a law, but an observation. This uses the popular interpretation of law to mean &#8220;proven [...]</description>
		<content:encoded><![CDATA[<p>[...] Scientist at Nvidia, gave a keynote speech in which he claimed that Amdahl&#8217;s law is not a law, but an observation. This uses the popular interpretation of law to mean &#8220;proven [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Grant Martin</title>
		<link>http://www.chipdesignmag.com/martins/2009/07/29/day-3-of-dac-2009-bill-dally-keynote/comment-page-1/#comment-44835</link>
		<dc:creator>Grant Martin</dc:creator>
		<pubDate>Fri, 14 Aug 2009 22:23:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.chipdesignmag.com/martins/?p=74#comment-44835</guid>
		<description>Rishiyur, thanks for your follow up comments.   Have Bluespec users done a direct comparison of SystemC or C/C++ based synthesis vs. BSV synthesis, and published (in an independent forum) direct comparative results?  That would be an interesting comparison of the capabilities.    In the most recent Design and Test magazine there is an interesting article by authors from TI that looked at several of the High level synthesis tools (three commercial ones) and without naming them, draws some lessons and  recommendations for improvement.  It is interesting to note that the authors say that 2 of the 3 tools used C or variants of C as input; the 3rd used a &quot;nonsequential&quot; input language that is unspecified.  It is an interesting paper, but I think if we are to make further progress, we probably need to start &quot;naming names&quot; when reporting on real user experiences - that is, if the names can be named.

Thanks again
Grant</description>
		<content:encoded><![CDATA[<p>Rishiyur, thanks for your follow up comments.   Have Bluespec users done a direct comparison of SystemC or C/C++ based synthesis vs. BSV synthesis, and published (in an independent forum) direct comparative results?  That would be an interesting comparison of the capabilities.    In the most recent Design and Test magazine there is an interesting article by authors from TI that looked at several of the High level synthesis tools (three commercial ones) and without naming them, draws some lessons and  recommendations for improvement.  It is interesting to note that the authors say that 2 of the 3 tools used C or variants of C as input; the 3rd used a &#8220;nonsequential&#8221; input language that is unspecified.  It is an interesting paper, but I think if we are to make further progress, we probably need to start &#8220;naming names&#8221; when reporting on real user experiences &#8211; that is, if the names can be named.</p>
<p>Thanks again<br />
Grant</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rishiyur Nikhil</title>
		<link>http://www.chipdesignmag.com/martins/2009/07/29/day-3-of-dac-2009-bill-dally-keynote/comment-page-1/#comment-44833</link>
		<dc:creator>Rishiyur Nikhil</dc:creator>
		<pubDate>Fri, 14 Aug 2009 22:08:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.chipdesignmag.com/martins/?p=74#comment-44833</guid>
		<description>Grant,

Thanks for your comment, and I&#039;m glad you brought up the point that &quot;all the current C/C++/SystemC HLS tools take extra pragmas or synthesis controls and directives&quot; to steer the synthesis towards a desirable architecture (many people are unaware of this, and are surprised when they first see this).  I have several follow-up comments on this.

(1) The first comment is that algorithms people write in C/C++, the starting point for C/C++ synthesis tools, may simply be bad algorithms for parallel implementation.  This is why we have fat textbooks on parallel algorithms, and high-quality conferences like ACM SPAA and PODC engaging some of the best minds in the business.

(2) The second and perhaps most serious comment is that these pragmas are very weak and indirect knobs to control the final architecture, like pushing on a rope.  In many head-to-head comparisons, we&#039;ve found that although these tools may get you quickly to initial RTL, there&#039;s often a very long and tedious tail in trying to squeeze it down to acceptable area, precisely because of lack of architectural transparency and control.  So, yes, I am claiming that BSV&#039;s (Bluespec SystemVerilog)&#039;s means of specification for parallel algorithms and architectures is much more direct, transparent, and controlled.  See also my comment &lt;a href=&quot;http://chipdesignmag.com/sld/blog/2008/09/30/redefining-design-with-esl&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; for more on this.

(3) Another comment is that all these &quot;extra pragmas or synthesis controls and directives&quot; detract from the &quot;ANSI C/C++&quot; rhetoric, because producing these pragmata involves most of the hard labor in getting a good synthesis result, and they are usually extremely tool-specific.

(4) SystemC is of course a parallel language (albeit an unrealistically weak one, because of the non-preemptive thread scheduling semantics).  But when people use the phrase &quot;SystemC synthesis&quot;, it&#039;s hard to tell whether they mean synthesis from RTL-like SystemC-- using sc_signals, sc_in, sc_outs, sc_clocked threads (equivalent to RTL&#039;s &#039;always&#039; blocks), etc, or whether they mean CDFG-based synthesis.  In the former case, it&#039;s no better than RTL, and in the latter case, it&#039;s no better than C/C++ synthesis.</description>
		<content:encoded><![CDATA[<p>Grant,</p>
<p>Thanks for your comment, and I&#8217;m glad you brought up the point that &#8220;all the current C/C++/SystemC HLS tools take extra pragmas or synthesis controls and directives&#8221; to steer the synthesis towards a desirable architecture (many people are unaware of this, and are surprised when they first see this).  I have several follow-up comments on this.</p>
<p>(1) The first comment is that algorithms people write in C/C++, the starting point for C/C++ synthesis tools, may simply be bad algorithms for parallel implementation.  This is why we have fat textbooks on parallel algorithms, and high-quality conferences like ACM SPAA and PODC engaging some of the best minds in the business.</p>
<p>(2) The second and perhaps most serious comment is that these pragmas are very weak and indirect knobs to control the final architecture, like pushing on a rope.  In many head-to-head comparisons, we&#8217;ve found that although these tools may get you quickly to initial RTL, there&#8217;s often a very long and tedious tail in trying to squeeze it down to acceptable area, precisely because of lack of architectural transparency and control.  So, yes, I am claiming that BSV&#8217;s (Bluespec SystemVerilog)&#8217;s means of specification for parallel algorithms and architectures is much more direct, transparent, and controlled.  See also my comment <a href="http://chipdesignmag.com/sld/blog/2008/09/30/redefining-design-with-esl" rel="nofollow">here</a> for more on this.</p>
<p>(3) Another comment is that all these &#8220;extra pragmas or synthesis controls and directives&#8221; detract from the &#8220;ANSI C/C++&#8221; rhetoric, because producing these pragmata involves most of the hard labor in getting a good synthesis result, and they are usually extremely tool-specific.</p>
<p>(4) SystemC is of course a parallel language (albeit an unrealistically weak one, because of the non-preemptive thread scheduling semantics).  But when people use the phrase &#8220;SystemC synthesis&#8221;, it&#8217;s hard to tell whether they mean synthesis from RTL-like SystemC&#8211; using sc_signals, sc_in, sc_outs, sc_clocked threads (equivalent to RTL&#8217;s &#8216;always&#8217; blocks), etc, or whether they mean CDFG-based synthesis.  In the former case, it&#8217;s no better than RTL, and in the latter case, it&#8217;s no better than C/C++ synthesis.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Grant Martin</title>
		<link>http://www.chipdesignmag.com/martins/2009/07/29/day-3-of-dac-2009-bill-dally-keynote/comment-page-1/#comment-43308</link>
		<dc:creator>Grant Martin</dc:creator>
		<pubDate>Mon, 03 Aug 2009 19:04:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.chipdesignmag.com/martins/?p=74#comment-43308</guid>
		<description>Rishiyur

Thanks very much for your comment.  However, I don&#039;t think you can make a claim that Bluespec is the only high level synthesis input that deals with the &quot;denial&quot; issues.  The reason for that is that none of the high-level synthesis tools using C/C++/SystemC takes &quot;sequential&quot; C/C++ alone as its input.  All of them take extra pragmas or synthesis controls and directives in one form or another that allow users to specify and explore potential concurrency/parallelism and also explore various input mechanisms and memory models/access methods.  This may be more inherent in the language, such as SystemC, or more provided by pragmas or special methods as in other languages.  But none of them as far as I know lack a means to explore these aspects.

So if there is an advantage to Bluespec - which users will confirm - it will be because its means of specification is more efficient, or more capable, or because its underlying synthesis target architecture allows better results, or its algorithms are better.  But you should discuss these aspects in a follow up if you feel it explains the better results in the competitions you mention.</description>
		<content:encoded><![CDATA[<p>Rishiyur</p>
<p>Thanks very much for your comment.  However, I don&#8217;t think you can make a claim that Bluespec is the only high level synthesis input that deals with the &#8220;denial&#8221; issues.  The reason for that is that none of the high-level synthesis tools using C/C++/SystemC takes &#8220;sequential&#8221; C/C++ alone as its input.  All of them take extra pragmas or synthesis controls and directives in one form or another that allow users to specify and explore potential concurrency/parallelism and also explore various input mechanisms and memory models/access methods.  This may be more inherent in the language, such as SystemC, or more provided by pragmas or special methods as in other languages.  But none of them as far as I know lack a means to explore these aspects.</p>
<p>So if there is an advantage to Bluespec &#8211; which users will confirm &#8211; it will be because its means of specification is more efficient, or more capable, or because its underlying synthesis target architecture allows better results, or its algorithms are better.  But you should discuss these aspects in a follow up if you feel it explains the better results in the competitions you mention.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rishiyur Nikhil</title>
		<link>http://www.chipdesignmag.com/martins/2009/07/29/day-3-of-dac-2009-bill-dally-keynote/comment-page-1/#comment-43307</link>
		<dc:creator>Rishiyur Nikhil</dc:creator>
		<pubDate>Mon, 03 Aug 2009 17:25:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.chipdesignmag.com/martins/?p=74#comment-43307</guid>
		<description>In a recent post on DeepChip, (http://www.deepchip.com/items/0477-10.html) a university professor suggested that we at Bluespec, Inc. were &quot;in denial&quot; for pursuing such an unconventional route to High-Level Synthesis (HLS).

Last week, another university professor, Bill Dally of Stanford University and NVidia, gave a keynote speech at DAC that is already creating much buzz (Richard Goering: http://tinyurl.com/ldrt9a, Grant Martin: http://tinyurl.com/lla2j4, Tech On: http://tinyurl.com/nfuuwj, EE Times: http://tinyurl.com/mbe22q, DAC Blogspot: http://tinyurl.com/lfldbs).

Dally called on the community to abandon what he termed &quot;denial architectures&quot;.  He identified the two principal features of widespread denial:


   Sequential computation model (and weak variants like instruction-level parallelism)

   Flat memory model (fixed, equal cost of access to all data)


Between C++ and BSV (Bluespec SystemVerilog), guess which one is the poster child for these two denial features?

The HW/SW design competitions at the last three MEMOCODE conferences (http://csg.csail.mit.edu/Memocode2009/) were, in the end, all about quickly designing the most efficient parallel architectures. Is it any surprise that the winners did not use sequential C/C++ (2007: http://tinyurl.com/mszr77, 2008: http://tinyurl.com/nzgku2, 2009: http://tinyurl.com/ms6yvl)?

Are we the ones in denial?  No, we&#039;re at the Denali Party (enjoying a DACiri)!  :-)

Rishiyur S. Nikhil, CTO Bluespec, Inc.</description>
		<content:encoded><![CDATA[<p>In a recent post on DeepChip, (<a href="http://www.deepchip.com/items/0477-10.html" rel="nofollow">http://www.deepchip.com/items/0477-10.html</a>) a university professor suggested that we at Bluespec, Inc. were &#8220;in denial&#8221; for pursuing such an unconventional route to High-Level Synthesis (HLS).</p>
<p>Last week, another university professor, Bill Dally of Stanford University and NVidia, gave a keynote speech at DAC that is already creating much buzz (Richard Goering: <a href="http://tinyurl.com/ldrt9a" rel="nofollow">http://tinyurl.com/ldrt9a</a>, Grant Martin: <a href="http://tinyurl.com/lla2j4" rel="nofollow">http://tinyurl.com/lla2j4</a>, Tech On: <a href="http://tinyurl.com/nfuuwj" rel="nofollow">http://tinyurl.com/nfuuwj</a>, EE Times: <a href="http://tinyurl.com/mbe22q" rel="nofollow">http://tinyurl.com/mbe22q</a>, DAC Blogspot: <a href="http://tinyurl.com/lfldbs" rel="nofollow">http://tinyurl.com/lfldbs</a>).</p>
<p>Dally called on the community to abandon what he termed &#8220;denial architectures&#8221;.  He identified the two principal features of widespread denial:</p>
<p>   Sequential computation model (and weak variants like instruction-level parallelism)</p>
<p>   Flat memory model (fixed, equal cost of access to all data)</p>
<p>Between C++ and BSV (Bluespec SystemVerilog), guess which one is the poster child for these two denial features?</p>
<p>The HW/SW design competitions at the last three MEMOCODE conferences (<a href="http://csg.csail.mit.edu/Memocode2009/" rel="nofollow">http://csg.csail.mit.edu/Memocode2009/</a>) were, in the end, all about quickly designing the most efficient parallel architectures. Is it any surprise that the winners did not use sequential C/C++ (2007: <a href="http://tinyurl.com/mszr77" rel="nofollow">http://tinyurl.com/mszr77</a>, 2008: <a href="http://tinyurl.com/nzgku2" rel="nofollow">http://tinyurl.com/nzgku2</a>, 2009: <a href="http://tinyurl.com/ms6yvl" rel="nofollow">http://tinyurl.com/ms6yvl</a>)?</p>
<p>Are we the ones in denial?  No, we&#8217;re at the Denali Party (enjoying a DACiri)!  <img src='http://www.chipdesignmag.com/martins/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Rishiyur S. Nikhil, CTO Bluespec, Inc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SKMurphy &#187; DAC 2009 Blog Coverage Roundup</title>
		<link>http://www.chipdesignmag.com/martins/2009/07/29/day-3-of-dac-2009-bill-dally-keynote/comment-page-1/#comment-43266</link>
		<dc:creator>SKMurphy &#187; DAC 2009 Blog Coverage Roundup</dc:creator>
		<pubDate>Mon, 03 Aug 2009 00:39:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.chipdesignmag.com/martins/?p=74#comment-43266</guid>
		<description>[...] Grant Martin on &#8220;Day 3 of DAC 2009: Bill Dally Keynote&#8220; [...]</description>
		<content:encoded><![CDATA[<p>[...] Grant Martin on &#8220;Day 3 of DAC 2009: Bill Dally Keynote&#8220; [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

