Re: [AMBER] Amber 16.12 and 12-6-4 force field Problem

From: Pengfei Li <ambermailpengfei.gmail.com>
Date: Sat, 13 Jan 2018 20:40:07 -0600

Hi Guanglin (and others),

First, thank you for interested in using 12-6-4. However, I have to clarify the issue to you and also to other AMBER users or developers.

The 12-6-4 potential was proposed in 2013 by me and my former advisor Prof. Kennie Merz. And then AMBER began to support the CPU simulations about 12-6-4 from Amber14. Unfortunately, the GPU version of AMBER - pmemd.cuda has never supported 12-6-4 potential, even up to now. We have specify this (that 12-6-4 is not supported by pmemd.cuda) in all the Amber manuals from Amber14. Please see Page 314 of Amber14 manual: http://ambermd.org/doc12/Amber14.pdf <http://ambermd.org/doc12/Amber14.pdf>, Page 350 in the AMBER 2015 manual: http://ambermd.org/doc12/Amber16.pdf <http://ambermd.org/doc12/Amber16.pdf>, Page 360 in the AMBER 2016 manual: http://ambermd.org/doc12/Amber16.pdf <http://ambermd.org/doc12/Amber16.pdf>, and the Page 369 in the AMBER 2017 manual: http://ambermd.org/doc12/Amber16.pdf <http://ambermd.org/doc12/Amber16.pdf>.

I understand that support 12-6-4 simulation in GPU is an significant step for making it have more users, but since I am not familiar with CUDA codes, I was not able to add this function into pmemd.cuda. Later on Jason Swails, another AMBER developer, told me that it would be good to make the code raise an error when users try to use the 12-6-4 potential in pmemd.cuda, in order to prevent tragedy happening - like some people did not notice the information in the manual (that 12-6-4 is not supported by pmemd.cuda) but perform 12-6-4 simulations with pmemd.cuda. Then he helped me add a couple of lines in the code about this issue. That is why the pmemd.cuda code in recent versions will raise an error when you trying to use 12-6-4 in it but in former versions it will not raise an error.

There is usually not a flat road for scientific research, and so it is for the software development. We really tried to prevent the tragedies happen even it may not prevent all of them. I am sorry to hear that you may waste a lot of time for doing 12-6-4 simulations with pmemd.cuda. If so, I should be honest about these results that they are not 12-6-4 but 12-6 because the C4 terms will be ignored in these simulations.

However, I also have to clarify that the CPU versions of AMBER, not matter sander or pmemd, no matter the serial or MPI versions, they well support the 12-6-4 simulations. And we have a test about this issue (under the $AMBERHOME/test/lj_12-6-4/ directory). If you perform the tests about Amber or/and AmberTools, no matter serial or parallel CPU versions, there should be “cd lj_12-6-4 && ./Run.12-6-4” contained in the test log files which are under the subdirectories under the $AMBERHOME/logs/ directory. So for people who performed 12-6-4 simulations with the CPU version of AMBER, you *DO NOT* have to worry about this issue.

To my knowledge, only OpenMM supports doing 12-6-4 simulations with GPU now. Jason has added this function into OpenMM and I really appreciate his work. And if you want to perform GPU simulations with 12-6-4 potentials, I would like to suggest you to use OpenMM. And if you need any help about this, please feel free to let me know.

I hope this email clarifies the issue.

Kind regards,
Pengfei

> On Jan 13, 2018, at 2:10 PM, Ross Walker <ross.rosswalker.co.uk> wrote:
>
> Hi Guanglin,
>
> Yes, your simulations using Amber 16.05 are incorrect - the 12-6-4 potentials would have been ignored and so the results are not reliable and should be published. The 12-6-4 potential has never been supported by the GPU code and still isn't. It was the responsibility of the person who added 12-6-4 support to pmemd to also add traps to make sure other parts of code that did not support their potential would quit if one tried to use it. Unfortunately they did not do that, nor was there a warning added to the tutorial that GPU support was not present and so unfortunately a number of people will have unwittingly run simulations believing they were using the 12-6-4 parameters. The trap was added in the latest update when the omission was spotted.
>
> Such failures should serve as a warning to anyone adding features to scientific codes where they are not writing comprehensive support - you run the risk of wasting lots of people's time and, in some cases causing people to have to retract papers. It is firmly the responsibility of the person adding the new methodology to properly deal with this.
>
> In terms of running the 12-6-4 potentials with the GPU code this requires someone to write, test, optimize and validate the code to support this. I have brought this up multiple times but nobody seems to want to volunteer to do it. As such at present the 12-6-4 potential is only available in the CPU code, and in my opinion this should be made clear in anything that references the 12-6-4 potential until such a time that it is supported.
>
> I would also note that any papers published that used the 12-6-4 potential and relied on the PMEMD GPU code should be retracted.
>
> All the best
> Ross
>
>> On Jan 11, 2018, at 22:01, Guanglin Kuang <guanglin.kth.se> wrote:
>>
>> Hi David,
>>
>> I'm afraid I don't fully get your points.
>>
>> When I follow the instructions on "http://ambermd.org/tutorials/advanced/tutorial20/12_6_4.htm", the same simulation can run on Amber 16.05, but it failed on Amber 16.12.
>>
>> If 12-6-4 potentials are not supported in the CUDA code, are the results produced by Amber 16.05 with CUDA GPU for a system containing these potentials problematic and not reasonable at all? If not, how can we make it run on Amber 16.12?
>>
>> Thanks!
>> Best regards,
>> Guanglin
>>
>>
>> ________________________________________
>> From: David Cerutti <dscerutti.gmail.com>
>> Sent: Friday, January 12, 2018 6:11 AM
>> To: AMBER Mailing List
>> Subject: Re: [AMBER] Amber 16.12 and 12-6-4 force field Problem
>>
>> We've just had another discussion about this problem. The problem is that
>> there was never any support for 12-6-4 potentials in the CUDA code, so you
>> haven't lost any functionality. The bug was that the code was still
>> allowing you to run topologies containing those parameters without actually
>> changing the potential at all, so you might have thought that they were
>> part of the simulation even though they weren't.
>>
>> On Thu, Jan 11, 2018 at 9:49 PM, Guanglin Kuang <guanglin.kth.se> wrote:
>>
>>> ?
>>>
>>> Dear Amber Users,
>>>
>>>
>>> I just updated Amber 16.05 and AmberTools 16.13 to the latest Amber 16.12
>>> and AmberTools 17.08.
>>>
>>>
>>> Now the 12-6-4 force field parameters for ions seem to be not supported in
>>> Amber 16.12, with the following error in the output file:
>>>
>>> CUDA (GPU): Implementation does not support 12-6-4 LJ potential.
>>> The topology contains 12-6-4 coefficients and must be changed.
>>>
>>> Input errors occurred. Terminating execution.
>>>
>>> Anyone encounter this problem and any solutions?
>>>
>>> Thank you!
>>> Best regards,
>>> Guanglin?
>>>
>>>
>>>
>>> _______________________________________________
>>> AMBER mailing list
>>> AMBER.ambermd.org
>>> http://lists.ambermd.org/mailman/listinfo/amber
>>>
>> _______________________________________________
>> AMBER mailing list
>> AMBER.ambermd.org
>> http://lists.ambermd.org/mailman/listinfo/amber
>>
>> _______________________________________________
>> AMBER mailing list
>> AMBER.ambermd.org
>> http://lists.ambermd.org/mailman/listinfo/amber
>
>
> _______________________________________________
> AMBER mailing list
> AMBER.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber

_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Sat Jan 13 2018 - 19:00:03 PST
Custom Search