From 120c31a30f933eea12d4dfffd4951fa22102ef5f Mon Sep 17 00:00:00 2001 From: Cedric Nugteren Date: Fri, 13 May 2016 20:49:34 +0200 Subject: Initial experimental version of the half-precision HAXPY routine --- src/tuning/xaxpy.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/tuning') diff --git a/src/tuning/xaxpy.cc b/src/tuning/xaxpy.cc index 31aa6a8e..7f62b811 100644 --- a/src/tuning/xaxpy.cc +++ b/src/tuning/xaxpy.cc @@ -90,7 +90,7 @@ class TuneXaxpy { std::vector &, std::vector &, std::vector &, std::vector &) { tuner.AddArgumentScalar(static_cast(args.n)); - tuner.AddArgumentScalar(args.alpha); + tuner.AddArgumentScalar(static_cast::Type>(args.alpha)); tuner.AddArgumentInput(x_vec); tuner.AddArgumentOutput(y_vec); } @@ -106,13 +106,14 @@ class TuneXaxpy { } // namespace clblast // Shortcuts to the clblast namespace +using half = clblast::half; using float2 = clblast::float2; using double2 = clblast::double2; // Main function (not within the clblast namespace) int main(int argc, char *argv[]) { switch(clblast::GetPrecision(argc, argv)) { - case clblast::Precision::kHalf: throw std::runtime_error("Unsupported precision mode"); + case clblast::Precision::kHalf: clblast::Tuner, half>(argc, argv); break; case clblast::Precision::kSingle: clblast::Tuner, float>(argc, argv); break; case clblast::Precision::kDouble: clblast::Tuner, double>(argc, argv); break; case clblast::Precision::kComplexSingle: clblast::Tuner, float2>(argc, argv); break; -- cgit v1.2.3