summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-01-24Routine: cache the database instance as wellIvan Shapovalov
This does not change much, but will become useful in next commits when plugin support is introduced.
2017-01-24Database: ref-count the internal map for cachingIvan Shapovalov
2017-01-24Routine, Cache: generalize, reduce amount of copying in fast pathIvan 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-24FillCache: perform compilation for each precision separatelyIvan Shapovalov
Thus do not prevent filling cache for float if the device does not support e. g. double.
2017-01-24Routine: fix semi-warm routine construction (when binary is in cache)Ivan Shapovalov
There was a missing return statement in the semi-warm path that made CLBlast to continue to cold path after a cache hit.
2017-01-24src/clpp11.hpp: check pointers before clRelease*()Ivan Shapovalov
This is to avoid spurious "induced" errors on destruction, if construction failed for some reason.
2017-01-24src/clpp11.hpp: do not store program source/binary in ProgramIvan Shapovalov
The stored source/binary does not seem to serve any purpose, yet its presence makes Program a heavy (not pure refcounted) object, which is undesired esp. because it is copied from the cache in the hot path.
2017-01-20treewide: include clpp11.hpp first to silence deprecation warningsIvan Shapovalov
Otherwise, cl.h gets included through clblast.h before clpp11.hpp.
2017-01-20Routine: use PrecisionSupported<>() instead of duplicating the checkIvan Shapovalov
2017-01-20Added prototype for the TRSV routineCedric Nugteren
2017-01-20Set number of decimals for floating-point printing for error reportingCedric Nugteren
2017-01-19Added tuning results for NVIDIA GTX 1080 and Intel Core i7-4790KCedric Nugteren
2017-01-18Added first version of the TRSM routine based on the diagonal invert kernelCedric Nugteren
2017-01-15Added a first version of the diagonal block invert routine in preparation of ↵Cedric Nugteren
TRSM
2017-01-15Prints additional information in verbose/debug modeCedric Nugteren
2017-01-07Always enables cl_khr_fp64 when running double-precision, not just for ↵Cedric Nugteren
OpenCL 1.1 or lower
2017-01-03Added tuning results for the AMD Turks GPU and the Intel Core i7-2670QM CPUCedric Nugteren
2016-12-18Prepared for the addition of the TRSM triangular solver kernelCedric Nugteren
2016-12-18Fixed a bug when using offsets in the direct GEMM kernelsCedric Nugteren
2016-11-29Made Intel GPUs always use the indirect version of the GEMM kernelCedric Nugteren
2016-11-27Made it possible to use the command-line environmental variables for each ↵Cedric Nugteren
executable and without re-running CMake
2016-11-26Improved the default parameters for cases with non-common parameters across ↵Cedric Nugteren
all devices
2016-11-24Merge pull request #125 from CNugteren/netlib_blas_apiCedric Nugteren
Netlib CBLAS API for CLBlast
2016-11-23Fixed a vector-size related bug in the CLBlast Netlib APICedric Nugteren
2016-11-23Fixed a bug in the HSCAL routineCedric Nugteren
2016-11-22Minor changes to ensure full compatibility with the Netlib CBLAS APICedric Nugteren
2016-11-20Made functions with scalar-buffers as output properly return valuesCedric Nugteren
2016-11-20Now correctly tests for validaty of the B matrix in the TRMM routineCedric Nugteren
2016-11-20Forced OpenCL 1.1 compilation and disabled a deprecation warningCedric Nugteren
2016-11-20Fixed a bug in the TRMM routine caused by overwriting input data before ↵Cedric Nugteren
consuming everything
2016-11-19Changed the GEMM kernel selection parameters for Skylake GPUs to always ↵Cedric Nugteren
favour the regular kernel
2016-11-15Updated the tuning results for the Intel Skylake ULT GT2 GPUCedric Nugteren
2016-10-25Renamed the include and source files of the Netlib CBLAS APICedric Nugteren
2016-10-25Removed the clblast namespace from the Netlib C API source file to ensure ↵Cedric Nugteren
proper linking
2016-10-25Fixed some issues preventing the Netlib CBLAS API from linking correctlyCedric Nugteren
2016-10-25Made the Netlib CBLAS API use the same enums with prefixes as the regular C ↵Cedric Nugteren
API of CLBlast
2016-10-25Sets the proper sizes for the buffers for the Netlib CBLAS APICedric Nugteren
2016-10-25Added initial version of a Netlib CBLAS implementation. TODO: Set correct ↵Cedric Nugteren
buffer sizes
2016-10-24Added tuning results for GeForce GTX TITAN BlackCedric Nugteren
2016-10-23Fixed a bug in the transpose-matrix functionCedric Nugteren
2016-10-23Removed PUBLIC_API from the C++ exception classesCedric Nugteren
2016-10-23Added a fix for compilation under Visual Studio 2013 related to the new ↵Cedric Nugteren
exception classes
2016-10-22Added tuning results for the AMD Tonga GPUCedric Nugteren
2016-10-22All enums in the C API are now prefixed with CLBlast to avoid potential name ↵Cedric Nugteren
clashes with other projects
2016-10-22Moved files around a bit; created a utilities subfolderCedric Nugteren
2016-10-22Added documentation for the better exception handlingCedric Nugteren
2016-10-22Merge pull request #117 from intelfx/exceptionsCedric Nugteren
Convert to use C++ exceptions internally
2016-10-22Fixed a bug in the SYRK/SYR2K/HERK/HER2K routines that would occur with ↵Cedric Nugteren
specific tuning parameters (2)
2016-10-22Fixed a bug in the SYRK/SYR2K/HERK/HER2K routines that would occur with ↵Cedric Nugteren
specific tuning parameters
2016-10-22Routine: 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.