Output of distrib=constant arrays

Issue #1768 new
Ian Hinder created an issue

I have a Cactus array with size=1 and distrib=constant. I would like to see its value on all processes. According to http://cactuscode.org/pipermail/users/2014-March/003421.html, it has been observed that CarpetIOASCII (and CarpetIOHDF5) only output the data from process 0, whereas IOASCII outputs the data from all processes. The reason I need this is that I want to see the system swap usage on each process stored in SystemStatistics::process_memory_mb. The data is legitimately different on each process.

REAL process_memory_mb TYPE=array DIM=1 SIZE=1 DISTRIB=constant TAGS='Checkpoint="no"'

How hard would it be to add support to CarpetIOASCII for outputting grid array data from all processes for distrib-constant arrays? It already does this for distrib=default.

To use the current functionality, one way would be to increase the size of the array and then write code to replicate the data between processes. However, I don't think there is any way to specify that the array should have size=NPROCS, so you would have to specify this using a parameter, and this is a lot of work for something which would more naturally be done in CarpetIOASCII.

Keyword:

Comments (0)

  1. Log in to comment