Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-12-23 | Updated the database to use the new TRSV and Invert tuners | Cedric Nugteren | |
2017-10-27 | Added GEMV synchronisation for the TRSV routine: similar bug as in TRSM | Cedric Nugteren | |
2017-04-07 | Added some missing const-ness | Cedric Nugteren | |
2017-02-27 | Fixed half-precision bugs in HTBMV/HTPMV/HTRMV/HSYR2K/HTRMM related to ↵ | Cedric Nugteren | |
incorrect constants | |||
2017-02-26 | Merge branch 'development' into triangular_solvers | Cedric Nugteren | |
2017-02-13 | Fixed a small bug in GEMV: unused kernel in parameter list | Cedric Nugteren | |
2017-02-05 | Merge branch 'development' into triangular_solvers | Cedric Nugteren | |
2017-02-04 | Improved substition kernels a bit; added complex support | Cedric Nugteren | |
2017-02-04 | Completed a first STRSV implementation | Cedric Nugteren | |
2017-02-04 | Added row-major support for TRSV | Cedric Nugteren | |
2017-01-29 | Added first (incomplete) version of TRSV routine | 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-20 | Added prototype for the TRSV routine | Cedric Nugteren | |
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-25 | Moved the XgemvFast and XgemvFastRot tuning database into a separate file | Cedric Nugteren | |
2016-07-23 | Improved the XgemvFastRot kernel by tiled loading of the input matrix A, ↵ | Cedric Nugteren | |
enabling better memory performance | |||
2016-07-10 | Now passing alpha/beta to the kernel as arguments as before fp16 support; in ↵ | Cedric Nugteren | |
case of fp16 arguments are cast on host and in kernel | |||
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-05-22 | Added level-2 half-precision routines HGER/HSYR/HSPR/HSYR2/HSPR2 | Cedric Nugteren | |
2016-05-22 | Prepared the GER kernels and tuner for half-precision support | Cedric Nugteren | |
2016-05-22 | Added level-2 half-precision routines ↵ | Cedric Nugteren | |
HGEMV/HGBMV/HHEMV/HHBMV/HHPMV/HSYMV/HSBMV/HSPMV/HTRMV/HTBMV/HTPMV | |||
2016-05-22 | Prepared the GEMV kernels and tuner for half-precision support | Cedric Nugteren | |
2016-04-28 | Fixed the cache to store binaries instead of OpenCL programs | Cedric Nugteren | |
2016-04-09 | Events are now properly implemented using event waiting list and asking the ↵ | cnugteren | |
user to wait for event completion | |||
2016-04-04 | Removed redundant queue synchronisation statements | cnugteren | |
2016-03-06 | Fixed a bug in the GER-family of routines due to incorrect division of the ↵ | Cedric Nugteren | |
workgroup size | |||
2016-03-06 | Added preliminary support for xHPR2 and xSPR2 routines | Cedric Nugteren | |
2016-03-02 | Added preliminary support for xHER2 and xSYR2 routines | Cedric Nugteren | |
2016-02-28 | Fixed a couple of correctness bugs in the Xher kernels | Cedric Nugteren | |
2016-02-28 | Added support for xHER, xHPR, xSYR, and xSPR routines | Cedric Nugteren | |
2016-02-20 | Added support for xGERU and xGERC routines | Cedric Nugteren | |
2016-02-20 | Added XGER routine, kernel, and tuner | Cedric Nugteren | |
2016-02-08 | Split-up the XGEMV kernel in two parts | Cedric Nugteren | |
2015-09-26 | Added TRMV/TBMV/TPMV routines | CNugteren | |
2015-09-19 | Added SBMV and SPMV routines | CNugteren | |
2015-09-19 | Added the HPMV routine | CNugteren | |
2015-09-19 | Added the HBMV routine | CNugteren | |
2015-09-18 | Improved the organization and performance of level 2 routines | CNugteren | |
2015-09-18 | Added first version of banded matrix-vector multiplication | CNugteren | |
2015-08-04 | Added distinguished names for GEMV inherited HEMV/SYMV | CNugteren | |
2015-07-31 | Added HEMV routine | CNugteren | |
2015-07-31 | Added SYMV routine | CNugteren | |
2015-07-27 | Now using the new Claduc C++11 OpenCL header | CNugteren | |