[gmx-users] >60% slowdown with GPU / verlet and sd integrator

James Starlight jmsstarlight at gmail.com
Thu Jan 17 15:48:17 CET 2013


Dear Gromacs Developers!

Using sd1 integrator I've obtain good performance with the core-5 +
GTX 670 ( 13ns\per day) for the system of 60k atoms. That results on
30% better than with the sd integrator.

Buit on my another work-station  which differs only by slower GPU ( GT
640). I've obtained some gpu\cpu mis-match.

 Force evaluation time GPU/CPU: 6.835 ms/2.026 ms = 3.373    ( # on
the first station with GTX 670 I ve obtained GPU/CPU: ratio close to
1.

At both cases I'm using the same simulation parameters with 0,8
cutoffs (it's also important that in the second case I've calculated
another system consisted of 33k atoms by means of umbrella sampling
pulling)). Could you tell me how I could increase performance on my
second station ( to reduce gpucpu ratio) ?  I've attached log for that
simulation here http://www.sendspace.com/file/x0e3z8

James

2013/1/17 Szilárd Páll <szilard.pall at cbr.su.se>:
> Hi,
>
> Just to note for the users who might read this: the report is valid, some
> non-thread-parallel code is the reason and we hope to have a fix for 4.6.0.
>
> For updates, follow the issue #1211.
>
> Cheers,
>
> --
> Szilárd
>
>
> On Wed, Jan 16, 2013 at 4:45 PM, Berk Hess <gmx3 at hotmail.com> wrote:
>
>>
>> The issue I'm referring to is about a factor of 2 in update and
>> constraints, but here it's much more.
>> I just found out that the SD update is not OpenMP threaded (and I even
>> noted in the code why this is).
>> I reopened the issue and will find a solution.
>>
>> Cheers.
>>
>> Berk
>>
>> ----------------------------------------
>> > Date: Wed, 16 Jan 2013 16:20:32 +0100
>> > Subject: Re: [gmx-users] >60% slowdown with GPU / verlet and sd
>> integrator
>> > From: mark.j.abraham at gmail.com
>> > To: gmx-users at gromacs.org
>> >
>> > We should probably note this effect on the wiki somewhere?
>> >
>> > Mark
>> >
>> > On Wed, Jan 16, 2013 at 3:44 PM, Berk Hess <gmx3 at hotmail.com> wrote:
>> >
>> > >
>> > > Hi,
>> > >
>> > > Unfortunately this is not a bug, but a feature!
>> > > We made the non-bondeds so fast on the GPU that integration and
>> > > constraints take more time.
>> > > The sd1 integrator is almost as fast as the md integrator, but slightly
>> > > less accurate.
>> > > In most cases that's a good solution.
>> > >
>> > > I closed the redmine issue:
>> > > http://redmine.gromacs.org/issues/1121
>> > >
>> > > Cheers,
>> > >
>> > > Berk
>> > >
>> > > ----------------------------------------
>> > > > Date: Wed, 16 Jan 2013 17:26:18 +0300
>> > > > Subject: Re: [gmx-users] >60% slowdown with GPU / verlet and sd
>> > > integrator
>> > > > From: jmsstarlight at gmail.com
>> > > > To: gmx-users at gromacs.org
>> > > >
>> > > > Hi all!
>> > > >
>> > > > I've also done some calculations with the SD integraator used as the
>> > > > thermostat ( without t_coupl ) with the system of 65k atoms I
>> obtained
>> > > > 10ns\day performance on gtc 670 and 4th core i5.
>> > > > I haventrun any simulations with MD integrator yet so It should test
>> it.
>> > > >
>> > > > James
>> > > >
>> > > > 2013/1/15 Szilárd Páll <szilard.pall at cbr.su.se>:
>> > > > > Hi Floris,
>> > > > >
>> > > > > Great feedback, this needs to be looked into. Could you please
>> file a
>> > > bug
>> > > > > report, preferably with a tpr (and/or all inputs) as well as log
>> files.
>> > > > >
>> > > > > Thanks,
>> > > > >
>> > > > > --
>> > > > > Szilárd
>> > > > >
>> > > > >
>> > > > > On Tue, Jan 15, 2013 at 3:50 AM, Floris Buelens <
>> > > floris_buelens at yahoo.com>wrote:
>> > > > >
>> > > > >> Hi,
>> > > > >>
>> > > > >>
>> > > > >> I'm seeing MD simulation running a lot slower with the sd
>> integrator
>> > > than
>> > > > >> with md - ca. 10 vs. 30 ns/day for my 47000 atom system. I found
>> no
>> > > > >> documented indication that this should be the case.
>> > > > >> Timings and logs pasted in below - wall time seems to be
>> accumulating
>> > > up
>> > > > >> in Update and Rest, adding up to >60% of total. The effect is
>> still
>> > > there
>> > > > >> without GPU, ca. 40% slowdown when switching from group to Verlet
>> > > with the
>> > > > >> SD integrator
>> > > > >> System: Xeon E5-1620, 1x GTX 680, gromacs
>> > > > >> 4.6-beta3-dev-20130107-e66851a-unknown, GCC 4.4.6 and 4.7.0
>> > > > >>
>> > > > >> I didn't file a bug report yet as I don't have much variety of
>> testing
>> > > > >> conditions available right now, I hope someone else has a moment
>> to
>> > > try to
>> > > > >> reproduce?
>> > > > >>
>> > > > >> Timings:
>> > > > >>
>> > > > >> cpu (ns/day)
>> > > > >> sd / verlet: 6
>> > > > >> sd / group: 10
>> > > > >> md / verlet: 9.2
>> > > > >> md / group: 11.4
>> > > > >>
>> > > > >> gpu (ns/day)
>> > > > >> sd / verlet: 11
>> > > > >> md / verlet: 29.8
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >> **************MD integrator, GPU / verlet
>> > > > >>
>> > > > >> M E G A - F L O P S A C C O U N T I N G
>> > > > >>
>> > > > >> NB=Group-cutoff nonbonded kernels NxN=N-by-N cluster Verlet
>> kernels
>> > > > >> RF=Reaction-Field VdW=Van der Waals QSTab=quadratic-spline table
>> > > > >> W3=SPC/TIP3p W4=TIP4p (single or pairs)
>> > > > >> V&F=Potential and force V=Potential only F=Force only
>> > > > >>
>> > > > >> Computing: M-Number M-Flops % Flops
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> Pair Search distance check 1244.988096 11204.893 0.1
>> > > > >> NxN QSTab Elec. + VdW [F] 194846.615488 7988711.235 91.9
>> > > > >> NxN QSTab Elec. + VdW [V&F] 2009.923008 118585.457 1.4
>> > > > >> 1,4 nonbonded interactions 31.616322 2845.469 0.0
>> > > > >> Calc Weights 703.010574 25308.381 0.3
>> > > > >> Spread Q Bspline 14997.558912 29995.118 0.3
>> > > > >> Gather F Bspline 14997.558912 89985.353 1.0
>> > > > >> 3D-FFT 47658.567884 381268.543 4.4
>> > > > >> Solve PME 20.580896 1317.177 0.0
>> > > > >> Shift-X 9.418458 56.511 0.0
>> > > > >> Angles 21.879375 3675.735 0.0
>> > > > >> Propers 48.599718 11129.335 0.1
>> > > > >> Virial 23.498403 422.971 0.0
>> > > > >> Stop-CM 2.436616 24.366 0.0
>> > > > >> Calc-Ekin 93.809716 2532.862 0.0
>> > > > >> Lincs 12.147284 728.837 0.0
>> > > > >> Lincs-Mat 131.328750 525.315 0.0
>> > > > >> Constraint-V 246.633614 1973.069 0.0
>> > > > >> Constraint-Vir 23.486379 563.673 0.0
>> > > > >> Settle 74.129451 23943.813 0.3
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> Total 8694798.114 100.0
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >>
>> > > > >>
>> > > > >> R E A L C Y C L E A N D T I M E A C C O U N T I N G
>> > > > >>
>> > > > >> Computing: Nodes Th. Count Wall t (s) G-Cycles %
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> Neighbor search 1 8 201 0.944 27.206 3.3
>> > > > >> Launch GPU ops. 1 8 5001 0.371 10.690 1.3
>> > > > >> Force 1 8 5001 2.185 62.987 7.7
>> > > > >> PME mesh 1 8 5001 15.033 433.441 52.9
>> > > > >> Wait GPU local 1 8 5001 1.551 44.719 5.5
>> > > > >> NB X/F buffer ops. 1 8 9801 0.538 15.499 1.9
>> > > > >> Write traj. 1 8 2 0.725 20.912 2.6
>> > > > >> Update 1 8 5001 2.318 66.826 8.2
>> > > > >> Constraints 1 8 5001 2.898 83.551 10.2
>> > > > >> Rest 1 1.832 52.828 6.5
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> Total 1 28.394 818.659 100.0
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> PME spread/gather 1 8 10002 8.745 252.144 30.8
>> > > > >> PME 3D-FFT 1 8 10002 5.392 155.458 19.0
>> > > > >> PME solve 1 8 5001 0.869 25.069 3.1
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >>
>> > > > >> GPU timings
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> Computing: Count Wall t (s) ms/step %
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> Pair list H2D 201 0.080 0.397 0.4
>> > > > >> X / q H2D 5001 0.698 0.140 3.7
>> > > > >> Nonbonded F kernel 4400 14.856 3.376 79.1
>> > > > >> Nonbonded F+ene k. 400 1.667 4.167 8.9
>> > > > >> Nonbonded F+prune k. 100 0.441 4.407 2.3
>> > > > >> Nonbonded F+ene+prune k. 101 0.535 5.300 2.9
>> > > > >> F D2H 5001 0.501 0.100 2.7
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> Total 18.778 3.755 100.0
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >>
>> > > > >> Force evaluation time GPU/CPU: 3.755 ms/3.443 ms = 1.091
>> > > > >> For optimal performance this ratio should be close to 1!
>> > > > >>
>> > > > >>
>> > > > >> Core t (s) Wall t (s) (%)
>> > > > >> Time: 221.730 28.394 780.9
>> > > > >> (ns/day) (hour/ns)
>> > > > >> Performance: 30.435 0.789
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >> *****************SD integrator, GPU / verlet
>> > > > >>
>> > > > >> M E G A - F L O P S A C C O U N T I N G
>> > > > >>
>> > > > >> NB=Group-cutoff nonbonded kernels NxN=N-by-N cluster Verlet
>> kernels
>> > > > >> RF=Reaction-Field VdW=Van der Waals QSTab=quadratic-spline table
>> > > > >> W3=SPC/TIP3p W4=TIP4p (single or pairs)
>> > > > >> V&F=Potential and force V=Potential only F=Force only
>> > > > >>
>> > > > >> Computing: M-Number M-Flops % Flops
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> Pair Search distance check 1254.604928 11291.444 0.1
>> > > > >> NxN QSTab Elec. + VdW [F] 197273.059584 8088195.443 91.6
>> > > > >> NxN QSTab Elec. + VdW [V&F] 2010.150784 118598.896 1.3
>> > > > >> 1,4 nonbonded interactions 31.616322 2845.469 0.0
>> > > > >> Calc Weights 703.010574 25308.381 0.3
>> > > > >> Spread Q Bspline 14997.558912 29995.118 0.3
>> > > > >> Gather F Bspline 14997.558912 89985.353 1.0
>> > > > >> 3D-FFT 47473.892284 379791.138 4.3
>> > > > >> Solve PME 20.488896 1311.289 0.0
>> > > > >> Shift-X 9.418458 56.511 0.0
>> > > > >> Angles 21.879375 3675.735 0.0
>> > > > >> Propers 48.599718 11129.335 0.1
>> > > > >> Virial 23.498403 422.971 0.0
>> > > > >> Update 234.336858 7264.443 0.1
>> > > > >> Stop-CM 2.436616 24.366 0.0
>> > > > >> Calc-Ekin 93.809716 2532.862 0.0
>> > > > >> Lincs 24.289712 1457.383 0.0
>> > > > >> Lincs-Mat 262.605000 1050.420 0.0
>> > > > >> Constraint-V 246.633614 1973.069 0.0
>> > > > >> Constraint-Vir 23.486379 563.673 0.0
>> > > > >> Settle 148.229268 47878.054 0.5
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> Total 8825351.354 100.0
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >>
>> > > > >>
>> > > > >> R E A L C Y C L E A N D T I M E A C C O U N T I N G
>> > > > >>
>> > > > >> Computing: Nodes Th. Count Wall t (s) G-Cycles %
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> Neighbor search 1 8 201 0.945 27.212 1.2
>> > > > >> Launch GPU ops. 1 8 5001 0.384 11.069 0.5
>> > > > >> Force 1 8 5001 2.180 62.791 2.7
>> > > > >> PME mesh 1 8 5001 15.029 432.967 18.5
>> > > > >> Wait GPU local 1 8 5001 3.327 95.844 4.1
>> > > > >> NB X/F buffer ops. 1 8 9801 0.542 15.628 0.7
>> > > > >> Write traj. 1 8 2 0.749 21.582 0.9
>> > > > >> Update 1 8 5001 28.044 807.908 34.5
>> > > > >> Constraints 1 8 10002 5.562 160.243 6.8
>> > > > >> Rest 1 24.488 705.458 30.1
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> Total 1 81.250 2340.701 100.0
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> PME spread/gather 1 8 10002 8.769 252.615 10.8
>> > > > >> PME 3D-FFT 1 8 10002 5.367 154.630 6.6
>> > > > >> PME solve 1 8 5001 0.865 24.910 1.1
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >>
>> > > > >> GPU timings
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> Computing: Count Wall t (s) ms/step %
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> Pair list H2D 201 0.080 0.398 0.4
>> > > > >> X / q H2D 5001 0.699 0.140 3.4
>> > > > >> Nonbonded F kernel 4400 16.271 3.698 79.6
>> > > > >> Nonbonded F+ene k. 400 1.827 4.568 8.9
>> > > > >> Nonbonded F+prune k. 100 0.482 4.816 2.4
>> > > > >> Nonbonded F+ene+prune k. 101 0.584 5.787 2.9
>> > > > >> F D2H 5001 0.505 0.101 2.5
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >> Total 20.448 4.089 100.0
>> > > > >>
>> > > > >>
>> > >
>> -----------------------------------------------------------------------------
>> > > > >>
>> > > > >> Force evaluation time GPU/CPU: 4.089 ms/3.441 ms = 1.188
>> > > > >> For optimal performance this ratio should be close to 1!
>> > > > >>
>> > > > >> Core t (s) Wall t (s) (%)
>> > > > >> Time: 643.440 81.250 791.9
>> > > > >> (ns/day) (hour/ns)
>> > > > >> Performance: 10.636 2.256
>> > > > >> --
>> > > > >> gmx-users mailing list gmx-users at gromacs.org
>> > > > >> http://lists.gromacs.org/mailman/listinfo/gmx-users
>> > > > >> * Please search the archive at
>> > > > >> http://www.gromacs.org/Support/Mailing_Lists/Search before
>> posting!
>> > > > >> * Please don't post (un)subscribe requests to the list. Use the
>> > > > >> www interface or send it to gmx-users-request at gromacs.org.
>> > > > >> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>> > > > >>
>> > > > > --
>> > > > > gmx-users mailing list gmx-users at gromacs.org
>> > > > > http://lists.gromacs.org/mailman/listinfo/gmx-users
>> > > > > * Please search the archive at
>> > > http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>> > > > > * Please don't post (un)subscribe requests to the list. Use the
>> > > > > www interface or send it to gmx-users-request at gromacs.org.
>> > > > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>> > > > --
>> > > > gmx-users mailing list gmx-users at gromacs.org
>> > > > http://lists.gromacs.org/mailman/listinfo/gmx-users
>> > > > * Please search the archive at
>> > > http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>> > > > * Please don't post (un)subscribe requests to the list. Use the
>> > > > www interface or send it to gmx-users-request at gromacs.org.
>> > > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>> > > --
>> > > gmx-users mailing list gmx-users at gromacs.org
>> > > http://lists.gromacs.org/mailman/listinfo/gmx-users
>> > > * Please search the archive at
>> > > http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>> > > * Please don't post (un)subscribe requests to the list. Use the
>> > > www interface or send it to gmx-users-request at gromacs.org.
>> > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>> > >
>> > --
>> > gmx-users mailing list gmx-users at gromacs.org
>> > http://lists.gromacs.org/mailman/listinfo/gmx-users
>> > * Please search the archive at
>> http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>> > * Please don't post (un)subscribe requests to the list. Use the
>> > www interface or send it to gmx-users-request at gromacs.org.
>> > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>                                           --
>> gmx-users mailing list    gmx-users at gromacs.org
>> http://lists.gromacs.org/mailman/listinfo/gmx-users
>> * Please search the archive at
>> http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>> * Please don't post (un)subscribe requests to the list. Use the
>> www interface or send it to gmx-users-request at gromacs.org.
>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>
> --
> gmx-users mailing list    gmx-users at gromacs.org
> http://lists.gromacs.org/mailman/listinfo/gmx-users
> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
> * Please don't post (un)subscribe requests to the list. Use the
> www interface or send it to gmx-users-request at gromacs.org.
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists



More information about the gromacs.org_gmx-users mailing list