- 05 Sep, 2019 3 commits
-
-
Swann Perarnau authored
-
Swann Perarnau authored
Only works for scratch_seq right now.
-
Swann Perarnau authored
Refactor the tilings to become generic to N dimensions, and interfacing with the newly added layouts. The main idea for this version of tilings is to provide an index into a partitioning of a source layout into sub-layouts of smaller sizes.
-
- 03 Sep, 2019 1 commit
-
-
Swann Perarnau authored
[feature] add padded layouts See merge request !80
-
- 30 Aug, 2019 6 commits
-
-
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.
-
Swann Perarnau authored
[feature] extend dma to support custom operators See merge request !79
-
Swann Perarnau authored
Some operators will need an extra argument (like transforms).
-
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.
-
Swann Perarnau authored
[feature] add area options on mmap See merge request !78
-
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.
-
- 23 Aug, 2019 2 commits
-
-
Swann Perarnau authored
Area cuda See merge request !76
-
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.
-
- 22 Aug, 2019 4 commits
-
-
Swann Perarnau authored
Remove dma va args Closes #49 See merge request !77
-
Swann Perarnau authored
Now that only one type of request is allowed (layouts), remove va_args for the DMA API, making it significantly cleaner. Fix #49.
-
Swann Perarnau authored
Remove support for direct pointers in a DMA request, with the goal to remove va_args in the entire DMA API soon. As scratchs still work with pointers, also modify scratchs to convert tiles in layouts.
-
Swann Perarnau authored
This reverts commit 04315e6e. Not needed since vector doesn't contain the actual inner type.
-
- 21 Aug, 2019 5 commits
-
-
Swann Perarnau authored
Improve speed and exhaustiveness of the unit tests. See merge request !74
-
Swann Perarnau authored
Various fixes related to dma API, missing validation on arguments, pthread management and so on.
-
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.
-
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).
-
Swann Perarnau authored
Fix vector resize issue on async requests Closes #48 See merge request !75
-
- 20 Aug, 2019 2 commits
-
-
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.
-
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.
-
- 13 Aug, 2019 2 commits
-
-
Swann Perarnau authored
[refactor] redesign DMAs to support layouts Closes #46 See merge request !73
-
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 ?
-
- 07 Aug, 2019 4 commits
-
-
Swann Perarnau authored
Add inner-malloc utils Closes #45 See merge request !69
-
Swann Perarnau authored
Layout are a bit more complex as they contain extra arrays at the end of the struct, so new macros are required.
-
Swann Perarnau authored
Use the newly added INNER_MALLOC for all the relevant creators.
-
Swann Perarnau authored
Add a set of macros to help us deal with several mallocs back-to-back in creators, while ensuring that pointers stay aligned properly. See #45 for details. Related to the !68 cleanup.
-
- 06 Aug, 2019 2 commits
-
-
Swann Perarnau authored
AML Layouts See merge request !70
-
Nicolas Denoyelle authored
Add new building block describing how data is organized in memory.
-
- 15 Jul, 2019 2 commits
-
-
Swann Perarnau authored
Remove static allocs Closes #37 See merge request !68
-
Swann Perarnau authored
Removes static allocations of all objects from the library. While this will make our code less compact in theory, this part of the API is too confusing for new users.
-
- 02 Jul, 2019 7 commits
-
-
Swann Perarnau authored
Make out-of-tree build work See merge request !63
-
ndenoyelle authored
Adapted to the new master from a patch sent by @cfoyer When building out of tree as the, make sure that target refer to relative paths. This commit also clean-up the usage of the flags and defines a per-target definition of flags (can be changed for a AM_CPPFLAGS if the global definition is good enough). Signed-off-by:
Clement Foyer <cfoyer@cray.com> Also adds Clement to the authors list.
-
ndenoyelle authored
Out-of-tree builds are popular when one doesn't want to pollute the source tree with objects. It also helps debug build setup issues.
-
ndenoyelle authored
- hide echo command but not echo itself - fix dist-hook useless if not building doc and creating error on make dist
-
Swann Perarnau authored
Better flags for CI See merge request !65
-
Swann Perarnau authored
Sometimes the CI fails on configure, make sure we capture the log file for those cases.
-
Swann Perarnau authored
Recursive makefiles do not propagation automake flags (AM_CFLAGS), making the proper configuration of the whole build chain more complex than it needs to be. This patch goes back to a single makefile.am in src, simplifying the build quite a bit.
-