Re: [AMBER-Developers] Help with Makefiles for pmemd.cuda

From: Ross Walker <ross.rosswalker.co.uk>
Date: Thu, 4 Feb 2016 19:58:36 -0800

Awesome - thanks Jason. Testing now.

SPXP is deliberately commented out for now since I have a bunch of code to add - to replace the existing SPXP code and then it needs testing for numerical stability before we let it loose on users.

All the best
Ross

> On Feb 4, 2016, at 19:42, Jason Swails <jason.swails.gmail.com> wrote:
>
> My explanation for what was happening is that it seems like "make" keeps
> track of all of the rules that it executes and satisfies. Since you added
> "cuda_lib_clean" as a prereq rule on 3 separate targets, it would "finish"
> on the first target and make would declare victory and decide it didn't
> need to run again on the other two.
>
> The solution I came up with was to move cuda_lib_clean out of the list of
> dependency targets for each of the programs and instead add a step to each
> of the pmemd.cuda_XPYP rules that was $(MAKE) cuda_lib_clean. This would
> launch a *new* make process targeting that rule, so the current make
> process would have no memory of having completed it. So it would be sure
> to run it every time.
>
> Also, the test build finished again and pmemd.cuda_SPXP still didn't get
> built, but that's because you have the cuda_SPXP rule commented out for
> cuda_serial. So it seems as though that's intentionally omitted.
>
> I haven't looked at the make docs to verify my suspicion, but it's a
> reasonable design optimization given typical uses for make and seems (to
> me) to be the simplest explanation consistent with everything we've seen.
> So I'm reasonably confident this is what was happening.
>
> On Thu, Feb 4, 2016 at 10:33 PM, Jason Swails <jason.swails.gmail.com>
> wrote:
>
>>
>>
>> On Thu, Feb 4, 2016 at 10:26 PM, Jason Swails <jason.swails.gmail.com>
>> wrote:
>>
>>>
>>>
>>> On Thu, Feb 4, 2016 at 10:08 PM, Ross Walker <ross.rosswalker.co.uk>
>>> wrote:
>>>
>>>>
>>>> If you have a moment to take a look at the master and see if you can
>>>> figure out what is causing this still not to work it would be much
>>>> appreciated. I am pulling my hair out with this right now.
>>>>
>>>
>>> ​Fixed in master, I think. Give it a try.
>>>
>>
>> ​Actually it was only building SPFP and DPFP because you spelled SPXP as
>> SPZP in the cuda_serial rule. I'm running the build again now, but I
>> suspect all 3 targets will get built now, and it's passing the correct
>> compiler flags for each precision model. Parallel make works, too,
>> although it's a bit slower than necessary since it has to rebuild every
>> CUDA object every time (and nvcc is the slowest compiler known to man).
>> But it works (for some definitions of 'works')​.
>>
>> --
>> Jason M. Swails
>> BioMaPS,
>> Rutgers University
>> Postdoctoral Researcher
>>
>
>
>
> --
> Jason M. Swails
> BioMaPS,
> Rutgers University
> Postdoctoral Researcher
> _______________________________________________
> 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 Feb 04 2016 - 20:00:05 PST
Custom Search