- 09 Apr, 2019 3 commits
-
-
Swann Perarnau authored
Implement #31 for scratch. Improve error management. Checkpatch scratch.
-
Swann Perarnau authored
Implement #31 for dma. Improve error management. Checkpatch dma
-
Swann Perarnau authored
Convert area/area_linux to new error handler. Implement #31 for area. Checkpatch area Note that area_linux is still using a dynamic data structure no matter what: a bitmask to the set of authorized nodes. The conversion to aml_bitmap wouldn't help as there's no default value available for all nodes on that type (similar to numa_all_nodes_ptr).
-
- 29 Mar, 2019 1 commit
-
-
Swann Perarnau authored
Same as the rest.
-
- 27 Mar, 2019 1 commit
-
-
- 20 Mar, 2019 2 commits
-
-
Swann Perarnau authored
The overall strategy for now is to split the implementations into distinct headers, but keep the generic APIs inside the main aml.h Related to #27
-
Swann Perarnau authored
The overall strategy for now is to split the implementations into distinct headers, but keep the generic APIs inside the main aml.h Related to #27
-
- 13 Mar, 2019 1 commit
-
-
- 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)
-
- 15 Feb, 2019 1 commit
-
-
Swann Perarnau authored
-
- 06 Aug, 2018 1 commit
-
-
Swann Perarnau authored
Prevents issue with the new arena/alloc logic. This way, no allocation can end up overlapping the pages of another one on a different binding.
-
- 24 Jul, 2018 1 commit
-
-
Swann Perarnau authored
Move towards a common list of args and a common log/timing infrastructure for benchmarks.
-
- 20 Jul, 2018 1 commit
-
-
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
-
- 30 Mar, 2018 4 commits
-
-
Swann Perarnau authored
Fix small issues with type convertion across several tests, as a change of architecture might trigger bad behavior in variadic functions.
-
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.
-
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.
-
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.
-
- 23 Aug, 2017 1 commit
-
-
Swann Perarnau authored
libnuma will sometimes fail for our test cases if NUMA node 0 is not available on the system. Use "all" instead as the default, as it will always work.
-
- 22 Aug, 2017 1 commit
-
-
Swann Perarnau authored
This is a rewrite of the existing code into a memory library exposing more of its internal abstractions. This refactoring is required to: - make progress faster by focusing on the core new features - abstract more of the underlying components and expose those abstractions - build upon existing libraries (memkind) for the internal stuff. Memkind is used as a crutch here, we do not intend to use it in the long term, as some of its internal are opposed to what we want (topology management in particular). Nevertheless, it currently provides a good allocator internally, and decent access to deep memory, for now. Over time, we figured out that the best way to build this API was to create several layers of APIs, each with more abstractions over the devices. At the same time, we want each layer to expose its internal mechanisms, so that a user can customize any of them. This is why we end up with areas and dma engines, and we will add in the future other stuff, like data decomposition and distribution methods, as well as direct support for "pipelining".
-
- 27 Feb, 2017 1 commit
-
-
Swann Perarnau authored
This is a mmap-based, non-transparent version of the library, with a unit test checking that we can call move_pages properly from it. No node tracking performed. Memcpy not working.
-