Logger multithreading
Still waiting on !1294 (merged) in order to add the number of threads in the parameter structure.
Nothing fancy here, I am just rewriting the read_all
functions in order to use a threadpool. While the code is a bit slower now on 1 thread, I see a speedup of 2.3 when using 4 threads compared to the previous version. The speedup obtained is for the SedovBlast3D
, therefore we are still dealing with a relatively small example where setting up the threadpool takes a non negligible amount of time.
Merge request reports
Activity
changed milestone to %Continuous Simulation Data Stream
added i/o performance labels
added 53 commits
-
e6a1b57b...c4c308cd - 49 commits from branch
master
- 14d2a168 - Multithreading implemented
- 90ddcc50 - Cleanup
- c5e2886e - Format
- e2b37181 - Update structure name
Toggle commit list-
e6a1b57b...c4c308cd - 49 commits from branch
@matthieu This is ready to be reviewed. I am changing slightly the logic here in order to use the threadpool. As I might have some particles leaving the simulation (e.g. MPI or star formation), I am using two shared int to know where to write the information and which particle to select next. The python API is also updated in order to have the argument
number_threads
.In the previous merge request, I have introduced a tiny mistake in SPHENIX that I am fixing here (along with the automatic tests). Once this is merged, I will start to change the name from logger to CSDS. How should I proceed? Are you fine with a single large merge request that updates all the names (and only this)?
assigned to @matthieu
- Resolved by Matthieu Schaller
mentioned in commit 0d875dab