Fortran 90/95 is a big improvement over any fortran you would have used in 
1987.  Still a stone ax in a number of ways, but mostly in ways that someone 
like myself would find annoying...  Allocation is simple; you just use the 
allocate() and deallocate() statements.  Plenty of examples in pmemd.  For 
stuff that is invariant, I do it at setup.  For stuff that changes with 
time, I reevaluate as needed and deallocate/reallocate.  You generally don't 
want to be fragmenting the heap with a continuous stream of small 
allocations/deallocations, so it is good to think about what you are doing a 
bit.  I also like to use dynamic arrays on the stack (all you do is declare 
the array as a variable in a subroutine and dimension it by input parameters 
to the subroutine), though this can cause grief on systems where the 
stacksize has a low limit (fixable by sysadmin, but still a hassle).  You 
can actually improve cache utilization by extensive use of stack storage in 
the right context, where you have different sets of temporary arrays in use 
at different times.  Anyway, the dynamic memory alloc I do in pmemd is 
pretty simple and efficient, so it is a "not bad" example.  Sander still has 
it's own stack architecture for dynamic memory; while this was a great 
bridge allowing us to size data structures as needed in the pre-f90 days, it 
would be probably fair to say it is overly complex and error prone (no 
offense intended; it was a good bridge).
Best Regards - Bob
----- Original Message ----- 
From: "Lachele Foley" <lfoley.ccrc.uga.edu>
To: <amber-developers.scripps.edu>
Sent: Tuesday, November 11, 2008 9:41 AM
Subject: Re: amber-developers: Extra Points Calculation
>> understand the exact storage requirement, and get data organized in such 
>> a
>> manner as to increase cache utilization
>
> Yes.  Good idea.  Of course.  I'm all for efficient resource use.  I was 
> wondering how hard it would be to implement a dynamic sort of allocation 
> in this situation.  Seems it ought to be possible, but my last significant 
> fortran was back in... oh... 1987, and there wasn't much of it even then.
>
>> but if someone wants to shoot me a
>> copy of the runfiles, I will see what it does in pmemd.
>
> Will do, in just a moment.
>
> :-) Lachele
> --
> B. Lachele Foley, PhD '92,'02
> Assistant Research Scientist
> Complex Carbohydrate Research Center, UGA
> 706-542-0263
> lfoley.ccrc.uga.edu
>
>
> ----- Original Message -----
> From: Robert Duke
> [mailto:rduke.email.unc.edu]
> To: amber-developers.scripps.edu
> Sent: Tue, 11
> Nov 2008 08:50:49 -0500
> Subject: Re: amber-developers: Extra Points
> Calculation
>
>
> [snip]
>>
>> ----- Original Message ----- 
>> From: "David A. Case" <case.biomaps.rutgers.edu>
>> To: <amber-developers.scripps.edu>
>> Sent: Tuesday, November 11, 2008 7:08 AM
>> Subject: Re: amber-developers: Extra Points Calculation
>>
>>
>> > On Mon, Nov 10, 2008, Volodymyr Babin wrote:
>> >>
>> >> please see the patch for cvs sander attached. Does it
>> >> look harmless enough to be committed?
>> >
>> > Does it solve Lachele's problem (the sucrose_EP test case)?  As far as 
>> > I
>> > can
>> > see, that example does not include any "LP" atoms, and I don't think we
>> > should
>> > be expanding to that...my recollection was that "LP" atoms (still found 
>> > in
>> > some old parameter/topology files) were *not* treated as extra points, 
>> > but
>>
>> > as
>> > real atoms.
>> >
>> > I tried to expand the size of max14 (not as much as you did), and was
>> > still
>> > getting segfaults on Lachele's example.  But it is great if your fix
>> > works.
>> >
>> > ...dac
>> >
>> >
>>
>>
> 
Received on Fri Dec 05 2008 - 14:26:37 PST