Commit graph

243 commits

Author SHA1 Message Date
Cedric Nugteren e993ee077b Added a proper data-preparation function for the TRSM tests 2017-03-04 15:21:33 +01:00
Cedric Nugteren e8d5923d27 Made a double to float cast explicit for MSVC compatibility (C2397) 2017-03-01 20:42:06 +01:00
Cedric Nugteren d6f1b5fca3 Added L2 error computation and checking for half-precision tests 2017-02-27 21:49:20 +01:00
Cedric Nugteren ea6790665d Merge branch 'development' into triangular_solvers 2017-02-26 14:51:45 +01:00
Cedric Nugteren a145890aaa Added a guard against invalid buffer sizes in the prepare-data functions for tests 2017-02-26 14:37:29 +01:00
Cedric Nugteren b7310036ed Removed half-precision support from the TRSM routine; too unstable 2017-02-26 12:56:21 +01:00
Cedric Nugteren 70d8c4bad7 Improved the correctness tests for complex numbers in case either real or imag is much larger than the other 2017-02-26 10:19:53 +01:00
Cedric Nugteren e47d95887c Added PrepareData function for TRSM to create proper test input 2017-02-25 12:23:04 +01:00
Cedric Nugteren 133ebfc834 Added data-preparation function for the TRSV tests and special nan/inf checks in the error checking to make the tests pass 2017-02-19 17:43:26 +01:00
Cedric Nugteren 7b2170818f Changed the override-parameters test such that it is compatible with more devices 2017-02-18 11:22:07 +01:00
Cedric Nugteren bdc57221bd Added simple tests for the OverrideParameters function 2017-02-14 21:09:00 +01:00
Cedric Nugteren c248f900c0 Merge branch 'development' into triangular_solvers 2017-02-05 22:18:59 +01:00
Cedric Nugteren e7cbb5915a Fixed complex version of the TRSV kernel 2017-02-05 14:36:31 +01:00
Ivan Shapovalov 064ba4abd4 treewide: silence type mismatch warnings in *printf() 2017-01-24 02:55:09 +03:00
Ivan Shapovalov 519ccbd273 Tester: always fail on OpenCL and CLBlast internal errors
These errors are self-evident and enough to fail the test even if there is
no clBLAS reference to compare error codes with.
2017-01-24 02:55:09 +03:00
Ivan Shapovalov 1a1e863ab3 treewide: include clpp11.hpp first to silence deprecation warnings
Otherwise, cl.h gets included through clblast.h before clpp11.hpp.
2017-01-20 17:32:42 +03:00
Cedric Nugteren a5fd2323b6 Added prototype for the TRSV routine 2017-01-20 11:30:32 +01:00
Cedric Nugteren df9a77d74d Added first version of the TRSM routine based on the diagonal invert kernel 2017-01-18 21:29:59 +01:00
Cedric Nugteren 4b3ffd9989 Added a first version of the diagonal block invert routine in preparation of TRSM 2017-01-15 17:30:00 +01:00
Cedric Nugteren 4a4be0c3a5 Prints additional information in verbose/debug mode 2017-01-15 17:17:40 +01:00
Cedric Nugteren 681a465b35 Prepared for the addition of the TRSM triangular solver kernel 2016-12-18 12:30:16 +01:00
Cedric Nugteren 39c49bf4f9 Made it possible to use the command-line environmental variables for each executable and without re-running CMake 2016-11-27 11:00:29 +01:00
Cedric Nugteren 60fa2322ca Added a proper half-precision reference for testing of xomatcopy 2016-11-17 22:20:16 +01:00
Cedric Nugteren 29aab3019e Fixed a bug in the error margins; relaxed the error margins for half-precision 2016-11-17 22:19:36 +01:00
Cedric Nugteren a670c4c4bf All enums in the C API are now prefixed with CLBlast to avoid potential name clashes with other projects 2016-10-22 16:14:56 +02:00
Cedric Nugteren b0ff11acf0 Moved files around a bit; created a utilities subfolder 2016-10-22 15:36:48 +02:00
Cedric Nugteren d0b8ca9fba Fixed compilation issues of the testers for Visual Studio 2013: mostly conversions of class constants to static 2016-10-18 10:19:03 +02:00
Cedric Nugteren 6178fcd584 Now generates test/client/tuner data using a fixed seed to enable reproducability of results 2016-09-27 19:55:21 +02:00
Cedric Nugteren e3076d26cc Added more relaxed error checking for the half-precision tests 2016-09-27 19:42:58 +02:00
Cedric Nugteren d595a8ed7e Fixed a bug waiting for an invalid event in case of a non-succesfull CLBlast call in the tests and samples 2016-09-22 20:47:22 +02:00
Ivan Shapovalov ea43936e94 test/correctness: read platform and device from environment
Support passing environment variables CLBLAST_PLATFORM and CLBLAST_DEVICE
instead of -platform and -device arguments to test executables.

