68268234dba552582559ea438c96503ba6937a05
[charm.git] / examples / charm++ / pupDisk / README
1 Simple example of using PUP::toDisk and PUP::fromDisk for IO.
2
3 The userData array represents a typical application chare array it has
4 numElements and is constructed and placed without regard to I/O
5 practicalities.  Each one contains a piece of data for which we want
6 some file storage.
7
8 Each pupDisk element is our intermediary to the file system. It has
9 numFiles elements and should be placed one per node.  Numfiles could
10 go as high as numcores, but at the limit that will not perform well.
11 Each pupDisk will be responsible for output of numElements/numFiles
12 elements.  Specifically it will handle the contiguous index space of
13 [numElements/numFiles*thisIndex: numElements/numFiles*thisIndex +
14 numElements/numFiles].  The last element may have fewer than
15 numElements/numFiles and numElements will be tweaked to make this work.
16
17 userData and pupDisk communicate using point to point sends.
18
19 By default, the userData array will be initialized, pupped to disk, pupped from
20 disk, and verified.
21
22 If the 3rd command line argument is r, it will skip initialization and
23 writing, to read from disk and verify.
24
25 Make test embodies a simple working example of writing to disk and
26 verifying that it works.  Theoretically the pup files should be
27 portable across platforms, but I have not verified that for this
28 example.
29
30