1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<!--Converted with LaTeX2HTML 96.1-h (September 30, 1996) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds -->
<HTML>
<HEAD>
<TITLE>Application Debugging Hints</TITLE>
<META NAME="description" CONTENT="Application Debugging Hints">
<META NAME="keywords" CONTENT="slug">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<LINK REL=STYLESHEET HREF="slug.css">
</HEAD>
<BODY LANG="EN" >
<A NAME="tex2html4067" HREF="node149.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="http://www.netlib.org/utk/icons/next_motif.gif"></A> <A NAME="tex2html4065" HREF="node145.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="http://www.netlib.org/utk/icons/up_motif.gif"></A> <A NAME="tex2html4059" HREF="node147.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="http://www.netlib.org/utk/icons/previous_motif.gif"></A> <A NAME="tex2html4069" HREF="node1.html"><IMG WIDTH=65 HEIGHT=24 ALIGN=BOTTOM ALT="contents" SRC="http://www.netlib.org/utk/icons/contents_motif.gif"></A> <A NAME="tex2html4070" HREF="node190.html"><IMG WIDTH=43 HEIGHT=24 ALIGN=BOTTOM ALT="index" SRC="http://www.netlib.org/utk/icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME="tex2html4068" HREF="node149.html">Common Errors in Calling </A>
<B>Up:</B> <A NAME="tex2html4066" HREF="node145.html">Troubleshooting</A>
<B> Previous:</B> <A NAME="tex2html4060" HREF="node147.html">Installation Debugging Hints</A>
<BR> <P>
<H1><A NAME="SECTION04730000000000000000">Application Debugging Hints</A></H1>
<P>
<A NAME="6246"> </A>
<P>
We highly recommend the following as a list of debugging hints (and tools) for
writing parallel application programs that call ScaLAPACK:
<UL>
<LI> Look at the ScaLAPACK example programs as a good starting point.
<BLOCKQUOTE> <TT>http://www.netlib.org/scalapack/examples/</TT>
</BLOCKQUOTE>
<LI> Always check the value of INFO on exit from a ScaLAPACK routine.
<LI> All routines in ScaLAPACK that require workspace also require the length
of that workspace to be specified in the calling sequence. If in doubt
about the amount of workspace to supply to a ScaLAPACK routine,
supply <I>LWORK</I>=-1, and use the returned value in <I>WORK</I>(1)
as the correct value for <I>LWORK</I>. Refer to section <A HREF="node97.html#subsecworkspace">4.6.5</A>
for further details on determining workspace
requirements<A NAME="6252"> </A><A NAME="6253"> </A>.
<LI> If you are calling a ScaLAPACK routine that has an LAPACK equivalent,
write a serial code calling LAPACK first. Code can be converted
in pieces from LAPACK to ScaLAPACK by debugging on
a one-process grid. When all of the LAPACK codes have been removed
and the code has been fully parallelized, execute it on a multiple
process grid.
<LI> When writing a parallel program, first debug the code to work
on one process, and then expand to more processes.
<LI> When writing a parallel program, debug with small matrices.
<LI> Use the TOOLS routine PxLAPRNT<A NAME="6254"> </A> to
print out each process's portion of a distributed matrix. A variety
of utility routines<A NAME="6255"> </A><A NAME="6256"> </A> are
provided in the TOOLS directory and are commonly used as debugging aids
in the development of the ScaLAPACK library.
<LI> Sprinkle synchronization points via
<TT>BLACS_BARRIER</TT><A NAME="6258"> </A><A NAME="6259"> </A> near suspected error.
<LI> Link to the debug level 1 BLACS (specified by <TT>BLACSDBGLVL=1</TT> in
<TT>Bmake.inc</TT>)<A NAME="6262"> </A> until the program is completely debugged.
<LI> Specify the``Repeatability'' flag in <TT>BLACS_SET</TT>.
<LI> If running a heterogeneous application, please ensure that all
executables are linked with the same debug level of the BLACS. Otherwise,
unpredictable results will occur because the debug level 1 BLACS perform
error-checking and thus send more messages than the performance debug
level 0 BLACS.
<LI> Always run the BLACS, BLAS, and PBLAS test suites to ensure that
these libraries have been properly installed. (If PVM is the underlying
message-passing layer, please also run the PVM test suite.) If a problem
is detected in the BLAS or BLACS libraries, try linking to the reference
implementations in the respective <EM>blas</EM> or <EM>blacs</EM> directory on
<EM>netlib</EM>.
<LI> Consult the <TT>errata.scalapack</TT> file in the <EM>scalapack</EM> directory
on <EM>netlib</EM>, and/or the <TT>errata.blacs</TT> file
in the <EM>blacs</EM> directory on <EM>netlib</EM>. These files contain
a list of known difficulties that have been diagnosed and corrected
(or will be corrected in the next release), or reported to the vendor as
in the case of message-passing libraries or optimized
BLAS<A NAME="6273"> </A><A NAME="6274"> </A>.
<LI> Refer to section <A HREF="node102.html#alignment">4.6.7</A> and the
leading comments of the source code for the
alignment restrictions currently needed in some of
the ScaLAPACK routines.
</UL><HR><A NAME="tex2html4067" HREF="node149.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="http://www.netlib.org/utk/icons/next_motif.gif"></A> <A NAME="tex2html4065" HREF="node145.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="http://www.netlib.org/utk/icons/up_motif.gif"></A> <A NAME="tex2html4059" HREF="node147.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="http://www.netlib.org/utk/icons/previous_motif.gif"></A> <A NAME="tex2html4069" HREF="node1.html"><IMG WIDTH=65 HEIGHT=24 ALIGN=BOTTOM ALT="contents" SRC="http://www.netlib.org/utk/icons/contents_motif.gif"></A> <A NAME="tex2html4070" HREF="node190.html"><IMG WIDTH=43 HEIGHT=24 ALIGN=BOTTOM ALT="index" SRC="http://www.netlib.org/utk/icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME="tex2html4068" HREF="node149.html">Common Errors in Calling </A>
<B>Up:</B> <A NAME="tex2html4066" HREF="node145.html">Troubleshooting</A>
<B> Previous:</B> <A NAME="tex2html4060" HREF="node147.html">Installation Debugging Hints</A>
<P><ADDRESS>
<I>Susan Blackford <BR>
Tue May 13 09:21:01 EDT 1997</I>
</ADDRESS>
</BODY>
</HTML>
|