1. 07 Nov, 2019 1 commit
  2. 05 Nov, 2019 1 commit
    • Swann Perarnau's avatar
      [refactor/fix] remove extra cpitch in layout_dense · f8b5f992
      Swann Perarnau authored
      Cummulative pitches were kept up to the total storage size of the
      layout, even though our code never uses this information. Remove a bug
      due to bad array size arithmetic, and remove the extra element in the
      array too.
      
      This patch also removes the pitches provided by the user from the
      struct.
      f8b5f992
  3. 22 Oct, 2019 2 commits
    • Swann Perarnau's avatar
      [refactor] simplify CUDA detection and activation · 76577a9e
      Swann Perarnau authored
      The previous CUDA activation code was trying to differentiate between
      building CUDA support and actually running the tests, but this isn't
      really necessary: any platform with CUDA support should be able to run
      the tests somewhere.
      
      The configure.ac is modified to also check for all necessary cuda
      runtime and headers at once.
      
      We also introduce support for CUDA_HOME, which is an environment
      variable available on some target systems.
      76577a9e
    • Swann Perarnau's avatar
      [fix] ensure proper bitmask management for NUMA · 9a4f4ba7
      Swann Perarnau authored
      Linux area code and associated test was making assumptions about a NUMA
      bitmask always being contiguous, which is not necessarily the case on
      complex topologies.
      9a4f4ba7
  4. 09 Oct, 2019 1 commit
    • Swann Perarnau's avatar
      [doc/ci] make docs a configure flags, test it · 357b98dc
      Swann Perarnau authored
      Add a configure option for building docs, and create a CI job that will
      always run to validate it. Note that make install-data doesn't need
      source builds, so the environment can be quite small.
      
      This patch also fixes the uncovered issues, and make doc build fail on
      warnings.
      357b98dc
  5. 02 Oct, 2019 2 commits
  6. 17 Sep, 2019 2 commits
  7. 16 Sep, 2019 1 commit
  8. 30 Aug, 2019 4 commits
    • Swann Perarnau's avatar
      [feature] add padded layouts · 73b7c567
      Swann Perarnau authored
      Merge of padded layouts implementation from @videau, which provides a
      way to extend a layout in any dimension by using a neutral element.
      73b7c567
    • Swann Perarnau's avatar
      [feature] add extra argument to dma operator · 7eb3d520
      Swann Perarnau authored
      Some operators will need an extra argument (like transforms).
      7eb3d520
    • Swann Perarnau's avatar
      [feature] extend dma to support custom operators · 42d0d493
      Swann Perarnau authored
      Change the DMA generic API to allow for a custom function pointer to
      perform a specific request. Requires us to change a bit the underlying
      management structures.
      42d0d493
    • Nicolas Denoyelle's avatar
      [feature] add area options on mmap · c3a501b9
      Nicolas Denoyelle authored
      ## Change area mmap interface to include implementation specific options.
      
      ### Summary of changes in mmap interface
      Previous mmap interface was:
      ```
      int aml_area_mmap(struct aml_area *area, void*ptr, size_t size);
      ```
      First, in this interface, the purpose of ptr is fuzzy as it is implementation specific and neither
      the user nor aml generic interface knows what to do with it in a generic way.
      Second, this interface does not allow for extensive options. In particular, linux mmap allow
      multiple arguments that cannot be elegantly passed with this interface.
      Instead we aml_mmap replace with this new interface:
      ```
      int aml_area_mmap(struct aml_area *area, size_t size, struct aml_area_options *options);
      ```
      Where the last field clearly state it is used for options and can always be NULL so that it can explicitly be used without knowledge of options implementation.
      c3a501b9
  9. 23 Aug, 2019 1 commit
    • Nicolas Denoyelle's avatar
      ### Cuda implementation of areas. · df3b0f85
      Nicolas Denoyelle authored
      New area allow to allocate data on cuda devices.
      Allocation optionally include the ability to map
      host memory on device memory. See cuda area
      documentation.
      
      Includes libtool helper to link cuda device object files
      with the remaining of the library.
      
      An additional error code has been added to aml errors for handling busy cuda devices
      Also, all CI stages as been set not to run on branches name starting with wip.
      df3b0f85
  10. 22 Aug, 2019 3 commits
  11. 21 Aug, 2019 3 commits
    • Swann Perarnau's avatar
      [refactor/fix] harden dmas · f43d2d6d
      Swann Perarnau authored
      Various fixes related to dma API, missing validation on arguments,
      pthread management and so on.
      f43d2d6d
    • Swann Perarnau's avatar
      [test/fix] add checks on layout_dense_create · 625a0e57
      Swann Perarnau authored
      Unit tests were missing a few corner cases on dense_create. In
      particular, there was a bug in the handling of the NULL pitch.
      625a0e57
    • Swann Perarnau's avatar
      [refactor/test] speed up and improve bitmap tests · d70a25c6
      Swann Perarnau authored
      The bitmap tests were slowing down the entire pipeline, while at the
      same time missing important checks on the inputs. This version is a bit
      more exhaustive, while also speeding up the test by only checking the
      corner-cases (first bits, last bits, partial ranges, overlapping
      ranges).
      d70a25c6
  12. 20 Aug, 2019 2 commits
    • 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
    • Swann Perarnau's avatar
      [refactor] change vector to alloc data out of it · e964e69e
      Swann Perarnau authored
      We need the vector type used for all our "command queues" to be able to
      maintain pointers to the inner data structure across reallocs of the
      vector itself. The resulting change just uses independent callocs for
      each pointer to a data element.
      e964e69e
  13. 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
  14. 07 Aug, 2019 2 commits
  15. 06 Aug, 2019 1 commit
  16. 15 Jul, 2019 1 commit
  17. 02 Jul, 2019 8 commits
  18. 28 Jun, 2019 1 commit
  19. 27 Jun, 2019 1 commit
  20. 10 Apr, 2019 2 commits