Re: [AMBER-Developers] GTI merge into master branch

From: Darrin Y <darrinmyork.gmail.com>
Date: Thu, 25 Jan 2018 07:20:45 -0500

Jamie - thanks!

On Thu, Jan 25, 2018 at 3:20 AM, Jamie Smith <
jsmith.crackofdawn.onmicrosoft.com> wrote:

> Hello all,
>
> just wanted to let you know, I have now added support for GTI to the CMake
> build system. The new PMEMD source files are now added to CMake, and the
> build works again. Also, it took some work (including finding and working
> around a previously undocumented bug in CMake's CUDA code), but you can now
> enable GTI with the "-DGTI=TRUE" option.
>
> Happy building,
> Jamie
>
> -----Original Message-----
> From: Darrin Y [mailto:darrinmyork.gmail.com]
> Sent: Wednesday, January 24, 2018 8:48 AM
> To: amber-developers.ambermd.org
> Subject: [AMBER-Developers] GTI merge into master branch
>
> Hi everyone,
>
> We have merged our GPU-accelerated free energy code (GTI)
> into the master branch so that both GTI and AFE can share the same code
> base and be more easily compared.
>
> The GTI method was published last year as a patch to AMBER 16:
> http://pubs.acs.org/doi/abs/10.1021/acs.jctc.7b00102
>
> Here are our latest updates and we would like to have feedback from all
> developers. To compile the master branch for GTI, simply ./configure with
> the "-gti" flag included.
>
> A couple of noteworthy points about functionality that I hope the
> community finds useful include:
>
> Co-existence of GTI and AFE methods in one code base (see details below).
>
> For GTI code:
>
> Compatibility with free energy methods:
>
> - TI including output for all softcore lambda derivatives
> - BAR & MBAR output
>
> Compatibility with multiple ensembles:
>
> - NVE (including netfrc = 0 or 1 options to remove net force - although
> currently defaults are different for CPU and GPU)
> - NVT (both Benerdsen & Langevin: ntt=1 & 3)
> - NPT (both Berendsen & MC: barostat=1 & 2)
>
> Compatibility with Kennie & Penfei's' 12-6-4 potentials (hopefully helps
> to resolve some of the discussion in recent threads):
>
> - MD
> - TI
> - BAR & MBAR
>
> Compatibility with REMD:
>
> - HREMD between different lambda windows
>
> *Major program changes—for cuda developers*
>
> 1. *all (GTI & AFE)*
>
> The cSim and gpuContext objects are now wrapped as base classes. All
> variable definitions and initializations are done in base_gpuCpntext.{h,
> cpp} and base_simulationConst.{h, cpp}.
>
> 1. *Configured with –gti flag:*
>
>
> 1. The current pmemd.cuda is compiled as a combination of several
> compiled cuda units. All units need to keep their own copy of cSim and
> that means ~10 copies of cSim are in the program at the same time and
> they
> need to share the GPU constant memory (64KB). *As a result, cSim is
> limited to size of ~5KB*. Furthermore, any change in cSim on the host
> needs to be passed to all copies of cSim’s on GPU.
>
> With –gti configured, the cuda kernels are compiled as portable units and
> linked as one cuda unit—hence there is only one copy of cSim at runtime.
> *The cSim now has the size limit of ~64KB. *And copying cSim from host to
> GPU only needs to be done once. Hence, developers will be able to start
> putting much more things into cSim.
>
> 1. The gpu context object is a local variable created in the heap space
> (gpu = new _gpuContext;). With –gti configured. It is now handled as a
> singleton object and can be accessed from anywhere by
>
> “gpu = theGPUContext::GetPointer(); “
>
> *Test results*
>
> We added 36 new test cases, including:
>
> - single Na+ ion (de-charging)
> - single ligand mutation in water box
> - single ligand mutation in protein environment
> - 12-6-4 test cases
>
> All are with NVE, NVT, and NPT conditions, as well as copies of original
> AFE cases (see below). They are under ~test/cuda/gti
>
> Here are DPFP test results on a Quadro P100.
>
> *With -gti flag, i.e., using GTI *
>
> With -gti turned on (i.e., configured with), test_cuda_serial.sh gave:
>
> - 197 file comparisons passed
> - 8 file comparisons failed
> - 0 tests experienced errors
>
> The “file comparison failed” are all AFE test cases. By examining the
> results, GTI and AFE delivers the same dV/dl values. However, AFE does not
> at this point seem to output softcore lambda derivatives (including the
> baselines) like the CPU code does, and as a result GTI fails to pass these
> cases. We have added duplicated test cases that contain this output as
> part of GTI test cases. When NOT configured with the -gti flag, the new
> GTI test cases are ignored.
>
> Please take a look at the “-gti” configured code and let us know of any
> problems: especially with respect to proper compatibility with the AFE code
> - for example, if we need to modify some parts so that the “#ifdef GTI”
> can effectively distinguish the AFE and the GTI implementations. At the
> moment, we find no problems - all AFE tests are passed when –gti is not
> configured.
>
> We hope this merge helps us to be able to do more comprehensive
> side-by-side tests, and move forward together with the most stable,
> efficient, and robust implementation.
>
> best wishes,
> Taisung & Darrin
>
> Laboratory for Biomolecular Simulation Research, Rutgers University
>
> --
> ======================================================================
> Darrin M. York : Henry Rutgers University Professor
> : Director, Cyberlearning
> Center for Integrative Proteomics : Innovation & Research Center
> Research and Department of : Director, Laboratory for
> Chemistry & Chemical Biology : Biomolecular Simulation Research
> :
> Rutgers, the State University : Darrin.York.rutgers.edu
> of New Jersey : fax: +1-732-445-4320
> 174 Frelinghuysen Road : phone: +1-848-445-5199
> Piscataway, NJ 08854 USA : http://theory.rutgers.edu
> ======================================================================
> _______________________________________________
> AMBER-Developers mailing list
> AMBER-Developers.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber-developers
> _______________________________________________
> AMBER-Developers mailing list
> AMBER-Developers.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber-developers
>
_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Thu Jan 25 2018 - 04:30:02 PST
Custom Search