- 27 Nov, 2019 1 commit
-
-
It is still not working, however we now have no more redundant code, making debugging it simpler.
FritzFlorian committed
-
- 07 Nov, 2019 1 commit
-
-
This showcases the expected performance when a task executes a sub-tree without inference from other threads. We target to stay about 6x slower than a normal function call.
FritzFlorian committed
-
- 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
-
- 10 Jun, 2019 1 commit
-
-
FritzFlorian committed
-
- 07 Jun, 2019 1 commit
-
-
FritzFlorian committed
-
- 06 Jun, 2019 3 commits
-
-
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 3 commits
-
-
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
-
- 12 Apr, 2019 1 commit
-
-
FritzFlorian committed
-
- 11 Apr, 2019 1 commit
-
-
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 3 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 -
This lead to some bug-fixes that covered move constructors not correctly assigning memory. We might clean this up further by only allowing in place creation of these types (placement new).
FritzFlorian committed
-
- 04 Apr, 2019 1 commit
-
-
FritzFlorian committed
-
- 02 Apr, 2019 2 commits
-
-
There are serval ways we could optimize the calls, but for now this should be enough for first tests.
FritzFlorian committed -
The current solution is not clean, but allows us to change error handling later on without missing any point in the programm where we would want to use it.
FritzFlorian committed
-