This is for `ctest`.
2016-08-27 05:37:26 +03:00
Cedric Nugteren 77325b8974 Added an option to the performance clients to do a warm-up run before timing 2016-07-06 21:25:55 +02:00
CNugteren 2c031f3e1d Made it possible to build the OMATCOPY test and client in case only clBLAS is present 2016-06-28 16:36:01 +02:00
Cedric Nugteren 69beca90f4 Moved the performance graph scripts to the 'scripts' subfolder 2016-06-27 11:51:57 +02:00
Cedric Nugteren fdfbc9af13 Changed the symbol for error-code skipped tests to distinguish from succesfull error-code checks in the correctness tests 2016-06-27 11:27:54 +02:00
Cedric Nugteren 8f7131bd90 Increased the verbosity of the '-verbose' option for the correctness tests, now printing when a library is called 2016-06-27 11:16:30 +02:00
Cedric Nugteren 61203453aa Renamed all C++ source files to .cpp to match the .hpp extension better 2016-06-19 13:55:49 +02:00
Cedric Nugteren f726fbdc9f Moved all headers into the source tree, changed headers to .hpp extension 2016-06-18 20:20:13 +02:00
Cedric Nugteren 52ccaf5b25 Added XOMATCOPY routines to perform out-of-place matrix scaling, copying, and/or transposing 2016-06-16 18:07:46 +02:00
Cedric Nugteren 6d6b030053 Made the CPU BLAS library the default reference to test against in favor of clBLAS 2016-06-08 09:21:39 +02:00
Cedric Nugteren c1895ea459 Made the tests for invalid buffer sizes also verbose in verbose mode 2016-06-06 12:20:42 +02:00
Cedric Nugteren e561e3fbd5 Added return value to the test binaries (0: success, 1: failure), allowing it to work under CTest properly 2016-06-02 16:24:22 +02:00
Cedric Nugteren f6b2cd9579 Increased the verbosity of the -verbose option in the correctness tests 2016-05-30 20:07:09 +02:00
Cedric Nugteren 03182f9d07 Added half-precision tests for the clBLAS reference through conversion to single-precision 2016-05-26 23:36:19 +02:00
Cedric Nugteren b487d4dd44 Added half-precision tests for the CBLAS reference through conversion to single-precison 2016-05-26 13:15:27 +02:00
Cedric Nugteren 4612ff3552 Added possibility to run the performance client with half-precision 2016-05-25 14:37:26 +02:00
Cedric Nugteren 803aaf3070 Added level-1 half-precision routines HSWAP/HSCAL/HCOPY/HAXPY/HDOT/HNRM2/HASUM/HSUM/iHAMAX/iHMAX/iHMIN 2016-05-22 14:47:14 +02:00
Cedric Nugteren 489c5d76cf Merged in latest changes from 0.7.1 release 2016-05-18 21:32:56 +02:00
CNugteren 942912daeb Fixes for compilation of the tests under Visual Studio 2015 2016-05-08 21:11:37 +02:00
cnugteren 3b81ee2c08 Fixed an issue where the xAMAX tester would incorrectly report failures when testing against CBLAS 2016-05-08 18:28:01 +02:00
cnugteren eaf1de5745 Fixed an issue where the xNRM2 and xASUM testers would incorrectly report failures for complex inputs 2016-05-08 18:07:55 +02:00
cnugteren 1acb31896c Fixed an issue with computing the GFLOPS numbers for the xGEMM performance tests for non-square matrices 2016-05-08 10:06:06 +02:00
Cedric Nugteren 6c9e08c5e2 Added an option to the tests to control whether to test against clBLAS or a CPU BLAS library 2016-05-07 12:22:06 +02:00
Cedric Nugteren 56aa1701c9 Added printing of indices when testing in verbose mode 2016-05-05 23:09:57 +02:00
Cedric Nugteren aa97c836b1 Fixed an issue with linking against the ATLAS BLAS library 2016-05-04 19:16:09 +02:00
Cedric Nugteren 44bdb60e83 Relaxed the absolute error margin for floating-point value comparisons to 1e-4 2016-04-27 14:42:30 +02:00
Cedric Nugteren 226e834d0a Added a '-verbose' option to the test binaries to report errors in more detail if needed 2016-04-27 14:38:30 +02:00
Cedric Nugteren 3555cd0436 All CLBlast enum constants now have the same raw values as in the cblas standard 2016-04-27 11:37:55 +02:00
cnugteren 16a048f1ac Added support for the iSAMAX/iDAMAX/iCAMAX/iZAMAX routines 2016-04-20 22:12:51 -06:00
cnugteren 894983fc3c Added prototype for ixAMAX routines 2016-04-20 21:11:33 -06:00
cnugteren 8be99de82d Added support for the SASUM/DASUM/ScASUM/DzASUM routines 2016-04-14 19:58:26 -06:00
cnugteren e0497807e2 Added prototype for xASUM routines 2016-04-13 21:44:49 -06:00
cnugteren 1a82861a90 Added support for testing (performance and correctness) against a CPU BLAS library 2016-04-02 11:58:00 -07:00
cnugteren 5c83217cf2 Added a wrapper for CBLAS libraries for performance/correctness testing 2016-04-01 22:36:39 -07:00
cnugteren 8c3c6db7d0 Merge branch 'level1_routines' into development 2016-03-30 21:37:56 -07:00
Cedric Nugteren c1df786764 Added prototypes for the xROTM and xROTMG routines 2016-03-30 16:13:37 -07:00
Cedric Nugteren 6ecc0d089c Added prototypes for the xROT and xROTG functions 2016-03-30 16:13:32 -07:00
Cedric Nugteren aaa687ca98 Added preliminary support for the xNRM2 routines 2016-03-28 23:00:44 +02:00
Cedric Nugteren 1d5a702d9d Added prototypes for ScNRM2/DzNRM2 routines 2016-03-25 10:30:38 +01:00
Cedric Nugteren 3876096c30 Added prototypes for SNRM2/DNRM2 routines 2016-03-25 10:00:40 +01:00
Cedric Nugteren fb58129afb Made testing against clBLAS in the client binaries truely optional (was partly implemented before) 2016-03-06 16:34:26 +01:00
Cedric Nugteren 7468e2ba9d Adjusted the correctness-test error margins 2016-03-06 16:32:38 +01:00
Cedric Nugteren 306bf67660 Added preliminary support for xHPR2 and xSPR2 routines 2016-03-06 15:48:11 +01:00
Cedric Nugteren 60da54da5d Added preliminary support for xHER2 and xSYR2 routines 2016-03-02 21:18:01 +01:00
Cedric Nugteren e3545215a5 Added support for xHER, xHPR, xSYR, and xSPR routines 2016-02-28 14:16:48 +01:00
Cedric Nugteren 9f682aa66b Set a proper default precision for the CLBlast clients 2016-02-20 14:41:53 +01:00
Cedric Nugteren 6dc44da07b Added support for xGERU and xGERC routines 2016-02-20 14:15:41 +01:00
Cedric Nugteren 8854a73127 Added XGER routine, kernel, and tuner 2016-02-20 12:40:01 +01:00
CNugteren fadd76207f Fixed warnings under MSVC 2016-02-08 20:44:05 +01:00
CNugteren fbf071ba62 Fixed a linker error in the performance client under GCC 2016-02-06 10:53:44 +01:00
CNugteren 9622d3be22 Fixes for compilation under Visual Studio 2016-01-30 14:57:49 +01:00
Cedric Nugteren 44fb40e5c4 Prepared for MSVC support 2016-01-30 11:54:29 +01:00
Cedric Nugteren f573fe6bb3 Fixed a bug in the graph scripts (thanks to Victor Pakhomov) 2016-01-30 11:53:54 +01:00
CNugteren 2b56c2c603 Added TRMV/TBMV/TPMV routines 2015-09-26 16:58:03 +02:00
CNugteren de6547a92b Added SBMV and SPMV routines 2015-09-19 18:01:19 +02:00
CNugteren 80da67d28b Added the HPMV routine 2015-09-19 17:40:38 +02:00
CNugteren c32c4a9739 Added infrastructure for packed matrices 2015-09-19 17:37:42 +02:00
CNugteren aebd156869 Added the HBMV routine 2015-09-19 11:11:34 +02:00
CNugteren 4507ba4997 Added first version of banded matrix-vector multiplication 2015-09-18 15:25:20 +02:00
CNugteren 4796c9bcbd Added generated main functions for correctness/performance tests for level 2 routines 2015-09-18 10:19:03 +02:00
CNugteren 6105ad6f5b Added interface of all level 2 routines 2015-09-17 17:05:45 +02:00
CNugteren 6307d2e5db Added script to generate API interface and implementation automatically 2015-09-17 10:14:33 +02:00
CNugteren a2e726d3bd Added xDOT/xDOTU/xDOTC dot-product routines 2015-09-14 16:57:00 +02:00
CNugteren e0c5312abb Added support for the dot buffer and offset argument 2015-09-14 12:28:50 +02:00
CNugteren b0b81deae1 Minor update of options-printing syntax 2015-08-24 07:38:20 +02:00
CNugteren ff0c54c386 Added the XSWAP, XSCAL and XCOPY level-1 routines 2015-08-22 17:11:20 +02:00
CNugteren b46de22433 Moved precision tester to utilities 2015-08-19 19:34:29 +02:00
CNugteren 938ca2707f Added HEMV routine 2015-07-31 17:35:42 +02:00
CNugteren b89517a2e7 Added SYMV routine 2015-07-31 17:13:41 +02:00
CNugteren c5d5adbddd Refactored the correctness tests 2015-07-31 15:52:13 +02:00
CNugteren f7199b831f Now using the new Claduc C++11 OpenCL header 2015-07-27 07:18:06 +02:00
CNugteren 0273b622d3 Made the graph script robust against diagnostic system messages 2015-07-22 21:30:02 +02:00
CNugteren ba0026d2b9 Changed performance graphs to default to column-major 2015-07-15 22:21:24 +02:00
CNugteren aa852bbe67 Added subfolders for the level1/2/3 routines 2015-07-12 16:57:09 +02:00
CNugteren b5d39d9d0c Added the HEMM routine, tester, and client 2015-07-12 15:11:50 +02:00
CNugteren b02876d6e9 Added the HER2K routine, tester, and client 2015-07-10 20:59:20 +02:00
CNugteren 919bba3eaf Added the HERK routine, tester, and client 2015-07-10 07:19:59 +02:00
CNugteren 2fe3fe1580 The clients now distinguish between the memory and alpha/beta data-type 2015-07-10 07:18:12 +02:00
CNugteren 82469fc764 The testers now distinguish between the memory and alpha/beta data-type 2015-07-08 07:21:44 +02:00
CNugteren d9ea0c47c6 Added the TRMM routine, tester, and client 2015-07-02 07:16:04 +02:00
CNugteren 500416aa38 Fixed the order of arguments 2015-07-02 07:12:49 +02:00
CNugteren e3dd35f91b Added the unit/non-unit diagonal enum 2015-07-01 09:39:41 +02:00
CNugteren a591d5607d Added constness to all cl_mem objects 2015-06-30 07:35:54 +02:00
CNugteren 14186af590 Added TRMM and TRSM clBLAS wrappers 2015-06-30 07:19:46 +02:00
CNugteren ede78fe499 Fixed the license for the correctness testers 2015-06-29 20:39:51 +02:00
CNugteren 2914a285d4 Re-organized the performance-client infrastructure to avoid code duplication 2015-06-29 20:38:34 +02:00
CNugteren e5c0edbfd7 Re-organized the test infrastructure to avoid code duplication 2015-06-28 15:52:57 +02:00
CNugteren 7c8d16147a Added the SYR2K routine, tester, and client 2015-06-26 08:12:56 +02:00
CNugteren 75f263ce3a Added symmetric matrix support for the ABC performance tester 2015-06-26 08:10:23 +02:00
CNugteren ff9f9fac57 Added option to test only symmetric matrices (m=n) 2015-06-25 20:39:34 +02:00
CNugteren 60a88aac86 Added the SYRK routine, tester, and client 2015-06-24 07:50:18 +02:00
CNugteren a17297937d Added performance-client for AC routines 2015-06-23 22:31:27 +02:00
CNugteren 0a3831e6d1 Updated bandwidth computation for GEMM and SYMM 2015-06-23 08:09:46 +02:00
CNugteren 4c2a166bc5 Added test infrastructure for AB and AC routines 2015-06-21 12:57:38 +02:00
CNugteren e3829c1067 Added prototypes of SYRK and SYR2K 2015-06-21 12:44:03 +02:00
CNugteren ea7da6a497 Fixed support for complex data-types for GEMM and SYMM clients 2015-06-21 11:21:03 +02:00
CNugteren c365614eb5 More detailed test passed/skipped/failure reporting 2015-06-20 16:43:50 +02:00
CNugteren 0f486d9b74 Automatically skips tests with unsupported precision 2015-06-20 14:13:54 +02:00
CNugteren 3ea3ba2bee Distinguish between a short smoke test and a full test 2015-06-20 13:33:50 +02:00
CNugteren dfbc336531 Moved the argument parsing to the common Tester base class 2015-06-20 11:26:01 +02:00
CNugteren e26742c629 Added additional absolute error checking when testing 2015-06-20 10:58:21 +02:00
CNugteren d7a0d970e0 Moved layout and transpose types to generic tester and AXY routines 2015-06-16 08:07:26 +02:00
CNugteren e03582a112 Added support for CGEMM/ZGEMM and CSYMM/ZSYMM 2015-06-16 07:45:09 +02:00
CNugteren 6ebca73d72 Created data-type dependent transpose values to test 2015-06-16 07:44:32 +02:00
CNugteren e63d20e0b6 Enable tests of DGEMV/CGEMV/ZGEMV 2015-06-15 08:40:41 +02:00
CNugteren 7776323cb4 Added GEMV performance-graph script 2015-06-14 12:05:30 +02:00
CNugteren 584f80c666 Enlarge test matrices and vectors for AXY routines (GEMV) 2015-06-13 17:42:41 +02:00
CNugteren e522d1a74e Added initial version of GEMV including tester and performance client 2015-06-13 11:01:20 +02:00
CNugteren abec7cd8c8 Fixed a bug in testing where the offset would be set incorrectly 2015-06-12 22:03:48 +02:00
CNugteren bdc3444d5c Added new tester for matrix-vector-vector routines 2015-06-11 07:39:23 +02:00
CNugteren 16c3bb9140 Proper testing of invalid buffer sizes (squared) for TestABC 2015-06-11 07:38:31 +02:00
CNugteren 5858193a50 Removed obsolete testing structure for TestABC 2015-06-11 07:37:52 +02:00
CNugteren bc5a341dfe Initial commit of preview version 2015-05-30 12:30:43 +02:00