<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Torsten Hoefler's blog &#187; MPI</title>
	<atom:link href="http://www.unixer.de/blog/index.php/category/mpi/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.unixer.de/blog</link>
	<description>nothing spectacular</description>
	<lastBuildDate>Tue, 07 Sep 2010 02:09:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SC09 in Portland</title>
		<link>http://www.unixer.de/blog/index.php/2009/11/22/sc09-in-portland/</link>
		<comments>http://www.unixer.de/blog/index.php/2009/11/22/sc09-in-portland/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 23:41:51 +0000</pubDate>
		<dc:creator>htor</dc:creator>
				<category><![CDATA[HPC]]></category>
		<category><![CDATA[MPI]]></category>

		<guid isPermaLink="false">http://www.unixer.de/blog/?p=355</guid>
		<description><![CDATA[Yes, still stuck in Rainland. This year&#8217;s SC was the best I ever attended to be honest. It felt like I know everybody and I was invited to two to three parties every evening (awesome). My work was presented at the MPI Forum BoF and the FASTOS BoF. I was also invited to present parts [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, still stuck in Rainland. This year&#8217;s SC was the best I ever attended to be honest. It felt like I know everybody and I was invited to two to three parties every evening (awesome). My work was presented at the MPI Forum BoF and the FASTOS BoF. I was also invited to present parts of my MPI Forum work at the MPICH2 BoF which was great! However, I fell sick on Wednesday and felt really bad on Thursday and much worse on Friday (which made me miss the morning panel and the SC10 committee meeting). </p>
<p>And the two most exciting happenings:</p>
<ol>
<li>I entered two drawings and won twice! (an X-box Elite from Microsoft *YAY* (thanks Fab!) and some USB stick from teragrid (I hope they&#8217;ll send it to me))
<li>I was complaining about the low threading support (only four) in the Power 7 and the random guy next to me started to explain why. It turned out that this guy was <a href="http://www.microsoft.com/presspass/exec/techfellow/Smith/default.mspx">Burton Smith</a>! He entered my personal hall of fame after his keynote at SPAA 2008. This man knows exactly what he talks about and we chatted a long time (until the show closed) about network topologies and routing. It was surprising to me that he mentioned the same fundamental insight in topologies that I had about a month ago independently. He also studied Cayley graphs and friends &#8230; five years ago (D&#8217;oh, I&#8217;m too young!).
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.unixer.de/blog/index.php/2009/11/22/sc09-in-portland/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>November MPI Forum in Portland</title>
		<link>http://www.unixer.de/blog/index.php/2009/11/15/november-mpi-forum-in-portland/</link>
		<comments>http://www.unixer.de/blog/index.php/2009/11/15/november-mpi-forum-in-portland/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 00:14:52 +0000</pubDate>
		<dc:creator>htor</dc:creator>
				<category><![CDATA[HPC]]></category>
		<category><![CDATA[MPI]]></category>
		<category><![CDATA[Science]]></category>

		<guid isPermaLink="false">http://www.unixer.de/blog/?p=373</guid>
		<description><![CDATA[They should have called the place “Rainland” but ok, I brought an umbrella   .
This week’s MPI Forum was very interesting! Marc Snir presented his convincing hybrid proposal. It’s really nice and orthogonal to the current standard. It needs some minor polishing and an implementation and seems ready to go.
We had some incremental discussions [...]]]></description>
			<content:encoded><![CDATA[<p>They should have called the place “Rainland” but ok, I brought an umbrella <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p>This week’s MPI Forum was very interesting! Marc Snir presented his convincing hybrid proposal. It’s really nice and orthogonal to the current standard. It needs some minor polishing and an implementation and seems ready to go.</p>
<p>We had some incremental discussions in the collectives working group but nothing very exciting. I think it is time to look for applications/systems that can benefit from the sparse collective proposal. Sameer Kumar sent me a very interesting paper which seems to be what we need! We also assimilated the Topology chapter into the collectives working group (now called collectives and topology working group — short colltop <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ).</p>
<p>The RMA discussions were helpful this time and motivated me to summarize all ideas that floated in my head into a patch to the MPI-2.2 standard document during the weekend. I’ll post it to the RMA list and will see what happens. I think the RMA interface in MPI-2.0 is rather elegant and only needs some minor tweaks and some semantic changes to make it useful.</p>
<p>The MPI-3 discussions were going in circles (again). We went back and forth if we should call our next release (which contains nonblocking collectives and probably support for hybrid environments) MPI 2.3 or MPI 3.0 draft. We didn’t come to any conclusion. The only decision we made (I think, we didn’t vote though) is that we don’t want to break source compatibility in the next revision yet. I’d like to call it 2.3 then because having a 3.0 draft means that 3.0 will be a similar release and we would probably break compatibility in 3.1 which doesn’t seem to useful. 2.3 also gives the user a better impression that it’s not a revolutionary new thing (e.g., fault tolerant). However, I don’t have a too strng opinion, I just have some users who want nonblocking collectives in a release that is at least source compatible.</p>
<p>Another really annoying thing is the whole MPI_Count story. I have to admit that I was in favor of it at the beginning because abstraction seems right to me, however, I am now really against it due to several reasons: (1) the workaround is trivial and causes negligible overhead, (2) it breaks source compatibility which is a total no-go, and (3) it causes all kinds of Fortran 77 problems (it seems that this is the reason why int was selected in the first place). Could we just withdraw the ticket please?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixer.de/blog/index.php/2009/11/15/november-mpi-forum-in-portland/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ICPP 2009 in Vienna</title>
		<link>http://www.unixer.de/blog/index.php/2009/09/27/icpp-2009-in-vienna/</link>
		<comments>http://www.unixer.de/blog/index.php/2009/09/27/icpp-2009-in-vienna/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 02:59:00 +0000</pubDate>
		<dc:creator>htor</dc:creator>
				<category><![CDATA[HPC]]></category>
		<category><![CDATA[MPI]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.unixer.de/blog/?p=333</guid>
		<description><![CDATA[I presented our initial work on Offloading Collective Operations, which is the definition of an Assembly language for group operations (GOAL), at ICPP&#8217;09 in Vienna. I was rather disappointed by this year&#8217;s ICPP. We had some problems with the program selection already before the conference (I&#8217;ll happily tell you details on request) and the final [...]]]></description>
			<content:encoded><![CDATA[<p>I presented our initial work on Offloading Collective Operations, which is the definition of an <a href="http://www.unixer.de/publications//?pub=94">Assembly language for group operations (GOAL)</a>, at <a href="http://www.cse.ohio-state.edu/~icpp2009/">ICPP&#8217;09 in Vienna</a>. I was rather disappointed by this year&#8217;s ICPP. We had some problems with the program selection already before the conference (I&#8217;ll happily tell you details on request) and the final program was not great. Some talks were very entertaining though. I really enjoyed the P2S2 workshop, especially Pete Beckman&#8217;s keynote. Other highlights (in my opinion) include:</p>
<ul>
<li>Mondrian&#8217;s &#8220;A resource optimized remote-memory-access architecture for low-latency communication&#8221; (I <strong>need to</strong> talk to those guys (I did <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</li>
<li>Argonne&#8217;s &#8220;Improving Resource Availability By Relaxing Network Allocation Constraints on the Blue Gene/P&#8221; (I need to read the paper because I missed the talk due to chaotic re-scheduling, but Narayan&#8217;s 5-minute elevator pitch summary seemed very interesting)</li>
<li>Prof. Resch&#8217;s keynote on &#8220;Simulation Performance through Parallelism -Challenges and Options&#8221; (he even mentioned the German Pirate party which I really enjoyed!)</li>
<li>Brice work with Argonne on &#8220;Cache-Efficient, Intranode Large-Message MPI Communication with MPICH2-Nemesis&#8221;</li>
<li>Argonne&#8217;s &#8220;End-to-End Study of Parallel Volume Rendering on the IBM Blue Gene/P&#8221; (yes, another excellent Argonne talk right before my presentation <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</li>
</ul>
<p>Here are some nice pictures:<br />
<img src="http://www.unixer.de/blog/wp-content/uploads/vienna1.jpg" alt="vienna1" title="vienna1" width="320" height="240" class="aligncenter size-full wp-image-337" /><br />
My talk at the last day was a real success (very well attended, even though it was the last talk in the conference)! It&#8217;s good to have friends (and a good talk from Argonne right before mine <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ). Btw. two of the three talks in the (only) &#8220;Information Retrieval&#8221; session were completely misplaced and had nothing to do with it, weird &#8230;</p>
<p><img src="http://www.unixer.de/blog/wp-content/uploads/vienna2.jpg" alt="vienna2" title="vienna2" width="320" height="427" class="aligncenter size-full wp-image-338" /><br />
My co-author, friendly driver, and camera-man and me in front of the parliament.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixer.de/blog/index.php/2009/09/27/icpp-2009-in-vienna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EuroPVM/MPI 2009 report</title>
		<link>http://www.unixer.de/blog/index.php/2009/09/11/europvmmpi-2009-report/</link>
		<comments>http://www.unixer.de/blog/index.php/2009/09/11/europvmmpi-2009-report/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 01:57:01 +0000</pubDate>
		<dc:creator>htor</dc:creator>
				<category><![CDATA[HPC]]></category>
		<category><![CDATA[MPI]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.unixer.de/blog/?p=303</guid>
		<description><![CDATA[This year&#8217;s EuroPVM/MPI was held in Helsinki (not quite, but close to it). I stayed in Hanasaari, a beautiful island with a small hotel and conference center on it. It&#8217;s a bit remote but nicely surrounded by nature.
The conference was nice, I learned about formal verification of MPI programs in the first day&#8217;s tutorial. This [...]]]></description>
			<content:encoded><![CDATA[<p>This year&#8217;s <a href="http://www.csc.fi/english/pages/pvmmpi09/">EuroPVM/MPI was held in Helsinki</a> (not quite, but close to it). I stayed in Hanasaari, a beautiful island with a small hotel and conference center on it. It&#8217;s a bit remote but nicely surrounded by nature.</p>
<p>The conference was nice, I learned about formal verification of MPI programs in the first day&#8217;s tutorial. This technique seems really nice for non-deterministic MPI programs (how many are there?) but there are certainly some open problems (similar to the state explosion of thread-checkers). The remainder of the conference was very nice and it feels good to meet the usual MPI suspects again. Some highlights were in my opinion:</p>
<ul>
<li>Edgar&#8217;s &#8220;VolpexMPI: an MPI Library for Execution of Parallel Applications on Volatile Nodes&#8221; (indeterminism is an interesting discussion in this context)</li>
<li>Rusty&#8217;s keynote on &#8220;Using MPI to Implement Scalable Libraries&#8221; (which I suspect could use collectives)</li>
<li>Argonne&#8217;s &#8220;Processing MPI Datatypes Outside MPI&#8221; (could be very very useful for LibNBC)</li>
<li>and Steven&#8217;s invited talk on &#8220;Formal Verification for Scientific Computing: Trends and Progress&#8221; (an excellent overview for our comunity)</li>
</ul>
<p>The whole crowd:<br />
<a href="http://www.csc.fi/english/pages/pvmmpi09/europvmmpi_group_pic/image_view_fullscreen"><img src="http://www.unixer.de/blog/wp-content/uploads/image_preview.jpeg" alt="image_preview" title="image_preview" width="400" height="225" class="aligncenter size-full wp-image-308" /></a></p>
<p>Unfortunately, I had to leave before the MPI Forum information session to catch my flight.<br />
Videos of many talks are available at <a href="http://www.csc.fi/english/pages/pvmmpi09/program">Videos</a>. All-in-all, it was worth to attend. Next year&#8217;s EuroMPI (yes, the conference was finally renamed after the second year in a row without a PVM paper) will be in Stuttgart. So stay tuned and submit papers!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixer.de/blog/index.php/2009/09/11/europvmmpi-2009-report/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MPI 2.2 is now officially ratified by the MPI Forum!</title>
		<link>http://www.unixer.de/blog/index.php/2009/09/04/mpi-2-2-is-now-officially-ratified-by-the-mpi-forum/</link>
		<comments>http://www.unixer.de/blog/index.php/2009/09/04/mpi-2-2-is-now-officially-ratified-by-the-mpi-forum/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 10:32:06 +0000</pubDate>
		<dc:creator>htor</dc:creator>
				<category><![CDATA[HPC]]></category>
		<category><![CDATA[MPI]]></category>

		<guid isPermaLink="false">http://www.unixer.de/blog/?p=290</guid>
		<description><![CDATA[I just came back from lunch after the MPI Forum meeting in Helsinki. This meeting focused again (the last time) on MPI 2.2. We finished the review of the final document and edited several minor things. Bill did a great job in chairing and pushing the MPI 2.2 work and the overall editing. Unfortunately, we [...]]]></description>
			<content:encoded><![CDATA[<p>I just came back from lunch after the MPI Forum meeting in Helsinki. This meeting focused again (the last time) on MPI 2.2. We finished the review of the final document and edited several minor things. Bill did a great job in chairing and pushing the MPI 2.2 work and the overall editing. Unfortunately, we did not meet our own deadlines, i.e., the chapters and reviews were not finished two weeks ago (I tried to push my chapters (5 and 7) as hard as possible, but getting the necessary reviews was certainly not easy). However, the whole document was reviewed (read) by forum members during the meeting and my confidence is high that everybody did a good job.</p>
<p>Here are the results of the official vote on the main document:<br />
yes: 14<br />
no: 1<br />
abstain: 2 (did not participate)</p>
<p>The votes by chapter will be online soon.</p>
<p>The feature-set of the standard did not change. <a href="http://www.unixer.de/blog/index.php/2009/07/30/the-mpi-standard-mpi-22-is-fixed-now/">I posted it earlier here</a> and <a href="http://blogs.cisco.com/ciscotalk/performance/comments/mpi-2.2_is_darn_near_done/">Jeff</a> also. But it&#8217;s official now! Implementors should now get everything implemented so that all users can enjoy the new features.</p>
<p>Here is a local copy (mirror) of the official document: <a href="http://www.unixer.de/blog/mpi-report-2_2.pdf">mpi-report-2_2.pdf</a> (the creation date might change)</p>
<p>One downside is that we already have errata items for things that were discovered too late in the process. This seems odd, however, we decided that we should not break our own rules. And even if the standard says that an MPI_BOOL is 4 bytes, we had to close the door for changes at some point. The errata (MPI_BOOL is one byte) will be voted on and posted soon on the main webpage.</p>
<p>Rolf will publish the MPI 2.2 book (like he did for <a href="https://fs.hlrs.de/projects/par/mpi//mpi21/">MPI 2.1</a>) and it will be available at Supercomputing 2009. I already ordered my copy <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>And now we&#8217;re moving on to MPI 3, so stay tuned (or participate in the forum)!</p>
<p><img src="http://www.unixer.de/blog/wp-content/uploads/mpi-report-2.2-2009-09-04-as-1book.jpg" alt="mpi-report-2.2-2009-09-04-as-1book" title="mpi-report-2.2-2009-09-04-as-1book" width="320" height="507" class="aligncenter size-full wp-image-331" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixer.de/blog/index.php/2009/09/04/mpi-2-2-is-now-officially-ratified-by-the-mpi-forum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The MPI Standard MPI-2.2 is fixed now</title>
		<link>http://www.unixer.de/blog/index.php/2009/07/30/the-mpi-standard-mpi-22-is-fixed-now/</link>
		<comments>http://www.unixer.de/blog/index.php/2009/07/30/the-mpi-standard-mpi-22-is-fixed-now/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 00:00:55 +0000</pubDate>
		<dc:creator>htor</dc:creator>
				<category><![CDATA[HPC]]></category>
		<category><![CDATA[MPI]]></category>

		<guid isPermaLink="false">http://www.unixer.de/blog/?p=263</guid>
		<description><![CDATA[We just finished all voting on the last MPI-2.2 tickets! This means that MPI-2.2 is fixed now, no changes are possible. The remaining work is simply to merge the accepted tickets into the final draft that will be voted on next time in Helsinki. I just finished editing my parts of the standard draft. Everything [...]]]></description>
			<content:encoded><![CDATA[<p>We just finished all voting on the last MPI-2.2 tickets! This means that MPI-2.2 is fixed now, no changes are possible. The remaining work is simply to merge the accepted tickets into the final draft that will be voted on next time in Helsinki. I just finished editing my parts of the standard draft. Everything (substantial) that I proposed made it in with a reasonable quorum. The new graph topology interface was nicely accepted this time (I think I explained it better and I presented an optimized implementation). However, other tickets didn&#8217;t go that smooth. The process seems very interesting from a social perspective (the way we vote has a substantial impact on the results etc.).</p>
<p>Some tickets that I think are worth discussing are:</p>
<p><strong><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/24">Add a local Reduction Function</a> </strong>- this enables the user to use MPI reduction operations locally (without communication). This is very useful for library implementors (e.g., implementing new collective routines on top of MPI) &#8211; <strong>PASSED</strong>!</p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/27"><br />
</a><strong><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/27">Regular (non-vector) version of MPI_Reduce_scatter</a> </strong>- this addresses a kind of missing functionality. The current Reduce_scatter should be Reduce_scatterv &#8230; but it isn&#8217;t. Anyway, if you ever asked yourself why the heck should I use Reduce_scatter then think about parallel matrix multiplication! An example is attached to the ticket. &#8211; <strong>PASSED</strong>!</p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/31"><strong>Add MPI_IN_PLACE option to Alltoall</strong></a> &#8211; nobody knows why this is not in MPI-2. I suppose that it seemed complicated to implement (an optimized implementation is indeed NP hard), but we have a simple (non-optimal, linear time) algorithm to do it. It&#8217;s attached to the ticket <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . &#8211; <strong>PASSED</strong>!</p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/33"><br />
<strong>Fix Scalability Issues in Graph Topology Interface</strong></a> &#8211; this is in my opinion the most interesting/important addition in MPI-2.2. The graph topology interface in MPI-2.1 is horribly broken in that every process needs to provide the *full* graph to the library (which even in sparse graphs leads to $\Omega(P)$ memory *per node*). I think we have an elegant fix that enables fully distributed specification of the graph as well as each node specifies its neighbors. This will be even more interesting in MPI-3, when we start to use the topology as communication context. &#8211; <strong>PASSED</strong>!</p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/66"><strong>Extending MPI_COMM_CREATE to create several disjoint sub-communicators from an intracommunicator</strong></a> -Neat feature that allows you to create multiple communicators with a single call! &#8211; <strong>PASSED</strong>!</p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/94"><strong>Add MPI_IN_PLACE option to Exscan</strong></a> &#8211; again, don&#8217;t know why this is missing in MPI-2.0. The rationale that is given is not convincing. <strong>PASSED</strong>!</p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/117"><strong>Define a new MPI_Count Datatype</strong></a> &#8211; MPI-2.1 can&#8217;t send more than 2^31 (=2 Mio) objects on 32-bit systems right now &#8211; we should fix that! However, we had to move this to MPI-3 due to several issues that came up during the implementation (most likely ABI issues) <strong>POSTPONED</strong>! It feels really good to have this strict implementation requirement! We will certainly have this important fix in MPI-3!</p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/140"><strong>Add const Keyword to the C bindings</strong></a> &#8211; most discussed feature I guess <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8211; I am not sure about the consequences yet, but it seems nice to me (so far). &#8211; <strong>POSTPONED</strong>! We moved this to MPI-3 because some part of the Forum wasn&#8217;t sure about the consequences. I am personally also going back and forth, the issue with strided datatypes seems really worrysome. </p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/45"><strong>Allow concurrent access to send buffer</strong></a> &#8211; most programmers probably did not know that this is illegal, but it certainly is in MPI<=2.0. For example:</p>
<p>int sendbuf;</p>
<p>MPI_Request req[2];<br />
MPI_Isend(&#038;sendbuf, 1, MPI_INT, 1, 1, MPI_COMM_WORLD, &#038;req[0]);</p>
<p>MPI_Isend(&#038;sendbuf, 1, MPI_INT, 2, 1, MPI_COMM_WORLD, &#038;req[1]);<br />
MPI_Waitall(2, &#038;req);</p>
<p>is not valid! Two threads are also not allowed to concurrently send the same buffer. This proposal will allow such access. - <strong>PASSED</strong>!</p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/143"><strong>MPI_Request_free bad advice to users</strong></a> &#8211; I personally think that MPI_Request_free is dangerous (especially in the context of threads) and does not provide much to the user. But we can&#8217;t get rid of it. &#8230; so let&#8217;s discourage users to use it! &#8211; <strong>PASSED</strong>!</p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/150"><strong>Deprecate the C++ bindings</strong></a> &#8211; that&#8217;s funny, isn&#8217;t it? But look at the current C++ bindings, they&#8217;re nothing more then pimped C bindings and only create problems. Real C++ programmers would use Boot.MPI (which internally uses the C bindings <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), right? &#8211; <strong>PASSED</strong> (even though I voted against it <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</p>
<p>Something odd happened to <a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/18">New Predefined Datatypes</a>. We found a small typo in the ticket (MPI_C_BOOL  should be 1 instead of 4 bytes). However, it wasn&#8217;t small enough that we could just change it (the process doesn&#8217;t allow significant changes after the first vote). It was now voted in with this bug (I abstained after the heavy discussion though) and it&#8217;s also too late to file a new ticket to fix this bug. However, we will have an errata item that will clarify this. It might sound strange, but I&#8217;m very happy that we stick to our principles and don&#8217;t change anything without proper reviews (these reviews between the meetings where vendors could get user-feedback have influences tickets quite a lot in the past). But still <strong>PASSED</strong>!</p>
<p>For all tickets and votes, see <a href="http://meetings.mpi-forum.org/secretary/2009/07/votes.php">MPI Forum votes</a>!</p>
<p>I&#8217;m very satisfied with the way the Forum works (Bill Gropp is doing a great job with MPI-2.2), I hear about other standardization bodies and have to say that our rules seem very sophisticated. I think MPI-2.2 will be a nice new standard which is not only a bugfix but offers new opportunities to library developers and users (see the tickets above). We are also planning to have a book again (perhaps with an editorial comment addressing the issue in ticket 18 (MPI_C_BOOL)!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixer.de/blog/index.php/2009/07/30/the-mpi-standard-mpi-22-is-fixed-now/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The MPI Forum gathers momentum</title>
		<link>http://www.unixer.de/blog/index.php/2009/04/10/the-mpi-forum-gathers-momentum/</link>
		<comments>http://www.unixer.de/blog/index.php/2009/04/10/the-mpi-forum-gathers-momentum/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 21:49:17 +0000</pubDate>
		<dc:creator>htor</dc:creator>
				<category><![CDATA[MPI]]></category>

		<guid isPermaLink="false">http://www.unixer.de/blog/index.php/2009/04/10/the-mpi-forum-gathers-momentum/</guid>
		<description><![CDATA[We&#8217;re now convening since more than a year and we just finished the 9th meeting! On the way, we released the rather unspectacular MPI-2.1 at EuroPVM 2008 in Dublin (but hey, everything is in a single document now!) which didn&#8217;t really change anything.
Then, we decided to go for MPI-2.2 which might change something but doesn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re now convening since <a href="http://meetings.mpi-forum.org/Meeting_details.php">more than a year</a> and we just finished the 9th meeting! On the way, we released the rather unspectacular <a href="http://www.mpi-forum.org/docs/docs.html">MPI-2.1</a> at EuroPVM 2008 in Dublin (but hey, everything is in a single document now!) which didn&#8217;t really change anything.</p>
<p>Then, we decided to go for MPI-2.2 which might change something but doesn&#8217;t break anything! We&#8217;re still unsure if we allow ABI changes though. But MPI-2.2 will certainly be source-code compliant (so a recompile might be required &#8211; which seems not that bad to me). So the MPI-2.2 process is supposed to guarantee quality. We use the <a href="http://trac.edgewall.org/">trac</a> system here at IU to manage the changes. Each &#8220;ticket&#8221; represents a change which has to be reviewed unofficially by at least four members of the Forum. Then, it can be read in front of the whole Forum at any meeting. Then, we have a first and a second vote and each successful ticket has to pass both. At the end, we vote for the inclusion of each chapter in MPI-2.2. Each ticket must go through this procedure and only a single state change is allowed during each meeting. This gives the Forum and the public a long time (>8 months) to review the proposals carefully. We also require an (open-source) implementation of each proposed change.</p>
<p>We&#8217;re discussing MPI-2.2 since several meetings &#8211; but the last (April&#8217;09) meeting was an important milestone! Since we plan to release MPI-2.2 at this year&#8217;s EuroPVM, we had to close the door. This means effectively, all tickets that have not been read in this meeting are postponed to MPI-3. I think we did pretty well and we&#8217;re within our schedule.</p>
<p>Some tickets that I think are interesting are:</p>
<p><strong><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/24">Add a local Reduction Function</a> </strong>- this enables the user to use MPI reduction operations locally (without communication). This is very useful for library implementors (e.g., implementing new collective routines on top of MPI)</p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/27"><br />
</a><strong><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/27">Regular (non-vector) version of MPI_Reduce_scatter</a> </strong>- this addresses a kind of missing functionality. The current Reduce_scatter should be Reduce_scatterv &#8230; but it isn&#8217;t. Anyway, if you ever asked yourself why the heck should I use Reduce_scatter then think about parallel matrix multiplication!An example is attached to the ticket.</p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/31"><strong>Add MPI_IN_PLACE option to Alltoall</strong></a> &#8211; nobody knows why this is not in MPI-2. I suppose that it seemed complicated to implement (an optimized implementation is indeed NP hard), but we have a simple (non-optimal, linear time) algorithm to do it. It&#8217;s attached to the ticket <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .<br />
<a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/33"><br />
<strong>Fix Scalability Issues in Graph Topology Interface</strong></a> &#8211; this is in my opinion the most interesting/important addition in MPI-2.2. The graph topology interface in MPI-2.1 is horribly broken in that every process needs to provide the *full* graph to the library (which even in sparse graphs leads to $\Omega(P)$ memory *per node*). I think we have an elegant fix that enables fully distributed specification of the graph as well as each node specifies its neighbors. This will be even more interesting in MPI-3, when we start to use the topology as communication context.</p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/66"><strong>Extending MPI_COMM_CREATE to create several disjoint sub-communicators from an intracommunicator</strong></a> -Neat feature that allows you to create multiple communicators with a single call!</p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/94"><strong>Add MPI_IN_PLACE option to Exscan</strong></a> &#8211; again, don&#8217;t know why this is missing. The rationale that is given is not convincing.<br />
<a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/117"><strong>Define a new MPI_Count Datatype</strong></a> &#8211; MPI-2.1 can&#8217;t send more than 2^31 (=2 Mio) objects on 32-bit systems right now &#8211; we should fix that!<br />
<a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/140"><strong>Add const Keyword to the C bindings</strong></a> &#8211; most discussed feature I guess <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8211; I am not sure about the consequences yet, but it seems nice to me (so far).</p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/45"><strong>Allow concurrent access to send buffer</strong></a> &#8211; most programmers probably did not know that this is illegal, but it certainly is. For example:</p>
<p>int sendbuf;</p>
<p>MPI_Request req[2];<br />
MPI_Isend(&#038;sendbuf, 1, MPI_INT, 1, 1, MPI_COMM_WORLD, &#038;req[0]);</p>
<p>MPI_Isend(&#038;sendbuf, 1, MPI_INT, 2, 1, MPI_COMM_WORLD, &#038;req[1]);<br />
MPI_Waitall(2, &#038;req);</p>
<p>is not valid! Two threads are also not allowed to concurrently send the same buffer. This proposal will allow such access.<br />
<a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/143"><strong>MPI_Request_free bad advice to users</strong></a> &#8211; I personally think that MPI_Request_free is dangerous (especially in the context of threads) and does not provide much to the user. But we can&#8217;t get rid of it. &#8230; so let&#8217;s discourage users to use it!</p>
<p><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/150"><strong>Deprecate the C++ bindings</strong></a> &#8211; that&#8217;s funny, isn&#8217;t it? But look at the current C++ bindings, they&#8217;re nothing more then pimped C bindings and only create problems. Real C++ programmers would use Boot.MPI (which internally uses the C bindings <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), right?</p>
<p>We made also some progress regarding MPI-3 where we can add more complex features that might (!) change the interface (but not break backwards compatibility).So we voted on <a href="https://www.unixer.de/publications//?pub=89"><strong>Nonblocking Collective Operations</strong></a> (<a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/109">#109</a> my <a href="http://www.unixer.de/research/nbcoll/">hobbyhorse</a>) &#8211; and it passed unanimously!</p>
<p>For all votes, see <a href="http://meetings.mpi-forum.org/secretary/2009/04/votes.php">votes</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixer.de/blog/index.php/2009/04/10/the-mpi-forum-gathers-momentum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Cisco Headquarters in San Jose</title>
		<link>http://www.unixer.de/blog/index.php/2009/02/16/the-cisco-headquarters-in-san-jose/</link>
		<comments>http://www.unixer.de/blog/index.php/2009/02/16/the-cisco-headquarters-in-san-jose/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 03:33:36 +0000</pubDate>
		<dc:creator>htor</dc:creator>
				<category><![CDATA[MPI]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.unixer.de/blog/index.php/2009/02/16/the-cisco-headquarters-in-san-jose/</guid>
		<description><![CDATA[Now that I&#8217;ve been here multiple times, I thought I just have to try the thing they call &#8220;Cisco Burger&#8221; in their cafeteria  . So I got one and must say that it&#8217;s not better than most American burgers I had before (but what did I expect). Here&#8217;s a picture for completeness:

]]></description>
			<content:encoded><![CDATA[<p>Now that I&#8217;ve been here multiple times, I thought I just have to try the thing they call &#8220;Cisco Burger&#8221; in their cafeteria <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . So I got one and must say that it&#8217;s not better than most American burgers I had before (but what did I expect). Here&#8217;s a picture for completeness:</p>
<p><img src="/blog/pics/jan09/cisco.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixer.de/blog/index.php/2009/02/16/the-cisco-headquarters-in-san-jose/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>December MPI Forum</title>
		<link>http://www.unixer.de/blog/index.php/2008/12/17/december-mpi-forum/</link>
		<comments>http://www.unixer.de/blog/index.php/2008/12/17/december-mpi-forum/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 19:37:21 +0000</pubDate>
		<dc:creator>htor</dc:creator>
				<category><![CDATA[MPI]]></category>

		<guid isPermaLink="false">http://www.unixer.de/blog/index.php/2009/12/17/december-mpi-forum/</guid>
		<description><![CDATA[Today was the first official reading of my Nonblocking Collective Operation proposal for MPI-3. It was a bit to short but it went really good. There were lots of discussions about clarifying the text, but the semantics are mainly fixed now. It looks like everything can be fixed before the next meeting. A picture made [...]]]></description>
			<content:encoded><![CDATA[<p>Today was the first official reading of my Nonblocking Collective Operation proposal for MPI-3. It was a bit to short but it went really good. There were lots of discussions about clarifying the text, but the semantics are mainly fixed now. It looks like everything can be fixed before the next meeting. A picture made by Rolf is here:</p>
<p><a href="/blog/pics/dec08/first_reading_nbc.jpg"><img src="/blog/pics/dec08/first_reading_nbc_small.jpg" /></a> [click for full-size picture]<br />
Now, when it gets interesting &#8211; I should probably start an MPI blog about new features for MPI-2.2 or MPI-3 <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixer.de/blog/index.php/2008/12/17/december-mpi-forum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MPI Forum No. 3</title>
		<link>http://www.unixer.de/blog/index.php/2008/05/02/mpi-forum-no-3/</link>
		<comments>http://www.unixer.de/blog/index.php/2008/05/02/mpi-forum-no-3/#comments</comments>
		<pubDate>Fri, 02 May 2008 13:51:17 +0000</pubDate>
		<dc:creator>htor</dc:creator>
				<category><![CDATA[MPI]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.unixer.de/blog/index.php/2008/05/02/mpi-forum-no-3/</guid>
		<description><![CDATA[Just came back from the third MPI Forum in Chicago. We finished MPI-2.1 (I guess) &#8230; mostly. I think we&#8217;ll just have to vote on it at the next meeting  . It&#8217;s good that this is finished and we have a nice single document mandating the newest MPI standard. We&#8217;ve also been able to [...]]]></description>
			<content:encoded><![CDATA[<p>Just came back from the third MPI Forum in Chicago. We finished MPI-2.1 (I guess) &#8230; mostly. I think we&#8217;ll just have to vote on it at the next meeting <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . It&#8217;s good that this is finished and we have a nice single document mandating the newest MPI standard. We&#8217;ve also been able to fix many bugs (see the ML). This meeting was at the Microsoft location in Chicago &#8230; in the 23rd floor of a skyscraper downtown. Pretty neat &#8230; nearly. One day, I decided to take the stairs (to not get fat in America) to find the door on the 23rd floor locked, after 7 minutes and 552 stairs. Great &#8230; actually, all doors but the lobby were locked <img src='http://www.unixer.de/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> . So I walked down again *hmpf*. I complained and was told that this is a security feature &#8211; how weird, the lobby exit is right next to the elevators, i.e., one can just exit at the lobby and use the elevator to get to any floor &#8211; security, huh? I guess this is typical American security, like everyone has to take his shoes off at the airport.</p>
<p><img src="/blog/pics/apr08/microsoft_small.jpg" /></p>
<p>What&#8217;s wrong in this picture? Me or the Microsoft logo?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixer.de/blog/index.php/2008/05/02/mpi-forum-no-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
