<?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: Where&#8217;s the Parallel Beef?</title>
	<atom:link href="http://www.linux-mag.com/id/8577/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.linux-mag.com/id/8577/</link>
	<description>Open Source, Open Standards</description>
	<lastBuildDate>Sat, 05 Oct 2013 13:48:18 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
	<item>
		<title>By: Planchas GHD</title>
		<link>http://www.linux-mag.com/id/8577/#comment-866177</link>
		<dc:creator>Planchas GHD</dc:creator>
		<pubDate>Fri, 12 Apr 2013 10:09:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/?p=8577#comment-866177</guid>
		<description>This can be a great publish. My partner and i loved the information great deal. I&#039;m going to search for these pages. Appreciate your discussing this review.</description>
		<content:encoded><![CDATA[<p>This can be a great publish. My partner and i loved the information great deal. I&#8217;m going to search for these pages. Appreciate your discussing this review.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hacking and Downloads</title>
		<link>http://www.linux-mag.com/id/8577/#comment-62295</link>
		<dc:creator>Hacking and Downloads</dc:creator>
		<pubDate>Wed, 30 Nov 2011 00:14:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/?p=8577#comment-62295</guid>
		<description>Hello there, just was aware of your weblog thru Google, and found that it is truly informative. I&#039;m gonna watch out for brussels. I&#039;ll be grateful if you proceed this in future. Numerous folks might be benefited from your writing. Cheers!</description>
		<content:encoded><![CDATA[<p>Hello there, just was aware of your weblog thru Google, and found that it is truly informative. I&#8217;m gonna watch out for brussels. I&#8217;ll be grateful if you proceed this in future. Numerous folks might be benefited from your writing. Cheers!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pgilroy</title>
		<link>http://www.linux-mag.com/id/8577/#comment-9556</link>
		<dc:creator>pgilroy</dc:creator>
		<pubDate>Tue, 07 Jun 2011 12:46:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/?p=8577#comment-9556</guid>
		<description>Interesting article with a lot of good points.  What I have observed is that the shops who are interested in HPC parallelism like the National Labs have migrated their algorithms to data flow, SIMD, format a long time ago and are well positioned to take advantate of the multicore and GP-GPU architectures as they appear.  The problem is those who are not already programming in a SIMD mode need to make a paradigm shift in their thinking and approach to convert their specific algorithm to SIMD.  As noted vendors are providing some tools to alow serial programs to be converted to SIMD bet they are not often efficent.  In fact if the wrong programming model is used on certain muticore processors a negative performance number can occure.</description>
		<content:encoded><![CDATA[<p>Interesting article with a lot of good points.  What I have observed is that the shops who are interested in HPC parallelism like the National Labs have migrated their algorithms to data flow, SIMD, format a long time ago and are well positioned to take advantate of the multicore and GP-GPU architectures as they appear.  The problem is those who are not already programming in a SIMD mode need to make a paradigm shift in their thinking and approach to convert their specific algorithm to SIMD.  As noted vendors are providing some tools to alow serial programs to be converted to SIMD bet they are not often efficent.  In fact if the wrong programming model is used on certain muticore processors a negative performance number can occure.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: przemek</title>
		<link>http://www.linux-mag.com/id/8577/#comment-9450</link>
		<dc:creator>przemek</dc:creator>
		<pubDate>Fri, 22 Apr 2011 03:49:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/?p=8577#comment-9450</guid>
		<description>If you can&#039;t use explicit parallelism via message passing (PVM/MPI) there&#039;s  OpenMP, which is essentially a set of compiler directives that you can sprinkle around regular C/Fortran code to enable parallelism by loop distribution, etc. GCC supported OpenMP since version 4.2 or thereabouts:
http://gcc.gnu.org/wiki/openmp</description>
		<content:encoded><![CDATA[<p>If you can&#8217;t use explicit parallelism via message passing (PVM/MPI) there&#8217;s  OpenMP, which is essentially a set of compiler directives that you can sprinkle around regular C/Fortran code to enable parallelism by loop distribution, etc. GCC supported OpenMP since version 4.2 or thereabouts:<br />
<a href="http://gcc.gnu.org/wiki/openmp" rel="nofollow">http://gcc.gnu.org/wiki/openmp</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Morris</title>
		<link>http://www.linux-mag.com/id/8577/#comment-9412</link>
		<dc:creator>Peter Morris</dc:creator>
		<pubDate>Thu, 14 Apr 2011 13:49:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/?p=8577#comment-9412</guid>
		<description>Although Ada was designed for multi-tasking, its possible use for parallel programming is discussed at this link.

http://softtalkblog.com/2010/07/07/could-ada-be-the-answer-to-our-parallel-programming-prayers/

However distribution of Ada tasks onto processors requires use of a rather complex &quot;Distributed Systems Annex&quot;. It would be easier if Ada had available something like the parallel extensions of XC.

But it could be a promising language and some high quality GPL Ada compilers are available here.
http://libre.adacore.com/libre/tools/gnat-gpl-edition/</description>
		<content:encoded><![CDATA[<p>Although Ada was designed for multi-tasking, its possible use for parallel programming is discussed at this link.</p>
<p><a href="http://softtalkblog.com/2010/07/07/could-ada-be-the-answer-to-our-parallel-programming-prayers/" rel="nofollow">http://softtalkblog.com/2010/07/07/could-ada-be-the-answer-to-our-parallel-programming-prayers/</a></p>
<p>However distribution of Ada tasks onto processors requires use of a rather complex &#8220;Distributed Systems Annex&#8221;. It would be easier if Ada had available something like the parallel extensions of XC.</p>
<p>But it could be a promising language and some high quality GPL Ada compilers are available here.<br />
<a href="http://libre.adacore.com/libre/tools/gnat-gpl-edition/" rel="nofollow">http://libre.adacore.com/libre/tools/gnat-gpl-edition/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Morris</title>
		<link>http://www.linux-mag.com/id/8577/#comment-9411</link>
		<dc:creator>Peter Morris</dc:creator>
		<pubDate>Thu, 14 Apr 2011 13:06:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/?p=8577#comment-9411</guid>
		<description>These tools have some very good features. I think they are currently available only for the Xmos family of microprocessors, but perhaps they could be ported to others.

http://www.xmos.com/technology



Language

The XC concurrent programming language extends the sequential programming capabilities of the C language, providing explicit control of concurrency, communication, timing and input-output. It supports deterministic concurrent programming; compile-time checks eliminate race-conditions.

Development Tools and Software IP

The XMOS development tools are built on industry-standard platforms making use of open-source compiler technology. They enable the XC language to be combined with C and C++. Using XC, accurate timing of critical paths through programs guarantee that deadlines are met, enabling programs to behave as predictably as hardware.

A library of reference designs for popular applications and software modules makes it easy to start designing.

</description>
		<content:encoded><![CDATA[<p>These tools have some very good features. I think they are currently available only for the Xmos family of microprocessors, but perhaps they could be ported to others.</p>
<p><a href="http://www.xmos.com/technology" rel="nofollow">http://www.xmos.com/technology</a></p>
<p>Language</p>
<p>The XC concurrent programming language extends the sequential programming capabilities of the C language, providing explicit control of concurrency, communication, timing and input-output. It supports deterministic concurrent programming; compile-time checks eliminate race-conditions.</p>
<p>Development Tools and Software IP</p>
<p>The XMOS development tools are built on industry-standard platforms making use of open-source compiler technology. They enable the XC language to be combined with C and C++. Using XC, accurate timing of critical paths through programs guarantee that deadlines are met, enabling programs to behave as predictably as hardware.</p>
<p>A library of reference designs for popular applications and software modules makes it easy to start designing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: buckiller</title>
		<link>http://www.linux-mag.com/id/8577/#comment-9394</link>
		<dc:creator>buckiller</dc:creator>
		<pubDate>Mon, 11 Apr 2011 04:35:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/?p=8577#comment-9394</guid>
		<description>I was going to mention data-flow programming (see VHDL) but figured I would just leave my comment more general. But yeah, going data flow makes a lot of problems simpler and more parallel, if a little bit unfamiliar (to the typical programmer)</description>
		<content:encoded><![CDATA[<p>I was going to mention data-flow programming (see VHDL) but figured I would just leave my comment more general. But yeah, going data flow makes a lot of problems simpler and more parallel, if a little bit unfamiliar (to the typical programmer)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lgunsch</title>
		<link>http://www.linux-mag.com/id/8577/#comment-9389</link>
		<dc:creator>lgunsch</dc:creator>
		<pubDate>Sat, 09 Apr 2011 18:06:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/?p=8577#comment-9389</guid>
		<description>ZeroMQ is an excellent parallel tool. By removing all locks, semaphores, memory barriers, etc. from an application you can speed up parallel applications and also get rid of concurrency bugs that appear when a system is under load.

&lt;a href=&quot;http://www.zeromq.org/&quot; rel=&quot;nofollow&quot;&gt;http://www.zeromq.org/&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>ZeroMQ is an excellent parallel tool. By removing all locks, semaphores, memory barriers, etc. from an application you can speed up parallel applications and also get rid of concurrency bugs that appear when a system is under load.</p>
<p><a href="http://www.zeromq.org/" rel="nofollow">http://www.zeromq.org/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ionut Georgescu</title>
		<link>http://www.linux-mag.com/id/8577/#comment-9387</link>
		<dc:creator>Ionut Georgescu</dc:creator>
		<pubDate>Fri, 08 Apr 2011 21:44:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/?p=8577#comment-9387</guid>
		<description>Exactly, where is the beef?

There are a few tools out there, names such Eclipse PTP, TotalView, DDT, Intel Amplifier, Intel Cluster Tools, VampireTrace, Scalasca and many others come to mind ... it would ne nice if somebody tried to analyze these tools against each other.

I have been so far a very satisfied user of TotalView and Intel Amplifier, but I would appreciate an overview of the field.</description>
		<content:encoded><![CDATA[<p>Exactly, where is the beef?</p>
<p>There are a few tools out there, names such Eclipse PTP, TotalView, DDT, Intel Amplifier, Intel Cluster Tools, VampireTrace, Scalasca and many others come to mind &#8230; it would ne nice if somebody tried to analyze these tools against each other.</p>
<p>I have been so far a very satisfied user of TotalView and Intel Amplifier, but I would appreciate an overview of the field.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ekkehard</title>
		<link>http://www.linux-mag.com/id/8577/#comment-9385</link>
		<dc:creator>ekkehard</dc:creator>
		<pubDate>Fri, 08 Apr 2011 17:19:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/?p=8577#comment-9385</guid>
		<description>Everything said in the article is correct.  But where is the journalistic/novelty beef???</description>
		<content:encoded><![CDATA[<p>Everything said in the article is correct.  But where is the journalistic/novelty beef???</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cdsteinkuehler</title>
		<link>http://www.linux-mag.com/id/8577/#comment-9384</link>
		<dc:creator>cdsteinkuehler</dc:creator>
		<pubDate>Fri, 08 Apr 2011 14:05:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/?p=8577#comment-9384</guid>
		<description>IMHO, you&#039;re looking in the wrong place.  I write *HIGHLY* parallel code on a daily bases, in an obscure language called VHDL (yes, it&#039;s a Hardware description language, not what most folks think of as &quot;software&quot;).  

The hardware world is inherently parallel, and you cannot code for it using the same abstractions that have made simplistic serial programming all the rage.  Until the SW world sheds the single execution paradigm and truly begins to think in parallel at the lowest level, I think the best hope for significant progress is going to come from advances already made in the realm of hardware design.

Today I write code that turns into millions of gates inside an FPGA.  At the big chip vendors, they&#039;re managing code that executes in parallel on *BILLIONS* of individual logic elements.  It&#039;s far less of a stretch to imagine that code running on millions of individual execution units (CPU/GPU/Whatever) than crafting a magic compiler that can effectively turn a sequential C program into millions of parallel instructions.</description>
		<content:encoded><![CDATA[<p>IMHO, you&#8217;re looking in the wrong place.  I write *HIGHLY* parallel code on a daily bases, in an obscure language called VHDL (yes, it&#8217;s a Hardware description language, not what most folks think of as &#8220;software&#8221;).  </p>
<p>The hardware world is inherently parallel, and you cannot code for it using the same abstractions that have made simplistic serial programming all the rage.  Until the SW world sheds the single execution paradigm and truly begins to think in parallel at the lowest level, I think the best hope for significant progress is going to come from advances already made in the realm of hardware design.</p>
<p>Today I write code that turns into millions of gates inside an FPGA.  At the big chip vendors, they&#8217;re managing code that executes in parallel on *BILLIONS* of individual logic elements.  It&#8217;s far less of a stretch to imagine that code running on millions of individual execution units (CPU/GPU/Whatever) than crafting a magic compiler that can effectively turn a sequential C program into millions of parallel instructions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kalloyd</title>
		<link>http://www.linux-mag.com/id/8577/#comment-9383</link>
		<dc:creator>kalloyd</dc:creator>
		<pubDate>Fri, 08 Apr 2011 12:32:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/?p=8577#comment-9383</guid>
		<description>Parallelism, while an important part of HPC is only part of the picture. Intel has done a lot with TBB, ABB, and it&#039;s Parallel Studio to help us optimize the parallel aspects of software. But there are memory and process affinities within and among compute components that become important.  The compute fabric is a system - made more complicated by the dynamic nature of the software &#039;task&#039; structure, and various data partitioning strategies.  Often, there is more than one right answer, and looking exclusively at (massive) parallelization may sometimes be misguided.</description>
		<content:encoded><![CDATA[<p>Parallelism, while an important part of HPC is only part of the picture. Intel has done a lot with TBB, ABB, and it&#8217;s Parallel Studio to help us optimize the parallel aspects of software. But there are memory and process affinities within and among compute components that become important.  The compute fabric is a system &#8211; made more complicated by the dynamic nature of the software &#8216;task&#8217; structure, and various data partitioning strategies.  Often, there is more than one right answer, and looking exclusively at (massive) parallelization may sometimes be misguided.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: buckiller</title>
		<link>http://www.linux-mag.com/id/8577/#comment-9381</link>
		<dc:creator>buckiller</dc:creator>
		<pubDate>Fri, 08 Apr 2011 05:58:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/?p=8577#comment-9381</guid>
		<description>Intel has a bunch of pretty decent looking stuff for C++ &lt;a href=&quot;http://software.intel.com/en-us/articles/intel-sdp-products/&quot; rel=&quot;nofollow&quot;&gt;intel-sdp-products&lt;/a&gt; (TBB, IPP) Matlab is also finally getting their stuff better parallelized. 

But basically you want a program (compiler?) to analyze your as-is (kind-of serial) code (any language) and spit out parallel instructions that exhibit the same behavior (I mean, correctness)? So would everyone else! The easiest thing to do, I would think, is to move straight to a parallel language (or one that makes it simple) when possible. Those languages exist, but I suspect most developers want their Java, C/C++, Python etc. to be parallel.</description>
		<content:encoded><![CDATA[<p>Intel has a bunch of pretty decent looking stuff for C++ <a href="http://software.intel.com/en-us/articles/intel-sdp-products/" rel="nofollow">intel-sdp-products</a> (TBB, IPP) Matlab is also finally getting their stuff better parallelized. </p>
<p>But basically you want a program (compiler?) to analyze your as-is (kind-of serial) code (any language) and spit out parallel instructions that exhibit the same behavior (I mean, correctness)? So would everyone else! The easiest thing to do, I would think, is to move straight to a parallel language (or one that makes it simple) when possible. Those languages exist, but I suspect most developers want their Java, C/C++, Python etc. to be parallel.</p>
]]></content:encoded>
	</item>
</channel>
</rss>