1. 04 Sep, 2020 2 commits
    • CARDOSI Paul's avatar
      Merge branch 'split-workers-from-runtime-at-interface-level' into 'master' · 123c779e
      CARDOSI Paul authored
      Separate task graph from work execution.
      See merge request bramas/spetabaru!27
    • CARDOSI Paul's avatar
      Separate task graph from work execution. · 40ae356e
      CARDOSI Paul authored
      Squashed commit messages :
      Draft 2.
      Draft 3.
      Lock worker lock and compute engine lock in the same order everywhere.
      Forward SpRuntime nbThreads argument to SpComputeEngine constructor. Remove debug printouts.
      Lock all locks in scoped ordered lock through a unique_lock instance.
      Implement svg trace function in SpTaskGraph. Implement stopAllThreads function in SpRuntime. Use plain mutexes in SpScopedOrderedLock.
      Allow compute engine pointer of worker to be changed by main thread.
      Remove unnecessary boolean variable.
      Optimize for the case where workers just keep popping the next task from the same compute engine.
      Begin work on detachWorkers function.
      Begin remodeling code to allow workers to be detached.
      Working version.
      Remove unnecessary shouldBeMigrated member variable.
      Properly stop workers and compute engine.
      Fix broken svg trace generation function.
      Remove unused classes.
      Add compute engine and task graph unit tests. Fix avaiable workers logic.
      Use small_vector in compute engine.
      Refactor compute engine unit test.
      Remove redundant synchronization.
      Forgot to add lock back into bindTo function.
      Trying to add atomics for most common case (broken).
      Seems to work.
      Bind to ce should be release/acquire.
      Stop flag memroy operations should be memory order relaxed. Load of ce inside mutex protected region should be relaxed. Add comment explaining choice of memory order for atomic load of ce in worker loop.
      Set thread id in worker constructor.
      Change comment about ce load memory order.
      Condition inside waitOnCe was wrong.
      Forgot to remove duplicate code. Change update logic for waiting worker counters.
  2. 26 Aug, 2020 1 commit
  3. 18 Jun, 2020 2 commits
  4. 03 Jun, 2020 1 commit
  5. 02 Jun, 2020 2 commits
  6. 28 May, 2020 2 commits
    • CARDOSI Paul's avatar
      Merge branch 'callable-wrappers' into 'master' · 0dc80b8a
      CARDOSI Paul authored
      Add support for gpu callables on task method interface
      See merge request bramas/spetabaru!23
    • CARDOSI Paul's avatar
      Add interface support for gpu callables. · efe644a0
      CARDOSI Paul authored
      Patition and check task method call arguments for both tasks created by the user and tasks created internally by the runtime.
      Replace index_sequence unpacking logic with a foreach_in_tuple template function.
      Restructure SpRuntime source file.
      Use g++-8 for ci tests.
  7. 08 Apr, 2020 1 commit
  8. 06 Apr, 2020 2 commits
  9. 03 Apr, 2020 1 commit
  10. 25 Mar, 2020 1 commit
  11. 17 Mar, 2020 2 commits
  12. 12 Mar, 2020 2 commits
  13. 04 Mar, 2020 9 commits
  14. 03 Mar, 2020 9 commits
  15. 02 Mar, 2020 3 commits