- 06 Nov, 2019 1 commit
-
-
This first sketch of the classes captures what we think is needed in terms of general interface and very mich WIP.
FritzFlorian committed
-
- 05 Nov, 2019 1 commit
-
-
We changed how the memory is allocated from passing char* buffers to then store objects into to creating 'fat objects' for all scheduler state. This eases development for us, as we can make changes to data structures without too much effort (e.g. add a second array to manage tasks if required).
FritzFlorian committed
-
- 16 Sep, 2019 1 commit
-
-
This allows us to more easily handle them and makes their interface closer to std::thread.
FritzFlorian committed
-
- 02 Sep, 2019 1 commit
-
-
The scheduler yields if it failed to steal any work due to the task lists being empty. This should improve performance on multiprogrammed systems, as it potentially makes room for other worker threads which still have work to perform.
FritzFlorian committed
-
- 01 Aug, 2019 1 commit
-
-
This allows the stack and deque class to use the same offset, making it work better with each other.
FritzFlorian committed
-
- 18 Jun, 2019 1 commit
-
-
Threads must be joined on scheduler termination and tasks must be pushed onto the stack to allow better memory management.
FritzFlorian committed
-
- 12 Jun, 2019 1 commit
-
-
FritzFlorian committed
-
- 11 Jun, 2019 1 commit
-
-
FritzFlorian committed
-
- 10 Jun, 2019 1 commit
-
-
FritzFlorian committed
-
- 07 Jun, 2019 1 commit
-
-
FritzFlorian committed
-
- 06 Jun, 2019 4 commits
-
-
FritzFlorian committed
-
FritzFlorian committed
-
FritzFlorian committed
-
This was highlighted as an issue in the steal_work routine, as frequent calls to virtual functions are expensive.
FritzFlorian committed
-
- 05 Jun, 2019 1 commit
-
-
FritzFlorian committed
-
- 04 Jun, 2019 2 commits
-
-
Please note that this does currently not execute, but only removed the 'old aspecs'. We are still missing launching the root fork_join task.
FritzFlorian committed -
FritzFlorian committed
-
- 03 Jun, 2019 1 commit
-
-
FritzFlorian committed
-
- 28 May, 2019 1 commit
-
-
FritzFlorian committed
-
- 10 May, 2019 1 commit
-
-
This is required to correctly execute multiple, consecutive wait_for_all calls in one fork_join_sub_task.
FritzFlorian committed
-
- 02 May, 2019 1 commit
-
-
FritzFlorian committed
-
- 30 Apr, 2019 3 commits
-
-
FritzFlorian committed
-
FritzFlorian committed
-
FritzFlorian committed
-
- 18 Apr, 2019 4 commits
-
-
FritzFlorian committed
-
FritzFlorian committed
-
FritzFlorian committed
-
FritzFlorian committed
-
- 17 Apr, 2019 2 commits
-
-
FritzFlorian committed
-
These currently do nothing but being boilerplate required to implement a new top level task.
FritzFlorian committed
-
- 16 Apr, 2019 1 commit
-
-
FritzFlorian committed
-
- 15 Apr, 2019 1 commit
-
-
FritzFlorian committed
-
- 12 Apr, 2019 1 commit
-
-
FritzFlorian committed
-
- 11 Apr, 2019 1 commit
-
-
FritzFlorian committed
-
- 10 Apr, 2019 1 commit
-
-
The __thread implementation of thread local, static variables seems more efficient, so we activate this by default. If it is (for some reason) not available/slower than the pthread version, one can toggle it for the specific system/processor later on using macros.
FritzFlorian committed
-
- 09 Apr, 2019 2 commits
-
-
FritzFlorian committed
-
We do this to properly separate the cache alginment logic in the next step, allowing us to port all cache aligned objects without worrying about portability.
FritzFlorian committed
-
- 08 Apr, 2019 1 commit
-
-
FritzFlorian committed
-
- 05 Apr, 2019 2 commits
-
-
We do so by pulling out the profiling macros in our own iclude file. In the future we might even be able to use this to build up further visualisations of the executing programm.
FritzFlorian committed -
Use only placement new on pre-allocated memory. This makes sure that we have to have no assumptions on the inital state of the memory region.
FritzFlorian committed
-