LLNL/Caliper

Does cali-query do multi-threaded processing?

Closed this issue · 2 comments

cali-query: processing 1 files using 1 thread.
== CALIPER: Trace: Flushed 13 snapshots.
== CALIPER: Recorder: Wrote 90 records.

Does it mean there is a switch to enable multi-threaded processing of cali-query?
When the caliper output is large, it would be nice to parallelize the processing.

Hi @twang15

cali-query can use multi-threading when processing multiple files (e.g. cali-query <...> 1.cali 2.cali 3.cali ...), but not on a single file. Also, the parallel efficiency of the multi-threaded cali-query is not that great and depends on the query operations that are run. You can set the maximum number of threads to use with --threads, e.g. cali-query --threads 3 will use a maximum of 3 threads. But again, this only works when processing multiple .cali files. With --threads 1, cali-query will always use just one thread.

There is also a scalable MPI-based version of Caliper called mpi-caliquery. This, too, only works with multiple input files. It is intended for querying Caliper output from large-scale MPI runs.

Closing this - explained parallel cali-query in previous comment.