<?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: Why OpenMP is the way to go for parallel programming</title>
	<atom:link href="http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/</link>
	<description>A Blog on Parallel Programming and Concurrency by Michael Suess</description>
	<pubDate>Sat, 04 Feb 2012 06:29:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: saru</title>
		<link>http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/comment-page-1/#comment-98665</link>
		<dc:creator>saru</dc:creator>
		<pubDate>Sat, 15 Jan 2011 08:25:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/#comment-98665</guid>
		<description>its very nice, but i came across with another similar &lt;a href="http://openmp.blogspot.com/2011/01/home.html" rel="nofollow"&gt;blog&lt;/a&gt;

http://openmp.blogspot.com/2011/01/home.html

so i just thought of sharing it here,.. it was very helpful for me,..</description>
		<content:encoded><![CDATA[<p>its very nice, but i came across with another similar <a href="http://openmp.blogspot.com/2011/01/home.html" rel="nofollow">blog</a></p>
<p><a href="http://openmp.blogspot.com/2011/01/home.html" rel="nofollow">http://openmp.blogspot.com/2011/01/home.html</a></p>
<p>so i just thought of sharing it here,.. it was very helpful for me,..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cath</title>
		<link>http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/comment-page-1/#comment-97406</link>
		<dc:creator>Cath</dc:creator>
		<pubDate>Fri, 30 Jan 2009 12:51:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/#comment-97406</guid>
		<description>"yes, I know, this code is a toy-example and is probably slower on most platforms than the sequential version,"

You know this is a bit of a contra to what OpenMP books say - that it is best at "simple" loops. So how come this piece is slower (well with gcc it is really and i don't know what loop it takes to b faster, for particle loops seems to b also clumsy). Any info from ur experience abt particle loops (calculating forces between particles) usin' gcc 4.2?</description>
		<content:encoded><![CDATA[<p>&#8220;yes, I know, this code is a toy-example and is probably slower on most platforms than the sequential version,&#8221;</p>
<p>You know this is a bit of a contra to what OpenMP books say - that it is best at &#8220;simple&#8221; loops. So how come this piece is slower (well with gcc it is really and i don&#8217;t know what loop it takes to b faster, for particle loops seems to b also clumsy). Any info from ur experience abt particle loops (calculating forces between particles) usin&#8217; gcc 4.2?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jkriegshauser</title>
		<link>http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/comment-page-1/#comment-84256</link>
		<dc:creator>jkriegshauser</dc:creator>
		<pubDate>Wed, 01 Oct 2008 18:03:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/#comment-84256</guid>
		<description>Very interesting.

My personal experience with OpenMP was that it performs well if you have very CPU-bound repetitive tasks.  If you read &lt;a href="http://kriegshauser.blogspot.com/2008/09/eqii-getting-multicore-support-wait.html" rel="nofollow"&gt;my latest blog post&lt;/a&gt; I talk about how the first attempts at using [something similar to] OpenMP in EverQuest II didn't net us any significant gains on the largest repetitive tasks we have: finding degenerate triangles, animation vertex transformations, particle system init, etc.  I imagine this is true in larger projects that are doing a lot more than calculations.

I'm rather interested in Intel's &lt;a href="http://www.threadingbuildingblocks.org/" rel="nofollow"&gt;Threading Building Blocks&lt;/a&gt; over OpenMP for a few reasons:
- No specific compiler support/integration required
- Greater flexibility of task concepts
- Supports simple functionality of OpenMP and more
- Cross-platform
- Now Open-Source

Applying some of the principals from the TBB to the EverQuest II codebase &lt;i&gt;did&lt;/i&gt; get us a framerate improvement of 10-15% on dual-core hardware.</description>
		<content:encoded><![CDATA[<p>Very interesting.</p>
<p>My personal experience with OpenMP was that it performs well if you have very CPU-bound repetitive tasks.  If you read <a href="http://kriegshauser.blogspot.com/2008/09/eqii-getting-multicore-support-wait.html" rel="nofollow">my latest blog post</a> I talk about how the first attempts at using [something similar to] OpenMP in EverQuest II didn&#8217;t net us any significant gains on the largest repetitive tasks we have: finding degenerate triangles, animation vertex transformations, particle system init, etc.  I imagine this is true in larger projects that are doing a lot more than calculations.</p>
<p>I&#8217;m rather interested in Intel&#8217;s <a href="http://www.threadingbuildingblocks.org/" rel="nofollow">Threading Building Blocks</a> over OpenMP for a few reasons:<br />
- No specific compiler support/integration required<br />
- Greater flexibility of task concepts<br />
- Supports simple functionality of OpenMP and more<br />
- Cross-platform<br />
- Now Open-Source</p>
<p>Applying some of the principals from the TBB to the EverQuest II codebase <i>did</i> get us a framerate improvement of 10-15% on dual-core hardware.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrey</title>
		<link>http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/comment-page-1/#comment-80801</link>
		<dc:creator>Andrey</dc:creator>
		<pubDate>Sun, 14 Sep 2008 16:00:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/#comment-80801</guid>
		<description>32 OpenMP traps for C++ developers  :mrgreen: 
http://www.codeproject.com/KB/cpp/32_OpenMP_traps.aspx</description>
		<content:encoded><![CDATA[<p>32 OpenMP traps for C++ developers  <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_mrgreen.gif' alt=':mrgreen:' class='wp-smiley' /><br />
<a href="http://www.codeproject.com/KB/cpp/32_OpenMP_traps.aspx" rel="nofollow">http://www.codeproject.com/KB/cpp/32_OpenMP_traps.aspx</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cem DEMiRKIR</title>
		<link>http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/comment-page-1/#comment-79928</link>
		<dc:creator>Cem DEMiRKIR</dc:creator>
		<pubDate>Mon, 08 Sep 2008 18:17:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/#comment-79928</guid>
		<description>Hi,
 I'm new in this multithreaded programming world. I guess OpenMP is one of best API for multithreaded programming to learn and save your time for learn it... In my opinion the most attractive property of OpenMP it is simply compiler switches which can enable the switching between sequential and parallel runs and it is easy to learn and most of the compiler supports it. But I'd really like to learn How I can debug an OpenMP build code. I'm generally in Windows world and prefer to write code in Visual Studio. But I don't know How to debug an OpenMP compiled code using the nice thread showing properties of  2008. Is there any tutorial or a documentation about this subject ?

Regards 
Cem</description>
		<content:encoded><![CDATA[<p>Hi,<br />
 I&#8217;m new in this multithreaded programming world. I guess OpenMP is one of best API for multithreaded programming to learn and save your time for learn it&#8230; In my opinion the most attractive property of OpenMP it is simply compiler switches which can enable the switching between sequential and parallel runs and it is easy to learn and most of the compiler supports it. But I&#8217;d really like to learn How I can debug an OpenMP build code. I&#8217;m generally in Windows world and prefer to write code in Visual Studio. But I don&#8217;t know How to debug an OpenMP compiled code using the nice thread showing properties of  2008. Is there any tutorial or a documentation about this subject ?</p>
<p>Regards<br />
Cem</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cobo</title>
		<link>http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/comment-page-1/#comment-11</link>
		<dc:creator>Cobo</dc:creator>
		<pubDate>Tue, 15 Aug 2006 05:45:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/#comment-11</guid>
		<description>Thanks for all the doc and links.

I have already been looking around Compunity, and it looks quite good.
As I was reading your comment another programmer was recommending me the same book on parallel computing, so it seems I'll have to read it :).

I'll start any time soon with OpenMP, maybe October after my September exams, and a little rest...

Thanksa lot for all the interest and help!</description>
		<content:encoded><![CDATA[<p>Thanks for all the doc and links.</p>
<p>I have already been looking around Compunity, and it looks quite good.<br />
As I was reading your comment another programmer was recommending me the same book on parallel computing, so it seems I&#8217;ll have to read it :).</p>
<p>I&#8217;ll start any time soon with OpenMP, maybe October after my September exams, and a little rest&#8230;</p>
<p>Thanksa lot for all the interest and help!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Suess</title>
		<link>http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/comment-page-1/#comment-10</link>
		<dc:creator>Michael Suess</dc:creator>
		<pubDate>Mon, 14 Aug 2006 11:37:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/#comment-10</guid>
		<description>Glad you liked the article.

For resources on OpenMP, the best place to check would be &lt;a href="http://www.compunity.org" rel="nofollow"&gt;the Compunity&lt;/a&gt;. Look under &lt;a href="http://www.compunity.org/resources/compilers/index.php" rel="nofollow"&gt;Resources&lt;/a&gt; for a list of compilers and tools. Under &lt;a href="http://www.compunity.org/training/tutorials/index.php" rel="nofollow"&gt;Training&lt;/a&gt; you will find a list of tutorials which are good starting points. 

There is a book on OpenMP called "Parallel Programming in OpenMP", but I usually do not recommend it because it is outdated and OpenMP is not that difficult as to warrant a whole book on it (just my opinion). If you really like to have a book, I would recommend bying one on the more general subject of parallel programming, e.g. "Introduction to Parallel Computing" by Grama et. al. It has a section on OpenMP in it, as well as sections on Threads, MPI and many useful parallel algorithms. I bet there are good books on parallel programming in Spanish as well, if you prefer that and I bet some of them have sections on OpenMP in them as well.

OpenMP-support has not much todo with the architecture, but rather with the compiler and its runtime library. If the compiler supports OpenMP on a specific architecture, it will map the parallelism described by the OpenMP-directives to the native thread library provided by the operating system (e.g. POSIX threads or win32 threads). So if you have a compiler for a specific architecture that supports OpenMP, you are set to compile and run OpenMP programs there. For a list of compilers supporting OpenMP see the &lt;a href="http://www.compunity.org/resources/compilers/index.php" rel="nofollow"&gt;Compunity page of compilers&lt;/a&gt;. 

As soon as GCC 4.2 with OpenMP-support is released, I do not know of any major architecture that OpenMP does not support (since GCC basically runs everywhere :-) ).

Hope that helps!</description>
		<content:encoded><![CDATA[<p>Glad you liked the article.</p>
<p>For resources on OpenMP, the best place to check would be <a href="http://www.compunity.org" rel="nofollow">the Compunity</a>. Look under <a href="http://www.compunity.org/resources/compilers/index.php" rel="nofollow">Resources</a> for a list of compilers and tools. Under <a href="http://www.compunity.org/training/tutorials/index.php" rel="nofollow">Training</a> you will find a list of tutorials which are good starting points. </p>
<p>There is a book on OpenMP called &#8220;Parallel Programming in OpenMP&#8221;, but I usually do not recommend it because it is outdated and OpenMP is not that difficult as to warrant a whole book on it (just my opinion). If you really like to have a book, I would recommend bying one on the more general subject of parallel programming, e.g. &#8220;Introduction to Parallel Computing&#8221; by Grama et. al. It has a section on OpenMP in it, as well as sections on Threads, MPI and many useful parallel algorithms. I bet there are good books on parallel programming in Spanish as well, if you prefer that and I bet some of them have sections on OpenMP in them as well.</p>
<p>OpenMP-support has not much todo with the architecture, but rather with the compiler and its runtime library. If the compiler supports OpenMP on a specific architecture, it will map the parallelism described by the OpenMP-directives to the native thread library provided by the operating system (e.g. POSIX threads or win32 threads). So if you have a compiler for a specific architecture that supports OpenMP, you are set to compile and run OpenMP programs there. For a list of compilers supporting OpenMP see the <a href="http://www.compunity.org/resources/compilers/index.php" rel="nofollow">Compunity page of compilers</a>. </p>
<p>As soon as GCC 4.2 with OpenMP-support is released, I do not know of any major architecture that OpenMP does not support (since GCC basically runs everywhere <img src='http://www.thinkingparallel.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ).</p>
<p>Hope that helps!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cobo</title>
		<link>http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/comment-page-1/#comment-9</link>
		<dc:creator>Cobo</dc:creator>
		<pubDate>Mon, 14 Aug 2006 10:45:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.thinkingparallel.com/2006/08/12/why-openmp-is-the-way-to-go-for-parallel-programming/#comment-9</guid>
		<description>Great article. Now I guess why you're so interested in OpenMP instead of PThreads or any other systems. I have very little background with PThreads, but if OpenMP gives that level of abstraction and is close to the efficiency PThreads can give... I should try it out.
Could you recommend any good book/documentation related to OpenMP (theory and programming, better with C)?
Also I'm having problems to find if there's any architecture OpenMP doesn't support (x86, x86-64, PowerPC, Alpha...). Anything useful?

Willing to read more and more of this stuff.

Thanks!</description>
		<content:encoded><![CDATA[<p>Great article. Now I guess why you&#8217;re so interested in OpenMP instead of PThreads or any other systems. I have very little background with PThreads, but if OpenMP gives that level of abstraction and is close to the efficiency PThreads can give&#8230; I should try it out.<br />
Could you recommend any good book/documentation related to OpenMP (theory and programming, better with C)?<br />
Also I&#8217;m having problems to find if there&#8217;s any architecture OpenMP doesn&#8217;t support (x86, x86-64, PowerPC, Alpha&#8230;). Anything useful?</p>
<p>Willing to read more and more of this stuff.</p>
<p>Thanks!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

