From 49eb490ee1c60ed254eb1c501e18ebd9948e0ab5 Mon Sep 17 00:00:00 2001 From: Cedric Nugteren Date: Mon, 17 Feb 2020 22:07:51 +0100 Subject: Catches all exceptions of the tuners --- src/tuning/kernels/transpose_pad.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'src/tuning/kernels/transpose_pad.cpp') diff --git a/src/tuning/kernels/transpose_pad.cpp b/src/tuning/kernels/transpose_pad.cpp index ffaa252b..73c8ef27 100644 --- a/src/tuning/kernels/transpose_pad.cpp +++ b/src/tuning/kernels/transpose_pad.cpp @@ -20,15 +20,17 @@ using double2 = clblast::double2; // Main function (not within the clblast namespace) int main(int argc, char *argv[]) { - const auto command_line_args = clblast::RetrieveCommandLineArguments(argc, argv); - switch(clblast::GetPrecision(command_line_args)) { - case clblast::Precision::kHalf: clblast::Tuner(argc, argv, 0, clblast::PadtransposeGetTunerDefaults, clblast::PadtransposeGetTunerSettings, clblast::PadtransposeTestValidArguments, clblast::PadtransposeSetConstraints, clblast::PadtransposeComputeLocalMemSize, clblast::PadtransposeSetArguments); break; - case clblast::Precision::kSingle: clblast::Tuner(argc, argv, 0, clblast::PadtransposeGetTunerDefaults, clblast::PadtransposeGetTunerSettings, clblast::PadtransposeTestValidArguments, clblast::PadtransposeSetConstraints, clblast::PadtransposeComputeLocalMemSize, clblast::PadtransposeSetArguments); break; - case clblast::Precision::kDouble: clblast::Tuner(argc, argv, 0, clblast::PadtransposeGetTunerDefaults, clblast::PadtransposeGetTunerSettings, clblast::PadtransposeTestValidArguments, clblast::PadtransposeSetConstraints, clblast::PadtransposeComputeLocalMemSize, clblast::PadtransposeSetArguments); break; - case clblast::Precision::kComplexSingle: clblast::Tuner(argc, argv, 0, clblast::PadtransposeGetTunerDefaults, clblast::PadtransposeGetTunerSettings, clblast::PadtransposeTestValidArguments, clblast::PadtransposeSetConstraints, clblast::PadtransposeComputeLocalMemSize, clblast::PadtransposeSetArguments); break; - case clblast::Precision::kComplexDouble: clblast::Tuner(argc, argv, 0, clblast::PadtransposeGetTunerDefaults, clblast::PadtransposeGetTunerSettings, clblast::PadtransposeTestValidArguments, clblast::PadtransposeSetConstraints, clblast::PadtransposeComputeLocalMemSize, clblast::PadtransposeSetArguments); break; - } - return 0; + try { + const auto command_line_args = clblast::RetrieveCommandLineArguments(argc, argv); + switch(clblast::GetPrecision(command_line_args)) { + case clblast::Precision::kHalf: clblast::Tuner(argc, argv, 0, clblast::PadtransposeGetTunerDefaults, clblast::PadtransposeGetTunerSettings, clblast::PadtransposeTestValidArguments, clblast::PadtransposeSetConstraints, clblast::PadtransposeComputeLocalMemSize, clblast::PadtransposeSetArguments); break; + case clblast::Precision::kSingle: clblast::Tuner(argc, argv, 0, clblast::PadtransposeGetTunerDefaults, clblast::PadtransposeGetTunerSettings, clblast::PadtransposeTestValidArguments, clblast::PadtransposeSetConstraints, clblast::PadtransposeComputeLocalMemSize, clblast::PadtransposeSetArguments); break; + case clblast::Precision::kDouble: clblast::Tuner(argc, argv, 0, clblast::PadtransposeGetTunerDefaults, clblast::PadtransposeGetTunerSettings, clblast::PadtransposeTestValidArguments, clblast::PadtransposeSetConstraints, clblast::PadtransposeComputeLocalMemSize, clblast::PadtransposeSetArguments); break; + case clblast::Precision::kComplexSingle: clblast::Tuner(argc, argv, 0, clblast::PadtransposeGetTunerDefaults, clblast::PadtransposeGetTunerSettings, clblast::PadtransposeTestValidArguments, clblast::PadtransposeSetConstraints, clblast::PadtransposeComputeLocalMemSize, clblast::PadtransposeSetArguments); break; + case clblast::Precision::kComplexDouble: clblast::Tuner(argc, argv, 0, clblast::PadtransposeGetTunerDefaults, clblast::PadtransposeGetTunerSettings, clblast::PadtransposeTestValidArguments, clblast::PadtransposeSetConstraints, clblast::PadtransposeComputeLocalMemSize, clblast::PadtransposeSetArguments); break; + } + return 0; + } catch (...) { return static_cast(clblast::DispatchException()); } } // ================================================================================================= -- cgit v1.2.3