Nutils cases are extremely slower than the rest
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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