Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-07-02 | Added interface and stubs for the im2col routine | Cedric Nugteren | |
2017-03-19 | Added an (optional) non-direct implementation of the batched GEMM routine | Cedric Nugteren | |
2017-03-11 | Added initial naive version of the batched GEMM routine based on the direct ↵ | Cedric Nugteren | |
GEMM kernel | |||
2017-03-10 | Added API and test infrastructure for the batched GEMM routine | Cedric Nugteren | |
2017-03-08 | Implemented a batched version of the AXPY kernel | Cedric Nugteren | |
2017-03-08 | Make batched routines based on offsets instead of a vector of cl_mem objects ↵ | Cedric Nugteren | |
- undoing many earlier changes | |||
2017-03-05 | Added first naive version of the batched AXPY routine | Cedric Nugteren | |
2017-02-26 | Fixed an out-of-bounds memory access when filling a matrix with a constant | Cedric Nugteren | |
2017-02-22 | Fixed a few issues with the TRSM routine; some tests still failing | Cedric Nugteren | |
2017-02-05 | Merge branch 'development' into triangular_solvers | Cedric Nugteren | |
2017-01-24 | Routine, Cache: generalize, reduce amount of copying in fast path | Ivan Shapovalov | |
Implement a generalized Cache<K, V>. Two variants are provided: the first one is based on std::map, using C++14-specific transparent std::less<> and generalized std::map::find() to allow searching by tuple of references. The second one is based on std::vector and O(n) lookup, but remains C++11-compliant. | |||
2017-01-18 | Added first version of the TRSM routine based on the diagonal invert kernel | Cedric Nugteren | |
2017-01-15 | Added a first version of the diagonal block invert routine in preparation of ↵ | Cedric Nugteren | |
TRSM | |||
2016-10-22 | Routine: get rid of ::SetUp() | Ivan Shapovalov | |
Since we now use C++ exceptions inside the implementation (and exceptions can be thrown from constructors), there is no need for a separate Routine::SetUp() function. For this, we also change the way how the kernel source string is constructed. The kernel-specific source code is now passed to the Routine ctor via an initializer_list of C strings to avoid unnecessary data copying while also working around C1091 of MSVC 2013. | |||
2016-10-22 | treewide: use C++ exceptions properly | Ivan Shapovalov | |
Since the codebase is designed around proper C++ idioms such as RAII, it makes sense to only use C++ exceptions internally instead of mixing exceptions and error codes. The exceptions are now caught at top level to preserve compatibility with the existing error code-based API. Note that we deliberately do not catch C++ runtime errors (such as `std::bad_alloc`) nor logic errors (aka failed assertions) because no actual handling can ever happen for such errors. However, in the C interface we do catch _all_ exceptions (...) and convert them into a wild-card error code. | |||
2016-07-16 | Removed an unused variable from the copy-transpose-pad function | Cedric Nugteren | |
2016-06-19 | Renamed all C++ source files to .cpp to match the .hpp extension better | Cedric Nugteren | |
2016-06-18 | Moved all headers into the source tree, changed headers to .hpp extension | Cedric Nugteren | |
2016-06-18 | Removed the template from the Routine base-class | Cedric Nugteren | |
2016-06-17 | Removed the precision argument from the routines in favor of a single ↵ | Cedric Nugteren | |
templated function | |||
2016-06-17 | Removed the interface to the cache functions from the Routine class, calls ↵ | Cedric Nugteren | |
them directly now | |||
2016-06-17 | Moved the RunKernel and PadCopyTransposeMatrix functions out of the Routine ↵ | Cedric Nugteren | |
class | |||
2016-06-17 | Moved the test-for-valid-buffers function from the Routine class to separate ↵ | Cedric Nugteren | |
functions in a separate file | |||
2016-06-16 | Added XOMATCOPY routines to perform out-of-place matrix scaling, copying, ↵ | Cedric Nugteren | |
and/or transposing |