1. 22 Aug, 2019 3 commits
  2. 20 Aug, 2019 1 commit
    • Swann Perarnau's avatar
      [refactor/fix] use uuid in user-side request type · 04315e6e
      Swann Perarnau authored
      Since vector resize can cause pointers into the vector to become
      invalid, this patch introduces a level of indirection for DMAs and
      Scratchs, using uuid on the user-side of a request to index into the
      request vector.
      04315e6e
  3. 13 Aug, 2019 1 commit
    • Swann Perarnau's avatar
      [refactor] redesign DMAs to support layouts · d8f56ffc
      Swann Perarnau authored
      Refactor the DMA API to work on layouts internally. The resulting code
      ends up simpler for most cases, as long as we add a generic copy
      function.
      
      One things missing:
      - a good API to expose the collection of copy functions we have.
      
      One question not solved:
      - should the DMA ask for a copy function on each operation ?
      d8f56ffc
  4. 07 Aug, 2019 1 commit
  5. 15 Jul, 2019 1 commit
  6. 02 Jul, 2019 1 commit
  7. 10 Apr, 2019 1 commit
  8. 09 Apr, 2019 1 commit
  9. 27 Mar, 2019 1 commit
  10. 20 Mar, 2019 1 commit
  11. 13 Mar, 2019 2 commits
  12. 15 Feb, 2019 1 commit
  13. 30 Mar, 2018 1 commit
    • Swann Perarnau's avatar
      [feature] add function to release a scratch tile · 7260868d
      Swann Perarnau authored
      When a user doesn't need a tile to be pushed back into the scratchpad,
      it is better to just `release` that tile instead. This is particularly
      useful for read-only data for applications that are bandwidth limited.
      7260868d
  14. 29 Mar, 2018 1 commit
  15. 28 Mar, 2018 3 commits
    • Swann Perarnau's avatar
      [feature] make scratch_par thread-safe · 1e1f1ced
      Swann Perarnau authored
      Add mutex to make request creation and destruction thread-safe. As for
      scratch_seq, we need to deal both with requests and tiles during these
      functions, so we lock the entire section.
      1e1f1ced
    • Swann Perarnau's avatar
      [refactor] remove unnecessary data from request · 22063684
      Swann Perarnau authored
      The request type contains two much stuff, remove extra pointers to win
      some space.
      22063684
    • Swann Perarnau's avatar
      [feature] add a pthread based scratchpad · fa51aea5
      Swann Perarnau authored
      Add a scratchpad that creates one pthread per request, to call
      synchronous dma operations.
      
      The intent is to end up with a cross product of programming language
      support between dma and scratch:
      - scratch_par + dma_seq gives users parallel scratch requests
      - scratch_seq + dma_par gives users sequential access to parallel moves
      
      The two other options don't make as much sense though.
      fa51aea5
  16. 27 Mar, 2018 1 commit
    • Swann Perarnau's avatar
      [refactor] use vector in scratch · 20354336
      Swann Perarnau authored
      Replace custom code with generic vectors for the scratch implementation.
      In the process, fix a bug in the management of tiles, as they were being
      freed on pull completion, which is wrong.
      20354336
  17. 26 Mar, 2018 2 commits
    • Swann Perarnau's avatar
      [feature] make scratchpad track its own tiles · be88fe46
      Swann Perarnau authored
      Move the scratchpad tiles into an internal concern:
      - the scratchpad does the allocation
      - the scratchpad tracks available tiles internally
      - the user can ask for the scratch baseptr.
      
      This is necessary to abstract move-based scratchs, and to remove from the
      user responsibility of maintaining tiling and baseptr tracking.
      
      We still fail-hard when tiles are not available, and the design is not
      thread safe. But we are getting there.
      be88fe46
    • Swann Perarnau's avatar
      [feature] add sequential, copy-based scratchpad · 73b57ae5
      Swann Perarnau authored
      This is the initial implementation and validation of a scratchpad: a
      logic unit that handles tracking data across a "main" area and a
      "scratch" area.
      
      The API and internals will probably change again soon, as there's no
      clear way to implement a move based scratchpad on this one.
      
      Note that this implementation doesn't do any tracking, not really, and
      that's the next step.
      73b57ae5