Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve instrumentation support #4747

Merged
merged 10 commits into from
Jul 14, 2023
Merged

Conversation

jngrad
Copy link
Member

@jngrad jngrad commented Jun 28, 2023

Fixes #4740, fixes #2509

Description of changes:

  • third-party tools:
    • fix the broken Caliper integration and write an integration test
    • use standard Caliper macros instead of macro aliases
    • build Caliper as a CMake subproject to inherit options (e.g. CUDA and MPI support) and facilitate linking
    • add native support for CUDA-GDB (a few compiler flags were missing from Debug builds)
    • add native support for kernprof (new flag added to pypresso)
  • documentation:
    • centralize scattered information about debuggers into a self-contained section of the user guide
    • document all supported debuggers and profilers: Caliper, Valgrind, GDB, CUDA-GDB, kernprof, perf, sanitizers
    • make the Doxygen docs more consistent with the Sphinx user guide (same fonts) and website (same logo)

Re-use Sphinx font families in Doxygen to fix kerning issues.
Use the modern ESPResSo logo in Doxygen. Cleanup BibTeX records.
* replace its Cython interface by a Python interface
* fix bug in the begin/end markers script interface
* use the original Caliper annotation macros
* build Caliper as a CMake subproject
* add integration tests
@jngrad jngrad force-pushed the instrumentation branch 4 times, most recently from cb95309 to ad708fb Compare June 28, 2023 15:40
@jngrad jngrad marked this pull request as ready for review June 28, 2023 16:21
@jngrad jngrad added this to the ESPResSo 4.3.0 milestone Jun 28, 2023
@jngrad jngrad requested a review from reinaual June 28, 2023 16:22
Pybtex offers minimal support for LaTeX syntax in BibTeX records.
Using the plugin API, inject a visitor that expands LaTeX macros
that take only one argument. Doxygen doesn't support plugins, so
sed expressions are used to post-process the final bibliography.
@jngrad jngrad requested a review from RudolfWeeber July 11, 2023 07:55
RudolfWeeber
RudolfWeeber previously approved these changes Jul 13, 2023
@RudolfWeeber
Copy link
Contributor

Thank you. In particular, the very extensive documentation will be helpful to developers sorting out performance issues.

@jngrad jngrad added the automerge Merge with kodiak label Jul 13, 2023
@kodiakhq
Copy link
Contributor

kodiakhq bot commented Jul 13, 2023

This PR currently has a merge conflict. Please resolve this and then re-add the automerge label.

@kodiakhq kodiakhq bot removed the automerge Merge with kodiak label Jul 13, 2023
@jngrad jngrad added the automerge Merge with kodiak label Jul 13, 2023
@jngrad jngrad requested a review from RudolfWeeber July 13, 2023 18:56
Copy link
Contributor

@reinaual reinaual left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reviewed the merge commit only

@kodiakhq kodiakhq bot merged commit 4c03ac4 into espressomd:python Jul 14, 2023
5 checks passed
@jngrad jngrad deleted the instrumentation branch July 14, 2023 08:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Caliper bindings are broken Add documentation for Caliper
3 participants