<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 2, 2014 at 2:20 PM, Carsten Kutzner <span dir="ltr">&lt;<a href="mailto:ckutzne@gwdg.de" target="_blank">ckutzne@gwdg.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I am planning to contribute some functionality expansion for the computational<br>
electrophysiology module:<br>
- more control about from where to where the swaps are done<br>
- support for multi-atomic ions<br>
- support for a variable number of groups for which atom counts are<br>
  kept stable (e.g. if one not only wants to control Na and Cl, but<br>
  Na, K, Cl)<br>
<br>
Each added feature would require additional input parameters and thus<br>
a change of the .tpr file format. Therefore it could make sense to<br>
lump all functionality expansion together in one patch. From a review<br>
point of view it would however be nicer to do it in separate patches.<br>
What is the preferred approach?<br></blockquote><div><br></div><div>From bitter experience, multiple patches in flight that bump the .tpr version make for a lot of busywork and Jenkins traffic, since all of them want to increment the same counter. There&#39;s some new machinery in tpxio.c that make it harder for us to make erroneous automatically-resolved merges, but if there&#39;s matching regressiontest cases then those need re-generation and re-validation, and it&#39;s all horrible.</div><div><br></div><div>So, along the lines of the suggestion I made to Justin in this thread, I would suggest planning for a commit tree that was</div><div>* add .tpr management gear (perhaps for all your new features, just for convenience), together with a fatal error from mdrun.cpp that observes that there&#39;s no implementation yet, so that the missing implementation can&#39;t misbehave</div><div>* actually add features in some progression that makes logical sense to a reviewer, e.g.</div><div>    + general cleanup and preparation (because if there&#39;s no expected change to functionality, it&#39;s easy to review), then</div><div>    + any movement of existing code (easy to review, and helps people rebasing features in the same source files), then</div><div>    + add the new code and matching tests</div><div><br></div><div>The advantage here is that Justin (and anybody else) also wanting to bump the .tpr can get that sorted out and merged separately from reviewing the content of the feature. If anybody&#39;s feature later doesn&#39;t pass review, the above workflow is not ideal, but there&#39;s already some defunct fields in the .tpr format, so I expect it would not be a big deal to make sure the release candidate doesn&#39;t have a grompp that suggests a feature should exist when it does not, and perhaps some later Gromacs version would use them once the feature is ready to pass review.</div><div><br></div><div>I&#39;m open to alternatives, though!</div><div><br></div><div>Mark</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thomas and me are also working on multiple end states for lambda-dynamics,<br>
but this will still take quite a bit of time until it is finished (not<br>
for 5.1 for sure). The additional topology information / topology format<br>
expansion should be usable both for free energy methods and lambda-dynamics.<br>
<br>
Carsten<br>
<div><div class="h5"><br>
<br>
On 26 Nov 2014, at 18:18, Mark Abraham &lt;<a href="mailto:mark.j.abraham@gmail.com">mark.j.abraham@gmail.com</a>&gt; wrote:<br>
<br>
&gt; Hi,<br>
&gt;<br>
&gt; It&#39;s time we got organized for the next minor release. Generally policy is unchanged - we do a feature-change release at least once a year, and bugfix releases periodically on the last minor/major release. An &quot;extra&quot; release for some special purpose is negotiable.<br>
&gt;<br>
&gt; I propose<br>
&gt;<br>
&gt; * now:<br>
&gt;     + get code you want to be considered for 5.1 into gerrit (tag the first line of the commit message [RFC] or [WIP] if you know that the current state of the code is not a serious candidate for merging)<br>
&gt;     + get your karma up by participating in review of others&#39; code<br>
&gt;     + reply to this email (or comment on your patches in gerrit) to guide other people about what might be important for them to review<br>
&gt;<br>
&gt; * mid-January:<br>
&gt;     + release 5.0.x<br>
&gt;     + release 5.1-beta from whatever is the tip of master branch at the time<br>
&gt;     + fork release-5-1 branch then (still open for functionality changes until the 5.1-rc1 releases; gerrit&#39;s feature for cherry picking between branches will make this fork manageable)<br>
&gt;<br>
&gt; * early-to-mid February:<br>
&gt;     + release 5.1-rc1<br>
&gt;     + close release-5-1 to new functionality, it remains open for bug fixes, test cases, and documentation only<br>
&gt;     + test widely on any plausible machine and compiler for portability and correctness<br>
&gt;     + release 5.1-rc[234] if that seems like a good idea<br>
&gt;<br>
&gt; * mid-March:<br>
&gt;     + release 5.0.x for hopefully the last time, pretty much close release-5-0 branch<br>
&gt;     + release 5.1<br>
&gt;     + remove the group cutoff scheme<br>
&gt;     + ...<br>
&gt;     + Profit!<br>
&gt;<br>
&gt; Do speak up if you have a suggestion for a change / request for special consideration / whatever. I&#39;ve deliberately left the Christmas period open for people who might want to do a last code push at that time, but a huge patch landing without warning on January 10... will probably get ignored by me.<br>
&gt;<br>
&gt; Please note that things like ongoing contribution with testing and code review are the primary things that might earn an authorship on Gromacs papers (5.0 is still on my TODO list, sorry) - adding some feature is awesome, but what reward structure we can offer needs to focus on the large amount of inglorious work that has to happen.<br>
&gt;<br>
&gt; Things team Stockholm are actively working on that we&#39;d like to have ready for 5.1 (and the names of the primary people involved)<br>
&gt; * new DD communication support (Berk)<br>
&gt; * enhancements to pull code (Berk)<br>
&gt; * Verlet scheme support for tables, vacuum, Generalized Born (Berk, Alfredo)<br>
&gt; * GPU support for tabulated interactions (Alfredo)<br>
&gt; * GPU acceleration of (at least) dihedral interactions (Iman)<br>
&gt; * combined FFTs for LJ-PME (Christian)<br>
&gt; * offload of bonded interactions for enhancing load balance (Mark)<br>
&gt; * support for latest CUDA offerings (Szilard)<br>
&gt; * OpenCL non-bonded support (mostly Anca from <a href="http://www.streamcomputing.eu" target="_blank">http://www.streamcomputing.eu</a>, Mark)<br>
&gt; * support for CPU-based SIMD on everything on the horizon (Erik)<br>
&gt;<br>
&gt; Like everything else, none of that&#39;s going to block releases, but since 5.1 will be the last minor release with the group cutoff scheme, feature completion of the Verlet scheme will be an internal priority for development, review, and testing. Full feature completion is unlikely to happen, so support for twin-range multiple-time stepping, QM/MM, and AdReS may disappear unless people want to put the work in.<br>
&gt;<br>
&gt; There&#39;s a lot of code already in Gerrit awaiting review, particularly from Teemu on the analysis tools. I need to help out more there, but do check if he&#39;s fixing stuff that you might care about!<br>
&gt;<br>
&gt; If you&#39;re working on code that you might want to get into 5.1, speak up!<br>
&gt;<br>
&gt; Happy reviewing!<br>
&gt;<br>
&gt; Mark<br>
</div></div><span class="">&gt; --<br>
&gt; Gromacs Developers mailing list<br>
&gt;<br>
&gt; * Please search the archive at <a href="http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List" target="_blank">http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List</a> before posting!<br>
&gt;<br>
&gt; * Can&#39;t post? Read <a href="http://www.gromacs.org/Support/Mailing_Lists" target="_blank">http://www.gromacs.org/Support/Mailing_Lists</a><br>
&gt;<br>
&gt; * For (un)subscribe requests visit<br>
&gt; <a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers" target="_blank">https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers</a> or send a mail to <a href="mailto:gmx-developers-request@gromacs.org">gmx-developers-request@gromacs.org</a>.<br>
<br>
<br>
</span>--<br>
Dr. Carsten Kutzner<br>
Max Planck Institute for Biophysical Chemistry<br>
Theoretical and Computational Biophysics<br>
Am Fassberg 11, 37077 Goettingen, Germany<br>
Tel. <a href="tel:%2B49-551-2012313" value="+495512012313">+49-551-2012313</a>, Fax: <a href="tel:%2B49-551-2012302" value="+495512012302">+49-551-2012302</a><br>
<a href="http://www.mpibpc.mpg.de/grubmueller/kutzner" target="_blank">http://www.mpibpc.mpg.de/grubmueller/kutzner</a><br>
<a href="http://www.mpibpc.mpg.de/grubmueller/sppexa" target="_blank">http://www.mpibpc.mpg.de/grubmueller/sppexa</a><br>
<div class="HOEnZb"><div class="h5"><br>
--<br>
Gromacs Developers mailing list<br>
<br>
* Please search the archive at <a href="http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List" target="_blank">http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List</a> before posting!<br>
<br>
* Can&#39;t post? Read <a href="http://www.gromacs.org/Support/Mailing_Lists" target="_blank">http://www.gromacs.org/Support/Mailing_Lists</a><br>
<br>
* For (un)subscribe requests visit<br>
<a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers" target="_blank">https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers</a> or send a mail to <a href="mailto:gmx-developers-request@gromacs.org">gmx-developers-request@gromacs.org</a>.<br>
</div></div></blockquote></div><br></div></div>