[gmx-developers] What is the best choice to profile
Theodore Si
sjyzhxw at gmail.com
Fri Aug 8 05:23:34 CEST 2014
Hi Mark,
I set these parameters:
CMAKE_CXX_COMPILER=$MYPRG/vt/bin/vtcxx
CMAKE_CXX_FLAGS=-vt:cxx mpicxx
CMAKE_C_COMPILER=$MYPRG/vt/bin/vtcc
CMAKE_C_FLAGS=-vt:cc mpicc
When I execute make, I get this:
vtcc: unknown option -- -vt:cxx
How come that vtcc get the flags set to vtcxx ?
I just keep running into strange things like this.
On 8/7/2014 10:56 PM, Mark Abraham wrote:
> Hi,
>
> First, what are you hoping to learn? Many questions have a known
> answer, or are known not to have a clear answer ;-)
>
> It's a compound problem. Profilers that just need to compile with
> standard profiling flags are fine - just configure with
> -DCMAKE_BUILD_TYPE=Profile and go for it. Those that need to influence
> the compilation or linker line are more problematic. Just passing the
> (full path to) the wrapper compiler should work fine. If you need to
> pass things to the wrapper compiler, make yourself a script to wrap
> the wrapper compiler and give that to CMake. Whether the things the
> tool's wrapper compiler does clashes with things GROMACS is doing
> varies a lot, and you will need to get involved in the details to see
> what the origin of any problems are. That's not anybody's fault, per
> se, but the writer of a wrapper compiler typically hopes the end user
> is not managing details themselves, but to get high performance you
> often have to manage details, and some of those details show up on the
> compiler command lines generated by the GROMACS build system. And
> naturally you'll be interested in MPI+OpenMP+CUDA, each of which
> compounds the problem with further wrapper compilers or command-line
> stuff.
>
> Once it's working, you have the problem of whether you can get useful
> data. Instrumenting every function call, or compromising function
> inlining is guaranteed to be useless because that overhead kills
> things. The main interesting case to profile is where the MD step
> iteration time is a few milliseconds, and you can't introduce
> thousands of increments of tens of nanoseconds and get sensible
> profiles. So either you have to restrict the instrumentation to
> high-level functions (which is painful; the output at the end of the
> GROMACS log file is a coarse version of this averaged over many steps
> and execution contexts), or use a sampling-based approach.
>
> Then you need to start collecting data after the run-time performance
> tuning that mdrun does has already stabilized - at least a few hundred
> MD steps. Longer if the MD load is imbalanced, which is also the main
> interesting case to consider for code modifications.
>
> Mark
>
>
> On Wed, Aug 6, 2014 at 10:58 AM, Theodore Si <sjyzhxw at gmail.com
> <mailto:sjyzhxw at gmail.com>> wrote:
>
> what kind of tools work best with gromacs 5.0?
>
>
> --
> Gromacs Developers mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_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-developers
> or send a mail to gmx-developers-request at gromacs.org
> <mailto:gmx-developers-request at gromacs.org>.
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20140808/9b4e8d3d/attachment.html>
More information about the gromacs.org_gmx-developers
mailing list