TotalView is a graphical debugger with support for serial and MPI programs. Debugging A++ & P++ code with TotalView can be a bit tricky. Here are some tips.
A++ (and P++) implements a variety of typeArray
data types, for example: realArray
, floatArray
and doubleArray
. For the purpose of this tutorial, let's limit ourselves to a realArray
. When you dive on a realArray
in TotalView, you get a list of pointers and scalars like you would with a C structure:
Basearray <class BaseArray>
Array_Descriptor <class doubleArray_Desc>
Array_Storage <Opperand_Storage x>
freepointer <class doubleArray x>
referenceCount <int>
It is a bit of a hassle to view the raw data in TotalView, but not impossible. Here's how you do it:
double [dimension[n]][dimension[n-1]] ... [dimension[0]]
The procedure to view P++ data using TotalView is similar to viewing typeArray
with A++. The only difference: You need to first expand serialArray
before Array_Descriptor