Commit Graph

27 Commits

Author SHA1 Message Date
Matthias Hochsteger
3a70ae3171 Thread-local TaskManager
- Non TaskManager threads don't do timings (except the very main thread)
- Use one producer/consumer token per thread for queue, dont recreate them
- Minor changes to interface (ProcessTask/AddTask are not static anymore)
- WorkerData structure that keeps all data for a worker thread (timings,
  tokens)
2026-05-20 14:47:15 +02:00
Matthias Hochsteger
ff99e9c9ea Remove static members in TaskManager to prepare for multiple concurrent TM instances 2026-05-06 18:17:44 +02:00
Matthias Hochsteger
8c1fd035ed Increase sleep time gradually in TaskManager, when there is no work to do 2026-03-05 10:05:39 +01:00
Matthias Hochsteger
c4cb1411d0 SupendTaskManager class 2025-11-07 15:46:29 +01:00
Joachim Schoeberl
d7767fe4fb guarantee time stop in case of exceptions 2025-07-25 08:10:28 +02:00
Matthias Hochsteger
508136b533 Fix memory leak in TaskManager (thx @roystgnr) 2024-09-02 10:15:28 +02:00
Matthias Hochsteger
9e4659f194 emscripten - disable multithreading 2023-08-22 09:27:03 +02:00
Joachim Schoeberl
e1f7935f0b fixing warnings 2023-08-05 12:01:01 +02:00
Hochsteger, Matthias
a1b43088a4 TaskManager - sleep when no jobs for some time 2023-05-21 14:41:41 +02:00
mhochsteger@cerbsim.com
4e8fe77098 fix some warnings 2022-03-02 14:14:38 +01:00
Joachim Schoeberl
968658a70e too much tracing for recursive tasks ? 2021-09-28 15:41:46 +02:00
Matthias Hochsteger
48198d232d Revert "Revert "Merge branch 'parallel_meshing' into 'master'""
This reverts commit 65c5e2d244.
2021-07-19 14:59:12 +02:00
Matthias Hochsteger
65c5e2d244 Revert "Merge branch 'parallel_meshing' into 'master'"
This reverts commit d20a297cf1, reversing
changes made to fd50131a5b.
2021-06-29 19:38:19 +02:00
Matthias Hochsteger
c835767115 Timer in ProcessTask() 2021-06-14 10:39:57 +02:00
Matthias Hochsteger
a11294baf0 inline GetThreadI() (except on Windows, no dllexport for thread_local variables supported) 2021-06-11 09:51:23 +02:00
Matthias Hochsteger
dbe894fea3 Support for Apple M1 2020-12-15 10:43:11 +01:00
Matthias Hochsteger
a17066a387 html chart for peak memory consumption, some Array tracing fixes 2020-11-19 14:57:45 +01:00
Joachim Schöberl
cddfb4a0b5 fixing delaunay2d point search, non-parallel for small meshes 2020-10-26 11:20:12 +01:00
Matthias Hochsteger
b272614a51 export PajeTrace to Python (with context manager api) 2020-08-07 15:43:52 +02:00
Matthias Hochsteger
acfe9bb606 Merge traces with MPI 2020-08-07 12:59:22 +02:00
Joachim Schöberl
d0864b9901 Apple-clang seems to support now the standard thread_local variables 2019-10-28 12:18:23 +01:00
Matthias Hochsteger
66c4c3bf59 use global logging level without spdlog 2019-09-09 17:05:23 +02:00
Joachim Schöberl
1698a71754 fix warnings 2019-08-07 18:31:10 +02:00
Matthias Hochsteger
8bdeb129b4 Make ProcessTask() a static method of TaskManager 2019-07-11 13:29:00 +02:00
Matthias Hochsteger
b26286d9cd Fix thread_id linkage 2019-07-10 15:21:04 +02:00
Matthias Hochsteger
b848bdc237 Fix MPI build 2019-07-10 12:33:01 +02:00
Matthias Hochsteger
e1d4cc0410 Add Array, TaskManager and concurrentqueue from NGSolve
Array and TaskManager was mainly developed by Joachim Schöberl.
For complete version history, check NGSolve:
https://github.com/NGSolve/ngsolve

The concurrentqueue is from
https://github.com/cameron314/concurrentqueue
revision dea078cf5b6e742cd67a0d725e36f872feca4de4
2019-07-09 12:28:21 +02:00