#1075: Test cases with specific number of processes --------------------------+------------------------------------------------- Reporter: eschnett | Owner: Type: enhancement | Status: new Priority: major | Milestone: Component: Cactus | Version: Resolution: | Keywords: --------------------------+-------------------------------------------------
Comment (by rhaas):
It turns out that removing the "extra" blank line is harder than expected. It is the eol from line 1450 of ioascii.cc {{{ 1445 for (int d=0; d<outdim; ++d) { 1446 if ((*it)[d]!=(*ext.end())[d]) break; 1447 if (not compact_format or ext.shape()[d] > ext.stride()[d]) { 1448 // In the compact format, don't separate outputs that 1449 // consist of a single lines only 1450 os << eol; 1451 } 1452 } }}} which is output with all points that touch the outer edge of the output for any component (ie. any one of x = xmax, y = ymax, z = zmax holds). Unfortunately this means that it will always trigger for the last point in the output region for a component and since the components are already process decomposed ones, there is one black line per MPI process. A way around would have been to only output a black line once we are at the edge of the containing superregion, which unfortunately requires the code to compute if this components will be (once we are all done with output) the last one output for this superregion. It is also hard to insert the separating blank line at the beginning of a each chunk since non blank line should be output if only a single line of output will be produced.