Re: Minimization failing on one machine only

From: David Hardy (dhardy_at_ks.uiuc.edu)
Date: Fri Oct 21 2016 - 15:16:47 CDT

The problems with the CUDA version not minimizing properly might be due to the use of single precision. Generally speaking, optimization procedures require greater precision than numerical integration.

To address your followup question, NAMD expects one of the commands temperature, velocities, or binvelocities to be defined in the config file. However, minimization does not depend on temperature (since you aren't doing dynamics, velocity doesn't matter). Does it matter to the code what value you use? Perhaps, if some sort of initial parameter checking is taking place. You could just set temperature to 0 in your minimization-only script.

Dave

--
David J. Hardy, Ph.D.
Theoretical and Computational Biophysics
Beckman Institute, University of Illinois
dhardy_at_ks.uiuc.edu
http://www.ks.uiuc.edu/~dhardy/
> On Oct 21, 2016, at 2:11 PM, Chris Goedde <chris.goedde_at_gmail.com> wrote:
> 
> Thanks, that certainly seems to be true in my case. I downloaded the non-CUDA binary, and that correctly minimized the system.
> 
> Just a question to follow up. I’m modifying my scripts to make the minimization process a separate step (using the non-CUDA binary for minimization, and the CUDA-enabled binary for the rest of the simulation).
> 
> It seems that a “temperature” command is needed in the namd configuration file even if there is no run command (only a minimize command). Does the minimization actually depend on the temperature? If not, does it matter what value I use for the temperature if all I’m doing is minimizing the system?
> 
> Thanks.
> 
> Chris
> 
>> On Oct 15, 2016, at 1:50 AM, Ajasja Ljubetič <ajasja.ljubetic_at_gmail.com> wrote:
>> 
>> Hi!
>> 
>> Try to run a non-CUDA NAMD on the linux box, so
>> NAMD 2.11 for Linux-x86_64-multicore
>> 
>> I remember I used to have similar problems with CUDA not minimizing in certain circumstances.
>> 
>> Best,
>> Ajasja
>> 
>> On 14 October 2016 at 22:34, Chris Goedde <chris.goedde_at_gmail.com> wrote:
>> Hi all,
>> 
>> Why might a system that minimizes successfully on one machine fail on a different machine?
>> 
>> The two machines are an iMac and and linux box. The linux box has an Nvidia GPU in it. The versions of namd are (from the log file):
>> 
>> NAMD 2.11 for MacOSX-x86_64-multicore
>> NAMD 2.11 for Linux-x86_64-multicore-CUDA
>> 
>> All input files (conf, pdb, psf, etc) are *identical* for the two machines. (Checked with diff.)
>> 
>> On the mac, namd is called as:
>> 
>> namd2 +p4 +isomalloc_sync run.conf > run.log &
>> 
>> On the linux box, it’s
>> 
>> namd2 +p16 +isomalloc_sync run.conf > run.log &
>> 
>> On the mac the system minimizes correctly, relaxing from the initial configuration to the expected minimum energy state. On the linux box, the system never minimizes (configuration doesn’t appreciably change), and in the log file I see:
>> 
>> MINIMIZER RESTARTING CONJUGATE GRADIENT ALGORITHM
>> 
>> interspersed throughout the minimization process. Of course I don’t see this at all in the log files from the mac.
>> 
>> The system is fairly simple, just water and carbon nanotubes; I don’t think the trouble is that the initial state is badly configured. But, if I wanted to troubleshoot the minimization process, I’m not sure what exactly to look for.
>> 
>> I don’t see what I’m doing wrong (or what’s happening differently on the two machines, other than the different versions of namd). Any suggestions appreciated; I’m really stuck here as to what’s happening.
>> 
>> Thanks!
>> 
>> Chris Goedde
>> 
>> 
>> 
> 

This archive was generated by hypermail 2.1.6 : Tue Dec 27 2016 - 23:22:32 CST