[gmx-developers] Verlet-Tables integration

David van der Spoel spoel at xray.bmc.uu.se
Fri Nov 16 19:58:56 CET 2018


Den 2018-11-14 kl. 15:04, skrev Erik Lindahl:
> ... and for the low-level table code we (or somebody else :-) still need 
> to sit down and work through the math how we should specify tolerances 
> (that are used to set spacing) for arbitrary cases where the tabulated 
> function or its derivative has a zero-value in the relevant range.

Not sure I understand the question? The spacing is an absolute quantity, 
right? Are you worried about the relative error which may go up in case 
force or energies get close to zero? Does the relative error influence 
the physics?

Speaking of wish-lists, it would be great to get rid of the invsqrt in 
innerloops to allow zero distances as well.

> 
> Cheers,
> 
> Erik
> 
> On Wed, Nov 14, 2018 at 2:12 AM Berk Hess <hess at kth.se 
> <mailto:hess at kth.se>> wrote:
> 
>     Hi,
> 
>     I don't really think we need a usecase, but more people motivated to
>     work on it.
> 
>     We have delayed the work also because we are waiting for a new
>     non-bonded kernel structure. But we just as well start without that,
>     since it will not take much work to port the additional tabulated
>     kernels to a new framework.
> 
>     What is a dependency is a selecting the table index based on atom
>     type (pairs). We want to get rid of the (mis)use of energy groups
>     for this purpose in the group scheme.
> 
>     Cheers,
> 
>     Berk
> 
>     On 13/11/2018 23.53, Mark Abraham wrote:
>>     Hi,
>>
>>     Not much has happened. I did some basic cleanup, and Erik has
>>     worked on some table classes in src/gromacs/tables. Alfredo has
>>     some old GPU kernels buried somewhere on Gerrit.
>>
>>     It would be good to identify a use case that someone has interest
>>     in to e.g. contribute coding time, test cases, design idea
>>     sounding board. AFAIK none of the GROMACS core developers uses
>>     this feature, so their priorities tend to align elsewhere.
>>     However, we know it's useful to people, so we'd like to find a
>>     group that can work together to make it happen!
>>
>>     Some of those dot points are a bit out of date, but the general
>>     list of things to do is about right.
>>
>>     Mark
>>
>>     On Tue, Nov 13, 2018 at 3:48 PM Adriaan Riet
>>     <adriaan.riet at case.edu <mailto:adriaan.riet at case.edu>> wrote:
>>
>>         Hello everyone,
>>
>>         I know that Feature #1347 talks about the necessary steps to
>>         get tables into Verlet (pasted below). I'm curious to know
>>         where this sits. I'm happy to contribute where (if) I can, but
>>         don't see clearly where to jump in. Have the points of the
>>         list been integrated into redmine feature requests? Have any
>>         of these been implemented yet?
>>
>>         Thanks,
>>         Adriaan Riet
>>
>>         Things to do (roughly in order):
>>
>>           * support regressiontests being able to read tables from
>>             grompp or mdrun, so that new functionality in the code
>>             doesn't need matching changes to the other repo for valid
>>             testing in the few cases where they use tables
>>             (|*CSTab*| in group-scheme kernels)
>>           * add integration tests, e.g. a Martini-style(?) non-bonded,
>>             and several kinds of bonded interactions
>>           * extract code from mdlib (particularly init_forcerec) so
>>             that it is callable at grompp time, make sure grompp can
>>             issue all notes and warnings, permit mdrun to repeat any
>>             of those that it might need to. Keep code for making
>>             hardware-specific layout decisions in mdrun, because we
>>             won't know whether the kernels need tables for CPUs or
>>             GPUs until then. If we can do it without significant loss
>>             of accuracy, grompp should handle any regularization of
>>             the user input (e.g. by constructing and testing CPU and
>>             GPU tables, if necessary).
>>           * move e.g. dihedral-interaction table reading to grompp,
>>             bump .tpr version, write to .tpr, read in mdrun, add
>>             infrastructure to support gmx check and gmx dump on new
>>             .tpr contents
>>           * move angle- and bond-interaction table reading to grompp,
>>             probably another .tpr version bump
>>           * move short-range interaction tables to grompp for group scheme
>>           * extend |[pairs]| to permit atom-type pairs to use an
>>             interaction shape read from a table, e.g. from a file
>>             named on that line of the topology. Should we have a
>>             per-pair-type scaling parameter? Requirements for
>>             simulations that use only user tables, and those that mix
>>             user tables with normal short-ranged interaction types
>>             probably differ.
>>           * add Verlet-scheme table-support infrastructure
>>           * add CPU kernels (hopefully in new scheme)
>>           * add GPU kernels (recycle from Alfredo's patch in gerrit)
>>           * after some time passes and master branch rebases enough,
>>             remove workaround from regressiontests (which is anyway
>>             only needed for group-scheme kernel testing)
>>
>>         -- 
>>         Gromacs Developers mailing list
>>
>>         * Please search the archive at
>>         http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List
>>         before posting!
>>
>>         * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>
>>         * For (un)subscribe requests visit
>>         https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers
>>         or send a mail to gmx-developers-request at gromacs.org
>>         <mailto:gmx-developers-request at gromacs.org>.
>>
>>
> 
>     -- 
>     Gromacs Developers mailing list
> 
>     * Please search the archive at
>     http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List
>     before posting!
> 
>     * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> 
>     * For (un)subscribe requests visit
>     https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers
>     or send a mail to gmx-developers-request at gromacs.org
>     <mailto:gmx-developers-request at gromacs.org>.
> 
> 
> 
> -- 
> Erik Lindahl <erik.lindahl at dbb.su.se <mailto:erik.lindahl at dbb.su.se>>
> Professor of Biophysics, Dept. Biochemistry & Biophysics, Stockholm 
> University
> Science for Life Laboratory, Box 1031, 17121 Solna, Sweden
> 


-- 
David van der Spoel, Ph.D., Professor of Biology
Head of Department, Cell & Molecular Biology, Uppsala University.
Box 596, SE-75124 Uppsala, Sweden. Phone: +46184714205.
http://www.icm.uu.se


More information about the gromacs.org_gmx-developers mailing list