<rss version="2.0"><channel><title>Pure Mpi.NET News List</title><item><title><![CDATA[New Mpi Management Service]]></title><link><![CDATA[http://www.purempi.net:80//Default.aspx?pg=6ccf2c3a-a641-4ee5-b010-ec291dc91e9a&detail=346833ee-ee51-4f3a-8435-49f43aaa2e0c#8f9da97e-3ea0-4a07-9a8e-884c252d060d]]></link><description><![CDATA[<p>An Mpi Managment Service will now be installed and started during installation.  This service will allow a user to execute a method (for a given type and assembly) in a separate application domain.</p>
<p>The Mpi Mgmt Client class will allow a user to execute the method in mgmt services on machines associated with an Mpi Environment.</p>
<p>Files can also be copied with the client to the service machines.</p>
<p>See the example under Examples\VS2008\Management.</p>]]></description></item><item><title><![CDATA[Tools for Executing Remote Processes]]></title><link><![CDATA[http://www.purempi.net:80//Default.aspx?pg=6ccf2c3a-a641-4ee5-b010-ec291dc91e9a&detail=c4c8e892-173b-4308-8c53-5ac0ec7516a9#8f9da97e-3ea0-4a07-9a8e-884c252d060d]]></link><description><![CDATA[<p>Starting the processes on many remote machines used to be difficult.  Either you had to TS into each box and start your exe, or use additional 3rd party software .  Pure Mpi.NET now comes with a remote execution utility under Install\Tools.  Also included are example bat files to start all processes in parallel, and to clean up the proccesses.</p>]]></description></item><item><title><![CDATA[Reduction Operations now on Comm object]]></title><link><![CDATA[http://www.purempi.net:80//Default.aspx?pg=6ccf2c3a-a641-4ee5-b010-ec291dc91e9a&detail=00986d47-42de-44d5-a91d-186cb1158d34#8f9da97e-3ea0-4a07-9a8e-884c252d060d]]></link><description><![CDATA[<p>Associative reduction operations are now supported on the communication interface.  A simple summation example is below:</p>
<div style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: Courier New">
<p style="MARGIN: 0px"><font size="1"><span style="COLOR: blue">static</span> <span style="COLOR: blue">int</span> Sum(<span style="COLOR: blue">int</span> left, <span style="COLOR: blue">int</span> right)</font></p>
<p style="MARGIN: 0px"><font size="1">{</font></p>
<p style="MARGIN: 0px"><font size="1">    <span style="COLOR: blue">return</span> left + right;</font></p>
<p style="MARGIN: 0px"><font size="1">}</font></p>
<p style="MARGIN: 0px"><font size="1"> </font></p>
<p style="MARGIN: 0px"><font size="1"><span style="COLOR: blue">static</span> <span style="COLOR: blue">void</span> Main(<span style="COLOR: blue">string</span>[] args)</font></p>
<p style="MARGIN: 0px"><font size="1">{</font></p>
<p style="MARGIN: 0px"><font size="1">    <span style="COLOR: #2b91af">ProcessorGroup</span>.Process(<span style="COLOR: #a31515">"MPIEnvironment"</span>,</font></p>
<p style="MARGIN: 0px"><font size="1">        <span style="COLOR: blue">delegate</span>(<span style="COLOR: #2b91af">IDictionary</span><<span style="COLOR: blue">string</span>, <span style="COLOR: #2b91af">Comm</span>> comms)</font></p>
<p style="MARGIN: 0px"><font size="1">        {</font></p>
<p style="MARGIN: 0px"><font size="1">            <span style="COLOR: #2b91af">Comm</span> comm = comms[<span style="COLOR: #a31515">"MPI_COMM_WORLD"</span>];</font></p>
<p style="MARGIN: 0px"><font size="1">            <span style="COLOR: #2b91af">Console</span>.WriteLine(<span style="COLOR: #a31515">"Rank:{0} Result:{1}"</span>, comm.Rank, </font></p>
<p style="MARGIN: 0px"><font size="1">                comm.Reduce<<span style="COLOR: blue">int</span>>(0, comm.Rank, Sum));</font></p>
<p style="MARGIN: 0px"><font size="1">        });</font></p>
<p style="MARGIN: 0px"><font size="1">}</font></p>
</div>
<p><!--EndFragment--></p>]]></description></item><item><title><![CDATA[Pure Mpi.NET on InfoQ!]]></title><link><![CDATA[http://www.purempi.net:80//Default.aspx?pg=6ccf2c3a-a641-4ee5-b010-ec291dc91e9a&detail=28a59f0e-3193-485f-ba41-61018434512d#8f9da97e-3ea0-4a07-9a8e-884c252d060d]]></link><description><![CDATA[<p>Pure Mpi.NET is in the news on InfoQ - <a href="http://www.infoq.com/news/2008/01/MPI-DOTNET">MPI for .NET</a>. Just to clarify, Pure Mpi.NET is free to everyone to try, but if you want to use it in a commerial setting, please contact <a href="mailto:sales@purempi.net">sales@purempi.net</a> to obtain a license.</p>]]></description></item><item><title><![CDATA[Cleaner way to begin parallel processing]]></title><link><![CDATA[http://www.purempi.net:80//Default.aspx?pg=6ccf2c3a-a641-4ee5-b010-ec291dc91e9a&detail=a138b2a5-59ac-4dcf-8bb2-831b88d8f02d#8f9da97e-3ea0-4a07-9a8e-884c252d060d]]></link><description><![CDATA[<p>A method was added to the ProcessorGroup class to help instantiating, starting, waiting, and disposing of the mpi service host threads.  Along w/ using an anonymous delegate, the code cleans up rather nicely.</p>
<!--
{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue255;\red255\green255\blue255;\red0\green0\blue0;\red43\green145\blue175;\red163\green21\blue21;}??\fs20 \cf1 static\cf0  \cf1 void\cf0  Main(\cf1 string\cf0 [] args)\par ??\{\par ??    \cf4 ProcessorGroup\cf0 .Process(\cf5 "MPIEnvironment"\cf0 ,\par ??        \cf1 delegate\cf0 (\cf4 IDictionary\cf0 <\cf1 string\cf0 , \cf4 Comm\cf0 > comms)\par ??        \{\par ??            \cf4 Comm\cf0  comm = comms[\cf5 "MPI_COMM_WORLD"\cf0 ];\par ??            \cf4 Console\cf0 .WriteLine(\cf5 "Rank: \{0\}"\cf0 , comm.Rank);\par ??\par ??            \cf1 string\cf0  broadcastRoot = comm.Rank.ToString();\par ??            comm.Broadcast<\cf1 string\cf0 >(1, \cf1 ref\cf0  broadcastRoot);\par ??            \cf4 Console\cf0 .WriteLine(\cf5 "Broadcast root: \{0\}"\cf0 , broadcastRoot);\par ??        \});\par ??\}\par ??}
-->
<div style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: Courier New">
<p style="MARGIN: 0px"><font size="1"><span style="COLOR: blue">static</span> <span style="COLOR: blue">void</span> Main(<span style="COLOR: blue">string</span>[] args)</font></p>
<p style="MARGIN: 0px"><font size="1">{</font></p>
<p style="MARGIN: 0px"><font size="1">    <span style="COLOR: #2b91af">ProcessorGroup</span>.Process(<span style="COLOR: #a31515">"MPIEnvironment"</span>,</font></p>
<p style="MARGIN: 0px"><font size="1">        <span style="COLOR: blue">delegate</span>(<span style="COLOR: #2b91af">IDictionary</span><<span style="COLOR: blue">string</span>, <span style="COLOR: #2b91af">Comm</span>> comms)</font></p>
<p style="MARGIN: 0px"><font size="1">        {</font></p>
<p style="MARGIN: 0px"><font size="1">            <span style="COLOR: #2b91af">Comm</span> comm = comms[<span style="COLOR: #a31515">"MPI_COMM_WORLD"</span>];</font></p>
<p style="MARGIN: 0px"><font size="1">            <span style="COLOR: #2b91af">Console</span>.WriteLine(<span style="COLOR: #a31515">"Rank: {0}"</span>, comm.Rank);</font></p>
<p style="MARGIN: 0px"><font size="1"> </font></p>
<p style="MARGIN: 0px"><font size="1">            <span style="COLOR: blue">string</span> broadcastRoot = comm.Rank.ToString();</font></p>
<p style="MARGIN: 0px"><font size="1">            comm.Broadcast<<span style="COLOR: blue">string</span>>(1, <span style="COLOR: blue">ref</span> broadcastRoot);</font></p>
<p style="MARGIN: 0px"><font size="1">            <span style="COLOR: #2b91af">Console</span>.WriteLine(<span style="COLOR: #a31515">"Broadcast root: {0}"</span>, broadcastRoot);</font></p>
<p style="MARGIN: 0px"><font size="1">        });</font></p>
<p style="MARGIN: 0px"><font size="1">}</font></p>
</div>]]></description></item><item><title><![CDATA[Pure Mpi.NET Just Released!]]></title><link><![CDATA[http://www.purempi.net:80//Default.aspx?pg=6ccf2c3a-a641-4ee5-b010-ec291dc91e9a&detail=fb7c92c7-d3f2-4f0f-925b-b9f2c007de7a#8f9da97e-3ea0-4a07-9a8e-884c252d060d]]></link><description><![CDATA[Version 1.0.0.0 has finally been released!  <a href="DownloadHandler.ashx?pg=18ab98c8-dcc1-4dcb-b022-55fc0615d5a9&section=68248625-e19e-41f0-90d6-24ef0d129d9d&file=Setup.msi">Download</a> it and give it a try.]]></description></item></channel></rss>