1. 02 Jul, 2019 3 commits
  2. 25 Apr, 2019 1 commit
  3. 10 Apr, 2019 2 commits
  4. 09 Apr, 2019 4 commits
  5. 01 Apr, 2019 1 commit
  6. 29 Mar, 2019 3 commits
  7. 27 Mar, 2019 1 commit
  8. 26 Mar, 2019 3 commits
  9. 22 Mar, 2019 1 commit
    • Swann Perarnau's avatar
      [refactor] use autoconf + m4 for version mngmt · d8803390
      Swann Perarnau authored
      Use m4 to define autoconf-level version variables, following the naming
      scheme of semver.org
      
      To make use of these variables in the headers and sources, a
      generated-header is added in aml/utils/version.h
      
      Also add a simple test for that part of the lib.
      d8803390
  10. 20 Mar, 2019 2 commits
  11. 14 Mar, 2019 1 commit
  12. 13 Mar, 2019 1 commit
    • Nicolas Denoyelle's avatar
      [refactor] reorganize repository · 2ad4488c
      Nicolas Denoyelle authored
      - create one directory per building block in src and include
      - keep one directory for tests, \
        otherwise automake make them "test suites"
      - move to AC_OPENMP, which is from autoconf 2.62 (2008)
      2ad4488c
  13. 08 Mar, 2019 1 commit
    • Swann Perarnau's avatar
      [fix] Embed custom jemalloc into libaml · ac85bab6
      Swann Perarnau authored
      Force libtool to static link the PIC version of our jemalloc import into
      libaml, making libaml standalone. This requires us to test some
      additional libraries in our own configure (pthread, and dlopen).
      
      This also solves the long-standing issue of `make check` only working after
      `make install`, while removing our custom jemalloc from the installed
      libraries.
      
      Fixes #26.
      ac85bab6
  14. 15 Feb, 2019 1 commit
  15. 27 Aug, 2018 2 commits
    • Swann Perarnau's avatar
      [fix] fixup unit tests · c759c9df
      Swann Perarnau authored
      Mbind is giving us trouble again, will need to spend time looking at it
      carefully.
      c759c9df
    • Swann Perarnau's avatar
      [feature/refactor] add tileid function · 55500ab0
      Swann Perarnau authored
      Instead of asking the user to provide the offsets into a tiling, add a
      function providing a tileid. This tileid corresponds to the in-memory
      order of tiles, making the tilestart functions a lot simpler.
      
      We still need to split the tileid for tilestart because scratchpads
      create requests based on tileids.
      
      Also add a unit test for tiling_2d, to make sure we're not doing
      anything crazy.
      55500ab0
  16. 20 Aug, 2018 1 commit
  17. 20 Jul, 2018 1 commit
    • Swann Perarnau's avatar
      [refactor] move functional tests, proper OpenMP · 51167d12
      Swann Perarnau authored
      We are starting to work on benchmarks to evaluate the usefulness of this
      library. Instead of integrating them into the testing infrastructure, it
      makes more sense for them to have their own directory and a different
      way of handling them.
      
      This patch:
       - creates a benchmark directory for actual codes that we want to use as
         benchmarks of our library.
       - moves functional tests into it.
       - add proper OpenMP detection for these codes
      51167d12
  18. 02 Jul, 2018 2 commits
  19. 30 Mar, 2018 4 commits
    • Swann Perarnau's avatar
      [fix] enforce type convertion, better pointer management · 54d0b418
      Swann Perarnau authored
      Fix small issues with type convertion across several tests,
      as a change of architecture might trigger bad behavior in
      variadic functions.
      54d0b418
    • Swann Perarnau's avatar
      [test] add openmp version of mt stream_add · 956d9453
      Swann Perarnau authored
      This is a second type of use for the scratchpad: a single master
      thread is responsible for launching all data movements, but the tiles
      are worked on in parallel. We support this model by using a sequential
      scratch on top of a parallel dma.
      956d9453
    • Swann Perarnau's avatar
      [refactor] add openmp version of stream_add_pth · 21d3724e
      Swann Perarnau authored
      Add openmp version of the previous functional test. We also rename them,
      to mark the fact that those two tests are designed to use a *single-thread*
      to run the kernel across an entire tile.
      21d3724e
    • Swann Perarnau's avatar
      [refactor] make use of functional tests again · f47dc685
      Swann Perarnau authored
      This patch reintroduce the first functional test, a stream add
      implementation using pthreads for parallelism. We make use of our
      scratch_par implementation to implement a pipelined version of the
      application, where each worker thread is using its own batch of tiles,
      and migrating data asynchronously.
      f47dc685
  20. 28 Mar, 2018 1 commit
    • 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
  21. 27 Mar, 2018 1 commit
    • Swann Perarnau's avatar
      [feature] add generic vector type to library · 72c8508d
      Swann Perarnau authored
      Add a generic vector type to the library, with some special features:
      - the elements are embedded in the vector, and not pointers
      - each element must include an int field that is used as a "key"
      - the element has a "null" value for its key, used to indicate that this
      element of the vector is null.
      - add/remove functions provide access to a new element/free it from the
      vector, but don't "destroy" it.
      - resize on add is exponential.
      
      This patch includes implementation and unit test.
      72c8508d
  22. 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
  23. 23 Mar, 2018 1 commit