Previous: , Up: ncptl-logunmerge   [Contents][Index]

ncptl-logunmerge manual page


ncptl-logunmerge - Recover individual coNCePTuaL log files from ncptl-logmerge output


ncptl-logunmerge --usage | --help | --man

ncptl-logunmerge [ --logfile=template ] [ --procs=process_list] [ --quiet] [ --memcache=megabytes ] filename


While ncptl-logmerge merges a set of coNCePTuaL log files into a more convenient, single file, ncptl-logunmerge performs the inverse operation, splitting a merged file into separate coNCePTuaL log files. Specifically, unadorned comment lines such as the following are written to all log files:

    # Executable name: /home/me/mybenchmark

Comment lines which specify processor ranges are written to the appropriate log files. For example, the following line—with the leading #[35,43,89] stripped—is written only to the log files corresponding to processes 35, 43, and 89:

    #[35,43,89]# Minimum sleep time: 9.68 +/- 0.556776
      microseconds (ideal: 1 +/- 0)

Non-comment lines (i.e., measurement data) such as the following are written only to process 0’s log file:

    "Contention factor","Msg. size (B)","1/2 RTT (us)","MB/s"
    "(all data)","(all data)","(all data)","(all data)"


ncptl-logunmerge accepts the following command-line options:


Output the Synopsis section then exit the program.


Output the Synopsis section and the Options section then exit the program.


Output a complete Unix man (“manual”) page for ncptl-logunmerge then exit the program.


Specify a template for the names of the generated log files. The template must contain the literal string %p which will be replaced by the appropriate processor number. The template may contain the literal string %r (run number) which will be replaced by the smallest integer which produces a filename that does not already exist. In addition, printf()-style field widths can be used with %p and %r. For example, %04p outputs the processor number as a four-digit number padded on the left with zeroes.

If --logfile is not specified, ncptl-logunmerge takes the default template from the merged log file’s Log-file template line, discards the directory component of the filename, and uses the result as the log-file template.


Identify a subset of log files to extract from the merged log file. By default, ncptl-logunmerge extracts all of the constituent log files. process_list is a comma-separated list of process number or process ranges.


Suppress progress output. Normally, ncptl-logunmerge outputs status information regarding its operation. The --quiet option instruct ncptl-logunmerge to output only warning and error messages.


Specify the size of the in-memory file cache. By default the program keeps up to 8 MB of extracted file data resident in memory to improve performance. The --memcache option enables more or less data to be cached in memory. For example, --memcache=512 specifies that 512 MB of memory should be reserved for the file cache.

In addition to the preceding options ncptl-logunmerge requires the name of a merged coNCePTuaL log file. If not provided, ncptl-logunmerge reads the contents of the merged coNCePTuaL log file from standard input.


The input file does not look like a merged coNCePTuaL log file; assuming simple concatenation

ncptl-logunmerge expects its input file to contain the output from ncptl-logmerge. However, ncptl-logunmerge can also accept an input file produced by concatenating a collection of coNCePTuaL log files end-to-end (e.g., by using the cat command). The preceding warning message serves merely to alert the user in case the wrong input file was provided to ncptl-logunmerge.

Unable to find a unique number of tasks in the input file

ncptl-logunmerge determines the number of files to generate from the Number of tasks prologue comment. If that comment does not appear or takes on different values, ncptl-logunmerge rejects the input file.


Extract a set of coNCePTuaL log files from a merged log file and name the extracted files happy-0.log, happy-1.log, happy-2.log, etc.:

    ncptl-logunmerge --logfile=happy-%p.log mybenchmark-all.log

Extract only mybenchmark-0.log, mybenchmark-50.log, mybenchmark-51.log, mybenchmark-52.log, and mybenchmark-100.log from mybenchmark-all.log (assuming that mybenchmark-all.log contains the line # Log-file template: mybenchmark-%p.log):

    ncptl-logunmerge --procs=0,50-52,100 mybenchmark-all.log


ncptl-logmerge(1), ncptl-logextract(1), printf(3), the coNCePTuaL User’s Guide


Scott Pakin,

Previous: , Up: ncptl-logunmerge   [Contents][Index]

Scott Pakin,