[gmx-users] Profiling mdrun with GProf

Mark Abraham mark.j.abraham at gmail.com
Tue Nov 17 21:49:59 CET 2015


Hi,

Not that I know of, but Google knows more than I do ;-). The usual reason
for profiling means you want to minimize disturbing the application...

Mark

On Tue, Nov 17, 2015 at 9:43 PM Dave Michael <dm.cid.lab at gmail.com> wrote:

> Hi,
>
> I'll do some digging on that one and get back to you.
> Do you know if there are any other build flags that could help a profiler?
>
> Dave
>
> On Tue, Nov 17, 2015 at 4:36 PM, Mark Abraham <mark.j.abraham at gmail.com>
> wrote:
>
> > Hi,
> >
> > On Tue, Nov 17, 2015 at 2:22 PM Dave Michael <dm.cid.lab at gmail.com>
> wrote:
> >
> > > My question was/still is "how can I set up the build options so that
> > GProf
> > > can count the exact times a function is called" and "gprof can probably
> > do
> > > that job" is not an answer.
> > > Here are my cmake build options:
> > > -DGMX_SIMD=None -DGMX_GPU=OFF -DGMX_OPENMP=OFF
> -DCMAKE_BUILD_TYPE=Profile
> > > -DGMX_MPI=OFF -DGMX_USE_RDTSCP=OFF
> > >
> > > The problem I'm seeing is that "do_force" is still missing from the
> > output
> > > log, along with all the other "do_force_*" functions as well as all
> other
> > > electrostatic function calls.
> > >
> >
> > Then inlining is not a relevant issue. There's no way that such calls
> > to/from do_force() can be being inlined, because they're all in different
> > compilation units. I'd be looking at gprof and asking it how to configure
> > the maximum depth of its call stacks. (Just a guess, though.)
> >
> > And the -fno-inline flag won't override any always_inline attributes. Is
> > > there a smart way to remove all inlining attributes from the source
> code
> > or
> > > should I use search & replace?
> > >
> >
> > Probably search and replace, but I don't think this addresses your
> problem.
> >
> > Mark
> >
> >
> > > Dave
> > >
> > > On Tue, Nov 17, 2015 at 2:36 PM, Mark Abraham <
> mark.j.abraham at gmail.com>
> > > wrote:
> > >
> > > > I answered the one actual question you asked ;-) I'm sorry I had to
> > spend
> > > > my time guessing what your unstated intentions were, and what you
> > thought
> > > > was "missing." :-) gprof can probably do that job, assuming that -O0
> > and
> > > a
> > > > no-inlining flag actually override source-code annotations for
> > inlining.
> > > >
> > > > Mark
> > > >
> > > > On Tue, Nov 17, 2015 at 1:05 PM Dave Michael <dm.cid.lab at gmail.com>
> > > wrote:
> > > >
> > > > > I'm not interested in any performance and/or any time-domain
> > profiling.
> > > > > Please just answer my questions without any additional comments.
> > > > > I just want to get the exact name of the functions called in a
> mdrun
> > > on a
> > > > > particular simulation and the exact number of times it gets called.
> > > > >
> > > > > On Tue, Nov 17, 2015 at 1:27 PM, Mark Abraham <
> > > mark.j.abraham at gmail.com>
> > > > > wrote:
> > > > >
> > > > > > Hi,
> > > > > >
> > > > > > On Tue, Nov 17, 2015 at 11:55 AM Dave Michael <
> > dm.cid.lab at gmail.com>
> > > > > > wrote:
> > > > > >
> > > > > > > Hi,
> > > > > > >
> > > > > > > I need some help with using gprof and mdrun.
> > > > > > >
> > > > > >
> > > > > > To what end? Note that the end of the .log file provides a very
> > rough
> > > > > > profile already.
> > > > > >
> > > > > >
> > > > > > > Here's a short story of what I've tried so far:
> > > > > > > - a bunch of other tools (perf, zoom, valgrind) - not quite
> what
> > I
> > > > was
> > > > > > > looking for
> > > > > > > - settled on GProf (and I want to count ALL function calls)
> > > > > > > - compiled the code with the "Profile" option
> > > > > > > - reduced -O3 to -O0 and had some success here (but some things
> > are
> > > > > still
> > > > > > > missing)
> > > > > > >
> > > > > >
> > > > > > A profile not at -O3 is of zero value.
> > > > > >
> > > > > >
> > > > > > > Can someone help me out?
> > > > > > >
> > > > > > > Also, where are the compiler flags store (i.e. where can I
> > specify
> > > a
> > > > > > > no-inline option)?
> > > > > > >
> > > > > >
> > > > > > CMake has various compiler-flag options you can play with (e.g.
> try
> > > the
> > > > > > advanced mode of ccmake). But all that you will observe is that
> the
> > > > > > functions that are no longer inlined should have been, because we
> > > make
> > > > > > extensive use of inlined functions in performance-critical
> kernels.
> > > > > >
> > > > > > Mark
> > > > > >
> > > > > >
> > > > > > > Dave
> > > > > > > --
> > > > > > > Gromacs Users mailing list
> > > > > > >
> > > > > > > * Please search the archive at
> > > > > > > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List
> > before
> > > > > > > posting!
> > > > > > >
> > > > > > > * Can't post? Read
> http://www.gromacs.org/Support/Mailing_Lists
> > > > > > >
> > > > > > > * For (un)subscribe requests visit
> > > > > > >
> > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users
> > > > or
> > > > > > > send a mail to gmx-users-request at gromacs.org.
> > > > > > >
> > > > > > --
> > > > > > Gromacs Users mailing list
> > > > > >
> > > > > > * Please search the archive at
> > > > > > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List
> before
> > > > > > posting!
> > > > > >
> > > > > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> > > > > >
> > > > > > * For (un)subscribe requests visit
> > > > > >
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users
> > > or
> > > > > > send a mail to gmx-users-request at gromacs.org.
> > > > > >
> > > > > --
> > > > > Gromacs Users mailing list
> > > > >
> > > > > * Please search the archive at
> > > > > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> > > > > posting!
> > > > >
> > > > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> > > > >
> > > > > * For (un)subscribe requests visit
> > > > > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users
> > or
> > > > > send a mail to gmx-users-request at gromacs.org.
> > > > >
> > > > --
> > > > Gromacs Users mailing list
> > > >
> > > > * Please search the archive at
> > > > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> > > > posting!
> > > >
> > > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> > > >
> > > > * For (un)subscribe requests visit
> > > > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users
> or
> > > > send a mail to gmx-users-request at gromacs.org.
> > > >
> > > --
> > > Gromacs Users mailing list
> > >
> > > * Please search the archive at
> > > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> > > posting!
> > >
> > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> > >
> > > * For (un)subscribe requests visit
> > > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> > > send a mail to gmx-users-request at gromacs.org.
> > >
> > --
> > Gromacs Users mailing list
> >
> > * Please search the archive at
> > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> > posting!
> >
> > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> >
> > * For (un)subscribe requests visit
> > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> > send a mail to gmx-users-request at gromacs.org.
> >
> --
> Gromacs Users mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> send a mail to gmx-users-request at gromacs.org.
>


More information about the gromacs.org_gmx-users mailing list