precice / precice/tutorials

Nutils cases are extremely slower than the rest

Open
#506 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted
Dominant language
C
Stars
142
Forks
167
Avg merge
20h 24m
Merged PRs (30d)
11

Description

As stated in the Nutils Book, Nutils is not (yet) the fastest tool in its class. I experience that in our perpendicular-flap tutorial, where especially our fluid-nutils case is taking orders of magnitude longer than the rest of the solvers (half a day instead of a couple of minutes).

Following the official suggestions, I tried something like

OMP_NUM_THREADS=1 NUTILS_NPROCS=4 python myscript.py

without a directly visible impact (did not measure). I also commented-out the VTK output at the end of each coupling time window.

However, I think that we should first have a closer look and check if we are doing any extremely unnecessary work (e.g., too tight convergence measures, too much output, etc). The mesh already seems to be very coarse.

@gertjanvanzwieten @uekerman do you maybe have any quick ideas?

If we could drop the simulation time to a couple of minutes (or anything less than an hour), we could also integrate this in our system tests.

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 perpendicular-flap/fluid-nutils/fluid.py and compare its runtime with the other solver cases. Measure the effects of NUTILS_NPROCS, OMP_NUM_THREADS, convergence settings, and VTK output, then confirm that the case completes in under an hour before considering it for system tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.