<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">Hi Ben,<DIV><BR class="khtml-block-placeholder"></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">We will share our ideas before deciding on the final form, but it will likely be another month or two until then - we want a more or less consistent core sketch first to avoid ending up in a huge discussion that leads nowhere - that's what happened when we and others tried to standardize force fields a couple of years ago :-)</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The other issue is that the API initially will be quite limited and different from all current programs. We will isolate the internal state of the system completely and load/read coordinates with routines. The reason for this is that we want the API to support hardware acceleration such as running simulations on Graphics cards, FPGAs, and any other accelerator you can think of, and if the user was to read/write coordinates and forces on the main CPU every single step it would just kill the performance due to bandwidth issues (e.g. PCI-E to the GPU).</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Anyway - my plan is to have a document describing our thoughts and an initial (slow) reference implementation done later this spring, and then we'll setup mailing lists and stuff at <A href="http://www.openmm.org">www.openmm.org</A>.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><BR class="khtml-block-placeholder"></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Cheers,</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Erik</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><BR class="khtml-block-placeholder"><DIV><DIV><DIV>On Feb 7, 2007, at 5:31 PM, Ben FrantzDale wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite">Erik,<BR>Interesting. I may want to get involved with that. I've worked on extending the API for LAMMPS and much of my MS thesis will be about appropriate API functionality for MD code. Is there an OpenMM mailing list? <BR><BR>—Ben<BR><BR><DIV><SPAN class="gmail_quote">On 2/7/07, <B class="gmail_sendername">Erik Lindahl</B> &lt;<A href="mailto:lindahl@cbr.su.se">lindahl@cbr.su.se</A>&gt; wrote:</SPAN><BLOCKQUOTE class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> Hi Ben,<BR><BR>On Feb 6, 2007, at 11:57 PM, Ben FrantzDale wrote:<BR><BR>&gt; I am interested in using GROMACS as a library. I get the impression<BR>&gt; from its use in Folding@Home that this is possible, but I don't see <BR>&gt; any documentation on the subject. Is there a C/C++ API for GROMACS<BR>&gt; so that I could initialize GROMACS with an MPI communicator then<BR>&gt; send it jobs to process? If so, did I just not find the documentation? <BR>&gt;<BR><BR>At the moment there isn't really an standardized (read: stable) API.<BR>It changes as functionality is added to the calls, which in turn<BR>aren't really well-documented either.<BR><BR>For F@H we're simply using a normal Gromacs binary I ported to <BR>windows a couple of years ago, and then add a couple of data<BR>encryption routines. Thus, it's called on a script rather than API<BR>level.<BR><BR>However, there is some good news: We recently started working on a <BR>standard "OpenMM" interface that will not only be well documented,<BR>but we will also make the entire specification public so that it can<BR>be implemented by anybody, much like OpenGL. And just like OpenGL we <BR>can hopefully convince people to use it by supporting hardware<BR>acceleration.<BR><BR>Cheers,<BR><BR>Erik<BR><BR>_______________________________________________<BR>gmx-users mailing list    <A href="mailto:gmx-users@gromacs.org"> gmx-users@gromacs.org</A><BR><A href="http://www.gromacs.org/mailman/listinfo/gmx-users">http://www.gromacs.org/mailman/listinfo/gmx-users</A><BR>Please don't post (un)subscribe requests to the list. Use the<BR>www interface or send it to <A href="mailto:gmx-users-request@gromacs.org">gmx-users-request@gromacs.org</A>.<BR>Can't post? Read <A href="http://www.gromacs.org/mailing_lists/users.php">http://www.gromacs.org/mailing_lists/users.php</A><BR></BLOCKQUOTE> </DIV><BR><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">gmx-users mailing list<SPAN class="Apple-converted-space">    </SPAN><A href="mailto:gmx-users@gromacs.org">gmx-users@gromacs.org</A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="http://www.gromacs.org/mailman/listinfo/gmx-users">http://www.gromacs.org/mailman/listinfo/gmx-users</A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Please don't post (un)subscribe requests to the list. Use the<SPAN class="Apple-converted-space"> </SPAN></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">www interface or send it to <A href="mailto:gmx-users-request@gromacs.org">gmx-users-request@gromacs.org</A>.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Can't post? Read <A href="http://www.gromacs.org/mailing_lists/users.php">http://www.gromacs.org/mailing_lists/users.php</A></DIV> </BLOCKQUOTE></DIV><BR></DIV></DIV></BODY></HTML>