From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Wed Sep 09 2009 - 11:15:37 PDT
Nikita, The attached patch adds the options for an additional sub-build with GASP support plus debugging info. Unfortunately there is no currently way in our infrastructure to separately enable/disable debugging info and our debugging assertions. Therefore the programs compiled with "-inst -g" will run with lots of assertions that will slow the execution, potentially significantly. So, this particular sub-build is really only suitable for debugging. However, I did at least disable the low-level tracing and stats collection with are made mostly redundant by GASP instrumentation. After applying this patch to the Berkeley UPC source tree, you will need to reconfigure and build Berkeley UPC. Just as you passed --with-multiconf=+opt_inst (or similar) when configuring before, you will now want --with-multiconf=+opt_inst,+dbg_inst to get support for GASP both with and without debugging. Once you have configured, compiled, and installed, the resulting complier should recognize the case of "-g" and "-inst" together on the command line (order doesn't matter) and use this new sub-build. I have sanity-checked this by building a compiler configured as described above and confirmed that "upcc -c -g -inst ..." attempts to invoke the proper sub-build, and that the resulting object file and the libs in that sub-build all contain debug info. However, I don't have PPW or other GASP-enabled tools setup to perform a more complete test. If you have any further problems, let us know. -Paul Paul H. Hargrove wrote: > Nikita, > [snip] > > I believe there is a way to force creation of an additional sub-build > with what you want, but not by default. I am going to look into it > and will follow up with a second e-mail containing details of what I > find. > > -Paul [snip] -- Paul H. Hargrove PHHargrove_at_lbl_dot_gov Future Technologies Group Tel: +1-510-495-2352 HPC Research Department Fax: +1-510-486-6900 Lawrence Berkeley National Laboratory Index: multiconf.conf.in =================================================================== RCS file: /var/local/cvs/upcr/multiconf.conf.in,v retrieving revision 1.13 diff -u -p -r1.13 multiconf.conf.in --- multiconf.conf.in 5 Nov 2008 15:55:21 -0000 1.13 +++ multiconf.conf.in 9 Sep 2009 18:02:43 -0000 @@ -94,6 +94,10 @@ dbg_gccupc ; --with-gccupc=$GCCUPC_TRANS # GCC/UPC + UPCR mode opt_gccupc ; --with-gccupc=$GCCUPC_TRANS ; $opt{'gccupc'} ; -gccupc +# instrumented mode w/ debugging info (for use with GASP-enabled performance tools) +# does not enable gasnet-level tracing or stats, but does enable system-wide sanity checks +dbg_inst ; --with-translator=$BUPC_TRANS --enable-debug --disable-stats --disable-trace --enable-inst ; $opt{'g'} && ( $opt{'inst'} || $opt{'inst-functions'} || $opt{'inst-local'} || $opt{'inst-toolname'} ) ; -bupc + # Debug configuration - enables system-wide sanity checks and globally disables backend optimization # also enables tracing and stats dbg ; --with-translator=$BUPC_TRANS --enable-debug ; $opt{'g'} ; -trace,-bupc