Skip to main content

A tool for post-processing and analyzing preCICE profiling data.

Project description

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.json 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.json 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.json 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.json 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.json 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 david.schneider@ipvs.uni-stuttgart.de) and Frédéric Simonis (@fsimonis frederic.simonis@ipvs.uni-stuttgart.de) decided on 23. June 2025 15:00 CET to rerelease the content of the precice-profiling script in this repository under the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

precice_profiling-1.2.0.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

precice_profiling-1.2.0-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file precice_profiling-1.2.0.tar.gz.

File metadata

  • Download URL: precice_profiling-1.2.0.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for precice_profiling-1.2.0.tar.gz
Algorithm Hash digest
SHA256 1b6add229ca6e5cca1a86a492df50a5fba011264bd31fa5f030648ecd4a420ac
MD5 a18a19d8d76b8474da8dfd232a9e4e9d
BLAKE2b-256 9c4b73245c5c1b386c829c1149da39218cd5dab36a224740e19d37abb65f0d2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for precice_profiling-1.2.0.tar.gz:

Publisher: release.yml on precice/profiling

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file precice_profiling-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for precice_profiling-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8c7ac68856bbd56b48a78aa21510a9aa9604378607b0114d3db0ae18be1c25b5
MD5 3180b2d9ef698e89f690a50482cf1d66
BLAKE2b-256 c53d73ccd016ec2736d9c8a2fdb57e37d15698347a45f04894ed8edee2bec6c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for precice_profiling-1.2.0-py3-none-any.whl:

Publisher: release.yml on precice/profiling

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page