<div dir="ltr">Hi Pengfei,<div><br></div><div>Sorry for the delay in response.  Here are instructions for getting yt-3 to work on Blue Waters using mpi4py.  I believe that Rob Sisneros has gotten yt-3 working as a module; however, it is likely that it will not be updated very frequently, at least compared to the pace of yt development.</div><div><br></div><div>--Brian</div><div><br></div><div>-----------------------------------------------------------------------</div><div><br></div><div>Getting yt-3 to work on Blue Waters:</div><div><div><br></div><div>0) Get the GNU software environment set up:  “module swap PrgEnv-cray PrgEnv-gnu” .  This will be necessary later.</div><div><br></div><div>1)  Install the Anaconda python distribution (<a href="https://store.continuum.io/cshop/anaconda/">https://store.continuum.io/cshop/anaconda/</a>) for 64-bit Linux systems.  Refresh your path so the Anaconda python’s in your path.</div><div><br></div><div>2)  Download mpi4py from <a href="https://bitbucket.org/mpi4py/mpi4py/">https://bitbucket.org/mpi4py/mpi4py/</a>, or grab it from my home directory on Blue Waters (~bwoshea/mpi4py-1.3.1.tar.gz).</div><div><br></div><div>3)  Once you’ve unpacked it in your home directory, edit the file mpi.cfg, which is in the top-level mpi4py directory, and add the following chunk of text at the end of the file:</div><div><br></div><div>[cray]</div><div>mpicc = cc</div><div>mpicxx = CC</div><div>extra_link_args = -shared</div><div><br></div><div>then, in the top-level mpi4py directory, type:</div><div><br></div><div>python setup.py build --mpi=cray</div><div>python setp.py install</div><div><br></div><div>At this point, you should have a functional version of mpi4py that uses the cray MPI libraries.  </div><div><br></div><div>4)  You can then install yt via source in your home directory:</div><div><br></div><div>hg clone <a href="https://bitbucket.org/yt_analysis/yt">https://bitbucket.org/yt_analysis/yt</a></div><div>hg update yt</div><div>python setup.py develop</div><div><br></div><div>And it should work, though you’re going to need to modify your LD_LIBRARY_PATH to point to your anaconda /lib directory.  You can verify that yt and mpi4py are playing nicely together by running the scripts hw_MPI.py and yt_parallel_test.py, both of which are sitting in my home directory.  (Note that you can do this via batch script or through the interactive queue, both with aprun - you can’t just do it from the login node.)</div><div><br></div><div>5) and, optionally, if you want to install Rockstar using yt from source, you do the following:</div><div><br></div><div>hg clone <a href="http://bitbucket.org/MatthewTurk/rockstar">http://bitbucket.org/MatthewTurk/rockstar</a></div><div>cd rockstar</div><div>hg pull</div><div>hg up -C tip</div><div>make lib</div><div><br></div><div>and *then* make a file called rockstar.cfg that has a single line of text: the path of the rockstar source code directory.  At that point, you need to run “python setup.py develop” again, and yt will recognize that rockstar has been installed and play nicely with it.  You will likely also have to modify your LD_LIBRARY_PATH to point at your rockstar directory so it can find the rockstar library (librockstar.so).</div><div><br></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Nov 20, 2015 at 3:46 AM, Pengfei Chen <span dir="ltr"><<a href="mailto:madcpf@gmail.com" target="_blank">madcpf@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Brian,<div><br></div><div>Thank you very much for your reply! No, I followed the instructions here<a href="http://yt-project.org/docs/dev/installing.html" target="_blank"> http://yt-project.org/docs/dev/installing.html</a>. I need the yt-development, but failed when using All-in-One Installation Script to install it on BW, so I used miniconda to install. Could you please send me your installation instructions for yt on BW? I will try it out.</div><div><br></div><div>Thanks,</div><div>Pengfei</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 19, 2015 at 8:45 AM, Brian O'Shea <span dir="ltr"><<a href="mailto:bwoshea@gmail.com" target="_blank">bwoshea@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Pengfei,<div><br></div><div>Did you use my installation instructions for yt on Blue Waters?  If not, I can send those along.</div><span><font color="#888888"><div><br></div><div>B</div><div><br></div></font></span></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 19, 2015 at 10:02 AM, Nathan Goldbaum <span dir="ltr"><<a href="mailto:nathan12343@gmail.com" target="_blank">nathan12343@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">So it looks like either mpi4py isn't able to properly link against the MPI installation on Blue waters or properly initialize itself at runtime.<div><br></div><div>In either case, this points to the issue being a problem with<span></span> mpi4py, not yt.</div><div><br></div><div>Three things to try: </div><div><br></div><div>* check which version version of mpi4py you have installed in your yt-2.x environment and install that version in your yt-3.x environment. You may have found a bug in mpi4py 2.0, which made major changes to the mpi4py library.</div><div><br></div><div>* contact the Blue Waters sysadmins.</div><div><br></div><div>* contact the mpi4py developers</div><div><br></div><div>Hope that helps,</div><div><br></div><div>Nathan<div><div><br><br>On Thursday, November 19, 2015, Pengfei Chen <<a href="mailto:madcpf@gmail.com" target="_blank">madcpf@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Nathan,<div><br></div><div>Thank you very much for your reply! When I run that test script in parallel with 16 cores, I get 16 0s. Any suggestions to fix this?</div><div><br></div><div>Thanks,</div><div>Pengfei</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 18, 2015 at 3:40 PM, Nathan Goldbaum <span dir="ltr"><<a>nathan12343@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Pengfei,<div><br></div><div>Can you try to run the following test script in parallel? This will determine if the issue is on the yt side of things or the mpi4py side of things:</div><div><br></div><div>    from mpi4py import MPI</div><div><br></div><div>    print(MPI.COMM_WORLD.rank)</div><div><br></div><div>-Nathan</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Wed, Nov 18, 2015 at 5:36 PM, Pengfei Chen <span dir="ltr"><<a>madcpf@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr">Hi all,<div><br></div><div><div>I have trouble running yt in parallel on Blue Waters. I installed yt using miniconda, the version of yt is</div><div><br></div><div>~/miniconda/lib $yt version</div><div>yt module located at:</div><div>    /u/sciteam/madcpf/miniconda/lib/python2.7/site-packages/yt-3.3.dev0-py2.7-linux-x86_64.egg</div><div>The current version and changeset for the code is:</div><div>---</div><div>Version = 3.3-dev</div><div>Changeset = 90f900be7a36+ yt</div><div><br></div><div>Then with miniconda/bin in PATH I installed mpi4py-2.0.0. But when I tried to make the following simple output in parallel, I get:</div>







<div><br></div><div><div style="font-size:12.8px">import yt<br></div><div style="font-size:12.8px">yt.enable_parallelism()</div><div style="font-size:12.8px">from yt.utilities.parallel_tools.parallel_analysis_interface import\<br></div><div style="font-size:12.8px"> parallel_objects, communication_system</div></div><div style="font-size:12.8px"><br></div><div>comm = communication_system.communicators[-1]</div><div>print comm.rank, comm.size</div><div><br></div><div>0 1</div><div>0 1</div><div>0 1</div><div>0 1</div><div>0 1</div><div>0 1</div><div>0 1</div><div>0 1</div><div>...</div><div><br></div><div>When I run a similar code but with yt-2.x also on Blue Waters, I get what I expect:</div><div><br></div><div>7 16</div><div>15 16</div><div>6 16</div><div>9 16</div><div>11 16</div><div>8 16</div><div>0 16</div><div>4 16</div><div>...</div><div><br></div><div>I'm confused about it. Could anyone give me some suggestions please?</div><div><br></div><div>Thanks,</div><div>Pengfei</div></div></div>
<br></div></div>_______________________________________________<br>
yt-users mailing list<br>
<a>yt-users@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" rel="noreferrer" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
yt-users mailing list<br>
<a>yt-users@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" rel="noreferrer" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
<br></blockquote></div><br></div>
</blockquote></div></div></div>
<br>_______________________________________________<br>
yt-users mailing list<br>
<a href="mailto:yt-users@lists.spacepope.org" target="_blank">yt-users@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" rel="noreferrer" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
yt-users mailing list<br>
<a href="mailto:yt-users@lists.spacepope.org" target="_blank">yt-users@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" rel="noreferrer" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
yt-users mailing list<br>
<a href="mailto:yt-users@lists.spacepope.org">yt-users@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" rel="noreferrer" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
<br></blockquote></div><br></div>