trixi-framework / trixi-framework/libtrixi

Check performance of libtrixi against standard Trixi.jl

Open
#141 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

performance testing
Dominant language
Julia
Stars
3
Forks
3
Avg merge
1d 14h
Merged PRs (30d)
1

Description

Is the runtime of the shim library variant and the PackageCompiler variant comparable to running Trixi.jl in a pure Julia setting?

  • Define a suitable elixir testcase
    • 3D Euler baroclinic instability
    • p4est for now, should be changed to t8code
  • Metrics
    • Raw performance (rhs! or PID)
    • Same but with N, 2N and 3N time steps
    • Time of a single step --> to figure out recurring overhead
    • Time of a single function call to Trixi.jl (e.g., ndims) --> to get precise number for overhead
    • Time to first solution --> how long until we get a first result (or total startup latency)
    • Time to second solution --> to figure out how much of startup latency is for compilation
  • Gather metrics from all ranks when using MPI

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the defined 3D Euler baroclinic instability elixir testcase and the existing raw-performance measurements for rhs! or PID. Compare the shim library, PackageCompiler, and pure Julia variants, then gather the remaining single-step, function-call, startup, and N/2N/3N metrics, including all MPI ranks. Done means the requested comparison data is recorded, with recurring and compilation overhead separated.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.