charm AT lists.siebelschool.illinois.edu
Subject: Charm++ parallel programming system
List archive
- From: Ted Packwood <malice AT cray.com>
- To: Phil Miller <mille121 AT illinois.edu>
- Cc: "Papatheodore, Thomas L." <papatheodore AT ornl.gov>, "charm AT lists.cs.illinois.edu" <charm AT lists.cs.illinois.edu>
- Subject: Re: [charm] CrayPat with Charm++
- Date: Thu, 06 Jul 2017 12:47:57 -0500
Please note the document your
referenced in your first email says:
"Building for Perftools Do not load perftools or perftools-lite when building Charm++ (perftools-base can be safely loaded prior to building). Instead, ensure frame pointers are not omitted in your conv-mach.sh file (this is the new default for Cray XC builds). These options are provided in the new conv-mach.sh file submitted to the Charm++ developer" This document was intended for users wanting to build charm++ 6.7.1 (the document was published prior to the addition of perftools support being added into Charm++ develop). The line "ensure frame pointers are not omitted in your conv-mach.sh file" is key. If using v6.7.1, you can do this yourself by adding the following lines to your conv-mach.sh file. This will support any PrgEnv on your machine (though PGI has not been tested). BUILD_FOR_PERFTOOLS=1 # Comment out if desired # If building for Cray perftools, use the following. # Do not have perftools or perftools-lite loaded during # the build of charm++ (perftools-base is ok) if test -n "$BUILD_FOR_PERFTOOLS" then CRAYPAT_FLAGS=" " if test -n "$PGCC" then CRAYPAT_FLAGS=" " elif test -n "$CCE" then CRAYPAT_FLAGS=" -hkeep_frame_pointer" elif test -n "$ICPC" then CRAYPAT_FLAGS=" -fno-omit-frame-pointer" else # gcc CRAYPAT_FLAGS=" -fno-omit-frame-pointer" fi fi Then change these lines in the same file: CMK_CC="cc $CRAYPAT_FLAGS " CMK_CXX="CC $CRAYPAT_FLAGS " The process (v6.7.1) therefore is: 1) Add the compiler flags to your conv-mach.sh file above 2) Build charm++ as normal, *without* perftools or perftools-lite loaded 3) Load perftools or perftools-lite 4) Build and link your example program. 5) pat_build your program (if using perftools). (skip this step if using perftools-lite). 6) Run as normal. I'll work with Phil to ensure that we get all this straightened out in 6.8.0. If you'd like, I can work with you directly if you have any additional problems. Ted On 07/06/2017 11:42 AM, Phil Miller wrote: Sorry, I messed up the path to touch. It should
have been `src/arch/common/conv-mach-perftools.h`
On Thu, Jul 6, 2017 at 11:29 AM,
Papatheodore, Thomas L. <papatheodore AT ornl.gov>
wrote:
I created the file with “touch”, but I still get the same error:
[tpapathe@titan-ext2: /lustre/atlas2/csc198/proj-shared/tpapathe/charm]$ touch src/arch/conv-mach-perftools.h [tpapathe@titan-ext2: /lustre/atlas2/csc198/proj-shared/tpapathe/charm]$ ./build charm++ gni-crayxc smp perftools --with-production -g Error> option: perftools is not supported in this version! Supported compilers: clang craycc gcc icc iccstatic pgcc xlc xlc64 Supported options: bigemulator bigsim causalft cuda g95 gfortran hugepages ifort lcs mlogft nolb omp ooc papi persistent pgf90 pxshm regularpages smp syncft tsan xpmem [tpapathe@titan-ext2: /lustre/atlas2/csc198/proj-shared/tpapathe/charm]$ ls src/arch/ common gni mpi-crayxc mpi-linux-mips64 multicore multicore-linux64 net net-linux-ppc netlrts-linux-arm7 pami-bluegeneq shmem-crayxe uth-linux verbs-linux-x86_64 conv-mach-fix.sh gni-crayxc mpi-crayxe mpi-linux-ppc multicore-arm7 multicore-linux-ppc net-darwin-x86_64 net-linux-x86_64 netlrts-linux-ppc pami-linux-ppc64le sim uth-linux-x86_64 win conv-mach-perftools.h gni-crayxe mpi-darwin-x86_64 mpi-linux-x86_64 multicore-darwin-x86_64 multicore-linux-x86_64 net-linux netlrts netlrts-linux-x86_64 pamilrts sim-linux util win32 cuda mpi mpi-linux mpi-win64 multicore-linux multicore-win64 net-linux-amd64 netlrts-darwin-x86_64 netlrts-win-x86_64 pamilrts-bluegeneq template verbs win64 gemini_gni-crayxe mpi-bluegeneq mpi-linux-amd64 mpi-win-x86_64 multicore-linux32 multicore-win-x86_64 net-linux-arm7 netlrts-linux pami shmem uth verbs-linux-ppc64le [tpapathe@titan-ext2: /lustre/atlas2/csc198/proj-shared/tpapathe/charm]$
Please let me know if there is something else I need to do. Thanks again.
-Tom
From: <unmobile AT gmail.com>
on behalf of Phil Miller <mille121 AT illinois.edu> To: "Papatheodore, Thomas L." <papatheodore AT ornl.gov> Cc: Ted Packwood <malice AT cray.com>, "charm AT lists.cs.illinois.edu" <charm AT lists.cs.illinois.edu> Subject: Re: [charm] CrayPat with Charm++
On Thu, Jul 6, 2017 at 11:06 AM, Papatheodore, Thomas L. <papatheodore AT ornl.gov> wrote: I grabbed the latest development version from github (git clone https://charm.cs.illinois.edu/gerrit/charm.git) as described on the charm++ downloads page.
The CHANGES file states it is version 6.8.0: What's new in Charm++ 6.8.0 [tpapathe@titan-ext2: /lustre/atlas2/csc198/proj-shared/tpapathe/charm]$ git describe v6.8.0-beta1-287-gd57c83d
OK, I see. In the future, we should label the contents of the CHANGES file tentatively until a final release is tagged and announced.
There is not a file called “conv-mach-perftools.h” on src/arch/, but there is a “conv-mach-fix.sh”. Indeed there isn't. The intention of the command I asked you to run is to create it - our build script looks for both a header snippet and a shell snippet for build-time options. In this case, the header snippet was missing, and so it thought the option was invalid.
From:
<unmobile AT gmail.com>
on behalf of Phil Miller <mille121 AT illinois.edu>
On Thu, Jul 6, 2017 at 10:20 AM, Papatheodore, Thomas L. <papatheodore AT ornl.gov> wrote: Hey Phil-
Wow! Thanks for the quick and thorough response! I’m using version 6.8.0, but when I add the “perftools” argument I get:
Uhhh... Version 6.8.0 hasn't been released yet. We announced a beta of it some months ago, but not the final release. Could you share the name of the file containing the code calling itself Charm++ 6.8.0, and output of 'git describe' in the Charm++ directory?
[tpapathe@titan-ext2: /lustre/atlas2/csc198/proj-shared/tpapathe/charm]$ ./build charm++ gni-crayxc smp perftools --with-production -g Error> option: perftools is not supported in this version! Supported compilers: clang craycc gcc icc iccstatic pgcc xlc xlc64 Supported options: bigemulator bigsim causalft cuda g95 gfortran hugepages ifort lcs mlogft nolb omp ooc papi persistent pgf90 pxshm regularpages smp syncft tsan xpmem
Is there a version yet that supports this argument? Thanks.
This seems to be the result of a mistake on our part. In the charm++ directory, please run touch src/arch/conv-mach-perftools.h And then try the build. If that works, please let us know.
-Tom
From:
<unmobile AT gmail.com>
on behalf of Phil
Miller <mille121 AT illinois.edu>
Hi Tom,
What
version of
Charm++ did
you use in
your
attempt(s)? As
noted in the
linked
document, the
changes in
Charm++ to
support
CrayPat are in
our
development
line, but have
not quite yet
been released.
Looking through that document, there seems
to be some
skew
introduced
between the
patch to
Charm++ as
Cray provided
it, and what
we ultimately
integrated. On
your Charm++
'build'
command line,
you'll need to
add the
'perftools'
option like so
to get all of
the necessary
compiler
settings:
./build charm++ gni-crayxc smp perftools
--with-production
-g
This difference was introduced (I believe)
out of concern
for a
potential
negative
performance
impact of
always
applying the
flags in
question,
since they
reduce the
number of CPU
registers
available to
the compiler.
Also note the lack of 'craycc' option on
that line -
via Cray's CC,
charmc will
always use the
compiler
selected by
the loaded
PrgEnv-*
module.
There
may be some
other
discrepancies
between the
documentation
provided by
Cray and the
current state
of the various
software
components.
Feel free to
get back to us
with further
issues. In the
meanwhile,
I'll have
someone on the
Charm++ team
walk through
the entire
process and
see what other
updates might
need to be
made.
--
Phil
Miller
CTO,
Charmworks Inc
On
Thu, Jul 6,
2017 at 8:47
AM,
Papatheodore,
Thomas L. <papatheodore AT ornl.gov>
wrote:
Hello.
I am having
trouble
running
CrayPat on a
Charm++
example
problem on
Titan (Cray
XK7) at ORNL.
The error
message that I
encounter when
trying to
instrument the
executable
with pat_build
is:
ERROR:
Missing
required ELF
section
'.note.link'
from the
program
'/lustre/atlas2/csc198/proj-shared/tpapathe/test/charm-cuda/multicore-linux-x86_64-cuda/tests/charm++/simplearrayhello/hello'.
Load the
correct
'perftools'
module and
rebuild the
program.
This
error is
usually caused
by not having
the
perftools-base
and perftools
modules loaded
before
compiling a
program.
However, I
compiled the
program with
these modules
loaded and I
still receive
the message. I
also
recompiled
Charm++ itself
with these
modules
loaded, but
still get the
message. Is
there anything
special I need
to do to get
CrayPat to
profile
Charm++
applications?
I found the
Cray document
(http://docs.cray.com/books/S-2802-10//S-2802-10.pdf),
but this does
not resolve my
issue. Could
it be that
Charm++
compiles with
charmc and
CrayPat
requires the
Cray compiler
wrappers (e.g.
CC, ftn,
etc.)?
Any
help would be
appreciated.
Thanks.
-Tom
|
begin:vcard fn:Ted Packwood n:Packwood;Ted org:Cray Inc.;Performance Engineering adr;dom:;;380 Jackson St.;St Paul;MN email;internet:malice AT cray.com title:Performance Tools Analyst tel;work:651-605-9037 url:http://www.cray.com version:2.1 end:vcard
- [charm] CrayPat with Charm++, Papatheodore, Thomas L., 07/06/2017
- Re: [charm] CrayPat with Charm++, Phil Miller, 07/06/2017
- Re: [charm] CrayPat with Charm++, Papatheodore, Thomas L., 07/06/2017
- Re: [charm] CrayPat with Charm++, Phil Miller, 07/06/2017
- Re: [charm] CrayPat with Charm++, Papatheodore, Thomas L., 07/06/2017
- Re: [charm] CrayPat with Charm++, Phil Miller, 07/06/2017
- Re: [charm] CrayPat with Charm++, Papatheodore, Thomas L., 07/06/2017
- Re: [charm] CrayPat with Charm++, Phil Miller, 07/06/2017
- Re: [charm] CrayPat with Charm++, Ted Packwood, 07/06/2017
- Re: [charm] CrayPat with Charm++, Papatheodore, Thomas L., 07/06/2017
- Re: [charm] CrayPat with Charm++, Phil Miller, 07/06/2017
- Re: [charm] CrayPat with Charm++, Papatheodore, Thomas L., 07/06/2017
- Re: [charm] CrayPat with Charm++, Ted Packwood, 07/06/2017
- Re: [charm] CrayPat with Charm++, Phil Miller, 07/06/2017
- Re: [charm] CrayPat with Charm++, Papatheodore, Thomas L., 07/06/2017
- RE: [charm] CrayPat with Charm++, Choi, Jaemin, 07/07/2017
- Re: [charm] CrayPat with Charm++, Papatheodore, Thomas L., 07/10/2017
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- RE: [charm] CrayPat with Charm++, Choi, Jaemin, 07/13/2017
- Re: [charm] CrayPat with Charm++, Papatheodore, Thomas L., 07/06/2017
- Re: [charm] CrayPat with Charm++, Phil Miller, 07/06/2017
- Re: [charm] CrayPat with Charm++, Papatheodore, Thomas L., 07/06/2017
- Re: [charm] CrayPat with Charm++, Phil Miller, 07/06/2017
- Re: [charm] CrayPat with Charm++, Papatheodore, Thomas L., 07/06/2017
- Re: [charm] CrayPat with Charm++, Phil Miller, 07/06/2017
Archive powered by MHonArc 2.6.19.