- 25 Mar, 2019 1 commit
-
-
Swann Perarnau authored
To ensure that unit tests include the right version of the code, aml.h should include local header. This also works for installed programs.
-
- 22 Mar, 2019 2 commits
-
-
Swann Perarnau authored
[refactor] use autoconf + m4 for version mngmt See merge request !36
-
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.
-
- 21 Mar, 2019 5 commits
-
-
Nicolas Denoyelle authored
Aml version See merge request !35
-
Nicolas Denoyelle authored
-
Nicolas Denoyelle authored
-
Nicolas Denoyelle authored
-
Nicolas Denoyelle authored
-
- 20 Mar, 2019 3 commits
-
-
Swann Perarnau authored
Continue splitting headers. See merge request !34
-
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
-
- 19 Mar, 2019 3 commits
-
-
Swann Perarnau authored
[doc] add documentation on design/workflow Closes #29 See merge request !33
-
Swann Perarnau authored
Document design principles, coding guidelines, contribution workflow.
-
Swann Perarnau authored
[refactor] make bitmasks closer to a real type See merge request !32
-
- 14 Mar, 2019 1 commit
-
-
While the current bitmask management is heavily inspired by libnuma, it is not as easy to use has the libnuma API. This patch is an attempt to refactor to code towards something cleaner.
-
- 13 Mar, 2019 4 commits
-
-
Swann Perarnau authored
Add No-op request capability to Scratch Closes #18 See merge request !31
-
Swann Perarnau authored
If an operation should not trigger any actual work, create a no-op request to deal with it properly. Related to #18.
-
Swann Perarnau authored
Reorganisation of aml files See merge request !30
-
- 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)
-
- 12 Mar, 2019 1 commit
-
-
Swann Perarnau authored
[ci] URL fix for gitlab CI. See merge request !29
-
- 11 Mar, 2019 1 commit
-
-
Valentin Reis authored
-
- 08 Mar, 2019 2 commits
-
-
Swann Perarnau authored
[fix] Embed custom jemalloc into libaml Closes #26 See merge request !28
-
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.
-
- 15 Feb, 2019 1 commit
-
-
Swann Perarnau authored
-
- 27 Aug, 2018 3 commits
-
-
Swann Perarnau authored
Mbind is giving us trouble again, will need to spend time looking at it carefully.
-
Swann Perarnau authored
Modify the benchmarks to use the new functions.
-
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.
-
- 24 Aug, 2018 1 commit
-
-
Swann Perarnau authored
Tiling 2d and its interfaces wasn't the right way of looking at 2d grids of tiles. Rename the contig ones to provide the required features.
-
- 20 Aug, 2018 2 commits
-
-
Swann Perarnau authored
This patch provides aligned allocations for all areas. Simple tests included. Note that I haven't tested if it conflicts with arena-wide alignements.
-
Swann Perarnau authored
We are going to need more of those flags, and keeping track of the conversions is tricky. So let's use a copy of the macros.
-
- 06 Aug, 2018 10 commits
-
-
Swann Perarnau authored
mbind requires that the input ptr be aligned on a page. NOTE: we could also figure out a way to ask jemalloc for page-aligned allocations, but that would probably be too much for each alloc.
-
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.
-
Swann Perarnau authored
The way jemalloc handles big allocations can often result in surprising calls to mmap/mbind (splitting allocations, rounded up sizes). It also makes the path between an aml_alloc and mbind quite difficult to see. More worrying, if jemalloc reuses a previous allocation, the mbind will not be called again, which might result in the wrong binding happening. To fix those issues, we move the mbind logic to be around the allocations returned from jemalloc. This will ensure that we always bind properly. The only issue is that it might slow down allocations. It can also cause issues if the same arena is used by multiple areas, as allocations might be overlapping a page. We will move away from sharing arenas for benchmarks from now on.
-
Kamil Iskra authored
Duplicate changes to dgemm_nofetch.c from commits 6a0d1cbd and 9326c388.
-
Kamil Iskra authored
We had a race condition where OpenMP threads were accidentally reusing the same variables on stack, resulting in races and incorrect results. The number of FP operations was probably correct, although the memory accesses to the arrays may have been wrong.
-
Kamil Iskra authored
The A, B, and C matrices are tiled (tiles in A are also transposed). Add initialization code for A and B and conversion code for C that respects the tiling, thus enabling a direct comparison of results with mkl and vanilla.
-
Swann Perarnau authored
Benchmarks were crashing due to bad parameters.
-
Swann Perarnau authored
Use the new 2D tilings for dgemm_prefetch, also refactor the code to match the rest of the benchmarks. The code should be a lot more cleaner now.
-
Swann Perarnau authored
Fix dgemm_noprefetch to match pattern from @suchyb in #19. In order to do so we split our 2d tiling into column-major and row-major ones. Note that those are refering to the order of the tiles, not the internal data of a tile, as a tiling should be agnostic to it.
-
Swann Perarnau authored
1. refactor overall main function to match intended benchmark interface. 2. Use the new tiling type to cleanup the noprefetch version. Careful inspection unearthed some bad offset computations, which are fixed here. 3. double checked the way we were spawning threads, new code should be straightforward. I believe that code should be easier to read and to play with. Converting the prefetch versions might not be as easy.
-