>From README.executing:
For GASNet, launching gdb is supported via the environment variable
CHPL_COMM_USE_GDB. This will open up a separate xterm running gdb
for each locale. Note that we only know this to work for the
amudprun launcher.
As with single locale gdb debugging, you will probably want to save
the generated code using --savec so you can follow the source. You
might want to set a break point in gbdShouldBreakHere() which will
break before exiting on error (this is done automaticcaly for single
locale with --gdb).
There is no automatic mapping between generated code and Chapel
source, but you can get hints from the generated code, as we pass
around line number and filename info to various functions for error
messages. Due to a recent change, the line number is a bit obscured
by a macro, e.g., INT64(5).
Finally, multiple runs within the launched xterms do no work properly,
so if you need to restart, you'll have to go back to your original
command line to fire off new xterms.
Hope that helps.
-- Sung
On Wed, Jan 22, 2014 at 11:54:25AM -0800, Aroon Sharma wrote:
> Hi everyone,
>
> I am running into bugs in a multi-locale Chapel program and came across the
> following in $CHPL_HOME/STATUS:
>
> - The --gdb flag is only supported for single-locale platforms that
> support gdb. Please ask us for help if you want to debug a
> multilocale program.
>
> That being said, I would like to know what options I have to debug a
> multi-locale Chapel program and how to use these options.
>
> The specific problems I think I am encountering in my multi-locale program
> have to do with the chpl_comm_get_strd and chpl_comm_put_strd communication
> calls. I want to split a single get or put call into multiple calls to
> conserve memory on a locale. The following code shows a single call (assuming
> parameters are declared beforehand):
>
> //copy remote data to local buffer
> __primitive("chpl_comm_get_strd",
> __primitive("array_get", dest, buf._value.getDataIndex(1)),
> __primitive("array_get",dststr,dstStride._value.getDataIndex(1)),
> rid,
> __primitive("array_get", src,
> arrSection.myElems._value.getDataIndex(myFollowThis.low)),
> __primitive("array_get",srcstr,srcStride._value.getDataIndex(1)),
> __primitive("array_get",cnt, count._value.getDataIndex(1)),
> stridelevels);
>
> with the following semantics:
>
> __primitive("chpl_comm_get_strd",
> pointer to source,
> source strides,
> remote locale id,
> pointer to destination,
> destination strides,
> copy length,
> number of dimensions
> );
>
> Any suggestions or documentation relating to either of these topics would be
> helpful.
>
> Aroon Sharma
> University of Maryland, Class of 2015
> M.S. Computer Engineering
> (301) 908-9528
> ------------------------------------------------------------------------------
> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical Workloads, Development Environments & Everything In Between.
> Get a Quote or Start a Free Trial Today.
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
> _______________________________________________
> Chapel-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/chapel-developers
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers