[gmx-users] Profiling mdrun with GProf
Dave Michael
dm.cid.lab at gmail.com
Tue Nov 17 21:43:09 CET 2015
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.
>
More information about the gromacs.org_gmx-users
mailing list