From b7310036eda482e8871d6a9d1e1660f93be1fd49 Mon Sep 17 00:00:00 2001 From: Cedric Nugteren Date: Sun, 26 Feb 2017 12:56:21 +0100 Subject: Removed half-precision support from the TRSM routine; too unstable --- test/correctness/routines/level3/xtrsm.cpp | 1 - test/performance/routines/level3/xtrsm.cpp | 3 +-- test/wrapper_cblas.hpp | 14 -------------- test/wrapper_clblas.hpp | 18 ------------------ 4 files changed, 1 insertion(+), 35 deletions(-) (limited to 'test') diff --git a/test/correctness/routines/level3/xtrsm.cpp b/test/correctness/routines/level3/xtrsm.cpp index 6119bd17..bc45a8bf 100644 --- a/test/correctness/routines/level3/xtrsm.cpp +++ b/test/correctness/routines/level3/xtrsm.cpp @@ -23,7 +23,6 @@ int main(int argc, char *argv[]) { errors += clblast::RunTests, double, double>(argc, argv, true, "DTRSM"); errors += clblast::RunTests, float2, float2>(argc, argv, true, "CTRSM"); errors += clblast::RunTests, double2, double2>(argc, argv, true, "ZTRSM"); - errors += clblast::RunTests, half, half>(argc, argv, true, "HTRSM"); if (errors > 0) { return 1; } else { return 0; } } diff --git a/test/performance/routines/level3/xtrsm.cpp b/test/performance/routines/level3/xtrsm.cpp index ef094891..342274b7 100644 --- a/test/performance/routines/level3/xtrsm.cpp +++ b/test/performance/routines/level3/xtrsm.cpp @@ -20,8 +20,7 @@ using double2 = clblast::double2; int main(int argc, char *argv[]) { const auto command_line_args = clblast::RetrieveCommandLineArguments(argc, argv); switch(clblast::GetPrecision(command_line_args, clblast::Precision::kSingle)) { - case clblast::Precision::kHalf: - clblast::RunClient, half, half>(argc, argv); break; + case clblast::Precision::kHalf: throw std::runtime_error("Unsupported precision mode"); case clblast::Precision::kSingle: clblast::RunClient, float, float>(argc, argv); break; case clblast::Precision::kDouble: diff --git a/test/wrapper_cblas.hpp b/test/wrapper_cblas.hpp index 5f1db54e..dd610a6c 100644 --- a/test/wrapper_cblas.hpp +++ b/test/wrapper_cblas.hpp @@ -2103,20 +2103,6 @@ void cblasXtrsm(const CBLAS_ORDER layout, const CBLAS_SIDE side, const CBLAS_UPL reinterpret_cast(&a_buffer[a_offset]), a_ld, reinterpret_cast(&b_buffer[b_offset]), b_ld); } -void cblasXtrsm(const CBLAS_ORDER layout, const CBLAS_SIDE side, const CBLAS_UPLO triangle, const CBLAS_TRANSPOSE a_transpose, const CBLAS_DIAG diagonal, - const size_t m, const size_t n, - const half alpha, - const std::vector& a_buffer, const size_t a_offset, const size_t a_ld, - std::vector& b_buffer, const size_t b_offset, const size_t b_ld) { - auto a_buffer_bis = HalfToFloatBuffer(a_buffer); - auto b_buffer_bis = HalfToFloatBuffer(b_buffer); - cblasXtrsm(layout, side, triangle, a_transpose, diagonal, - m, n, - HalfToFloat(alpha), - a_buffer_bis, a_offset, a_ld, - b_buffer_bis, b_offset, b_ld); - FloatToHalfBuffer(b_buffer, b_buffer_bis); -} // ================================================================================================= } // namespace clblast diff --git a/test/wrapper_clblas.hpp b/test/wrapper_clblas.hpp index f1923784..f1b3a0c4 100644 --- a/test/wrapper_clblas.hpp +++ b/test/wrapper_clblas.hpp @@ -2865,24 +2865,6 @@ clblasStatus clblasXtrsm(const clblasOrder layout, const clblasSide side, const b_buffer(), b_offset, b_ld, num_queues, queues, num_wait_events, wait_events, events); } -clblasStatus clblasXtrsm(const clblasOrder layout, const clblasSide side, const clblasUplo triangle, const clblasTranspose a_transpose, const clblasDiag diagonal, - const size_t m, const size_t n, - const half alpha, - const Buffer& a_buffer, const size_t a_offset, const size_t a_ld, - Buffer& b_buffer, const size_t b_offset, const size_t b_ld, - cl_uint num_queues, cl_command_queue *queues, - cl_uint num_wait_events, const cl_event *wait_events, cl_event *events) { - auto a_buffer_bis = HalfToFloatBuffer(a_buffer, queues[0]); - auto b_buffer_bis = HalfToFloatBuffer(b_buffer, queues[0]); - auto status = clblasXtrsm(layout, side, triangle, a_transpose, diagonal, - m, n, - HalfToFloat(alpha), - a_buffer_bis, a_offset, a_ld, - b_buffer_bis, b_offset, b_ld, - num_queues, queues, num_wait_events, wait_events, events); - FloatToHalfBuffer(b_buffer, b_buffer_bis, queues[0]); - return status; -} // ================================================================================================= } // namespace clblast -- cgit v1.2.3