Getting Started¶
Prerequisites¶
The callflow (python package) requires python (>= 3.6) and pip (>= 20.1.1). Other dependencies are checked/installed during the installation of callflow using pip.
Other dependencies are:
- hatchet
- pandas
- networkx (2.2)
- numpy
- flask
- statsmodels, and
- sklearn
CallFlow is available on GitHub
The callflow app (visualization component) requires node.js (>= 13.7.0) and npm (>= 6.13.7). If there is an older version of node installed, install nvm and use the following command to change version.
$ nvm use 13.7.0.
Installation¶
You can get CallFlow from its GitHub using this command:
$ git clone https://github.com/LLNL/CallFlow.git
Install callflow python package¶
To install callflow python package, run the following command using pip.
$ pip install .
To install in the dev mode,
$ pip install -e . --prefix=/path/to/install
Check Installation of callflow python package¶
After installing callflow, make sure you update your PYTHONPATH environment variable to point to directory where callflow was installed.
$ python
Python 3.7.7 (default, Jul 11 2019, 01:08:00)
[Clang 11.0.0 (clang-1100.0.33.17)]] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Typing import callflow
at the prompt should succeed without any error messages:
>>> import callflow
>>>
Install the Visualization client¶
$ cd app
$ npm install
Supported data formats¶
Currently, hatchet supports the following data formats as input:
- HPCToolkit database: This is generated
by using
hpcprof-mpi
to post-process the raw measurements directory output by HPCToolkit. - Caliper Cali file: This is the format in which caliper outputs raw performance data by default.
- Caliper Json-split file: This is generated by either running cali-query on the raw caliper data or by enabling the mpireport service when using caliper.
For more details on the different input file formats, refer to the User Guide.