The ability to debug a program at the same conceptual level as it was written is crucial to development of high-quality, high-performace parallel programs. In the case of ZPL, this requires a debug tool capable of supporting source-level debugging, but more specifically Z-Level debugging: complete support for the abstract parallel machine defined by the programming language.
As mentioned in Section , ZPL control flow is
conceptually implemented on the CTA controller, and hence has
sequential semantics. The individual statements, however, are
executed by n independent threads, where n is the number of
elements in the current region. (In reality, of course, these threads
exist only as mloops on the nodes of the CTA.) This is the Z-Level,
and is supported by ZEE
, the ZPL DEBUGGER
.