Skip to content

precice/profiling

Repository files navigation

preCICE profiling tools

Workflow

  1. Optional Enable <profiling mode="all"/> in the preCICE configuration of your case to get the profiling information.
  2. Run the preCICE simulation.
  3. Run precice-profiling-merge to combine all emitted profiling files of the simulation into a single profiling.db file.
  4. Analyze the solvers:
    • Use precice-profiling-analyze to get a breakdown of an individual solver.
    • Use precice-profiling-trace to visualize the data.
    • Use precice-profiling-export to export the data as CSV to import in other software.

Tools

merge

Merges profiling files emitted by each rank of each participant into a single easily portable file. Creates a profiling.db by default.

export

Transforms all events to a tabular format and exports the result as a CSV format. The columns Participant, and Rank can be used to filter the dataset to extract individual participants or specific ranks.

Reads profiling.db and creates profiling.csv by default.

trace

Transforms all events to the Google Trace Format which can be visualized by tools such as about::tracing in Chromium based browsers or perfetto.dev.

Reads profiling.db and creates trace.json by default.

analyze

Analyzes a given solver and returns a table of all timings including some statistics based on their duration.

Reads profiling.db by default.

HPC users

HPC users or users of locked down clusters without easy access to pip can download the merge command as a standalone file and run it without installing additional dependencies.

wget -O precice-profiling-merge https://raw.githubusercontent.com/precice/profiling/refs/heads/main/preciceprofiling/merge.py
chmod +x precice-profiling-merge

Licensing

This repository contains modified part of the the precice-profiling script, which is part of the preCICE library (precice/precice tools/profiling/precice-profiling) and licensed under the LGPv3 license. The two copyright holders David Schneider (@davidscn [email protected]) and Frédéric Simonis (@fsimonis [email protected]) decided on 23. June 2025 15:00 CET to rerelease the content of the precice-profiling script in this repository under the MIT license.

About

Python tools for processing preCICE profiling data

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages