summaryrefslogtreecommitdiff
path: root/external/clBLAS/src/tests/functional/func-event.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'external/clBLAS/src/tests/functional/func-event.cpp')
-rw-r--r--external/clBLAS/src/tests/functional/func-event.cpp1609
1 files changed, 0 insertions, 1609 deletions
diff --git a/external/clBLAS/src/tests/functional/func-event.cpp b/external/clBLAS/src/tests/functional/func-event.cpp
deleted file mode 100644
index 0f611b84..00000000
--- a/external/clBLAS/src/tests/functional/func-event.cpp
+++ /dev/null
@@ -1,1609 +0,0 @@
-/* ************************************************************************
- * Copyright 2013 Advanced Micro Devices, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ************************************************************************/
-
-
-//#include <stdlib.h> // srand()
-//#include <string.h> // memcpy()
-#include <gtest/gtest.h>
-#include <clBLAS.h>
-//
-//#include "common.h"
-//#include "blas.h"
-#include "blas-wrapper.h"
-#include "clBLAS-wrapper.h"
-#include "BlasBase.h"
-#include "blas-random.h"
-#include "timer.h"
-#include "func.h"
-
-template <typename M>
-class EventClass
-{
- M metod;
-protected:
- void eventOutCorrectnessTest();
- void eventInCorrectnessTest();
- bool generateData();
-public:
- void runOut();
- void runIn();
-};
-template <typename T> bool
-EventClass<T>::generateData()
-{
- metod.generateData();
- bool ret =metod.prepareDataToRun();
- if (!ret) {
- ::std::cerr << ">> Failed to create/enqueue buffer for a matrix."
- << ::std::endl
- << ">> Can't execute the test, because data is not transfered to GPU."
- << ::std::endl
- << ">> Test skipped." << ::std::endl;
- SUCCEED();
- }
- return ret;
-}
-
-template <typename M> void
-EventClass<M>::runOut()
-{
- metod.initDefault(512*4, 1);
- eventOutCorrectnessTest();
- metod.destroy();
-}
-
-template <typename M> void
-EventClass<M>::runIn()
-{
- metod.initDefault(256, 1);
- eventInCorrectnessTest();
- metod.destroy();
-}
-
-
-template <typename M> void
-EventClass<M>::eventOutCorrectnessTest()
-{
- cl_int err;
-
- if (generateData()) {
-
- metod.initOutEvent();
- err = metod.run();
- ASSERT_EQ(err, CL_SUCCESS) << "clFinish()";
-
- //logEvent(events);
- err = clFinish(metod.queues[0]);
-
- ASSERT_EQ(err, CL_SUCCESS) << "clFinish()";
-
- cl_int ret = CL_SUCCESS;
- err = clGetEventInfo(*metod.outEvent, CL_EVENT_COMMAND_EXECUTION_STATUS, sizeof(cl_int), &ret, NULL);
- ASSERT_EQ(err, CL_SUCCESS) << "clGetEventInfo()";
- ASSERT_EQ(ret, CL_COMPLETE) << "clGetEventInfo()";
- }
-}
-
-template <typename T> void
-EventClass<T>::eventInCorrectnessTest()
-{
- cl_int err;
- cl_int ret = CL_SUCCESS;
- int qmax = metod.qnum;
- nano_time_t minSleepTime = 100000000;
-
-
- if (generateData()) {
-
- metod.outEvent = new cl_event[1];
- metod.outEvent[0] = NULL;
-
- nano_time_t timeFirst = getCurrentTime();
- // First run.
- err = metod.run();
- ASSERT_EQ(err, CL_SUCCESS) << "clFinish()";
- for (int i = 0; i < qmax; ++i) {
- err = clFinish(metod.queues[i]);
- }
- ASSERT_EQ(err, CL_SUCCESS) << "clFinish()";
- timeFirst = getCurrentTime() - timeFirst;
-
- cl_event event = clCreateUserEvent(metod.context, &err);
- ASSERT_EQ(err, CL_SUCCESS) << "clCreateUserEvent()";
-
- metod.inEventCount = 1;
- metod.inEvent = &event;
-
- err = metod.run();
- ASSERT_EQ(err, CL_SUCCESS) << "runClBlasFunction()";
-
- clFlush(metod.queues[0]);
-
- //
- sleepTime((timeFirst < minSleepTime)? minSleepTime : timeFirst);
-
- clSetUserEventStatus(event, CL_COMPLETE);
-
- err = clFinish(metod.queues[0]);
- err = clGetEventInfo(metod.outEvent[0], CL_EVENT_COMMAND_EXECUTION_STATUS, sizeof(cl_int), &ret, NULL);
- ASSERT_EQ(err, CL_SUCCESS) << "clGetEventInfo()";
- ASSERT_EQ(ret, CL_COMPLETE) << "clGetEventInfo()";
-
- clReleaseEvent(event);
- metod.inEventCount = 0;
- metod.inEvent = NULL;
-
- }
-}
-#ifdef DO_THEIRS
-//******************************************************//
-TEST(EVENT_OUT, sgemm) {
- EventClass< GemmMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, cgemm) {
- EventClass< GemmMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, dgemm) {
- CHECK_DOUBLE;
- EventClass< GemmMetod<cl_double> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, zgemm) {
- CHECK_DOUBLE;
- EventClass<GemmMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-//******************************************************//
-TEST(EVENT_OUT, strmm) {
- EventClass<TrmmMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, ctrmm) {
- EventClass<TrmmMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, dtrmm) {
- CHECK_DOUBLE;
- EventClass<TrmmMetod<cl_double> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, ztrmm) {
- CHECK_DOUBLE;
- EventClass<TrmmMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-//******************************************************//
-TEST(EVENT_OUT, strsm) {
- EventClass<TrsmMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, ctrsm) {
- EventClass<TrsmMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, dtrsm) {
- CHECK_DOUBLE;
- EventClass<TrsmMetod<cl_double> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, ztrsm) {
- CHECK_DOUBLE;
- EventClass<TrsmMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-//******************************************************//
-TEST(EVENT_OUT, sgemv) {
- EventClass<GemvMetod<float> > ec;
- ec.runOut();
-
-}
-#if defined(_USE_GEMV_COMPLEX)
-TEST(EVENT_OUT, cgemv) {
- EventClass<GemvMetod<FloatComplex> > ec;
- ec.runOut();
-}
-#endif
-TEST(EVENT_OUT, dgemv) {
- CHECK_DOUBLE;
- EventClass<GemvMetod<cl_double> > ec;
- ec.runOut();
-}
-#if defined(_USE_GEMV_COMPLEX)
-TEST(EVENT_OUT, zgemv) {
- CHECK_DOUBLE;
- EventClass<GemvMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-//******************************************************//
-TEST(EVENT_OUT, ssymv) {
- EventClass<SymvMetod<float> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, dsymv) {
- CHECK_DOUBLE;
- EventClass<SymvMetod<cl_double> > ec;
- ec.runOut();
-}
-//******************************************************//
-TEST(EVENT_OUT, ssyr2k) {
- EventClass<Syr2kMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, dsyr2k) {
- CHECK_DOUBLE;
- EventClass<Syr2kMetod<cl_double> > ec;
- ec.runOut();
-}
-//******************************************************//
-//******************************************************//
-TEST(EVENT_IN, sgemm) {
- EventClass<GemmMetod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, cgemm) {
- EventClass<GemmMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, dgemm) {
- CHECK_DOUBLE;
- EventClass<GemmMetod<cl_double> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, zgemm) {
- CHECK_DOUBLE;
- EventClass<GemmMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-//******************************************************//
-TEST(EVENT_IN, strmm) {
- EventClass<TrmmMetod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, ctrmm) {
- EventClass<TrsmMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, dgtrmm) {
- CHECK_DOUBLE;
- EventClass<TrmmMetod<cl_double> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, ztrmm) {
- CHECK_DOUBLE;
- EventClass<TrmmMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-//******************************************************//
-TEST(EVENT_IN, strsm) {
- EventClass<TrsmMetod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, ctrsm) {
- EventClass<TrsmMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, dtrsm) {
- CHECK_DOUBLE;
- EventClass<TrsmMetod<cl_double> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, ztrsm) {
- CHECK_DOUBLE;
- EventClass<TrsmMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-//******************************************************//
-TEST(EVENT_IN, sgemv) {
- EventClass<GemvMetod<float> > ec;
- ec.runIn();
-}
-#if defined(_USE_GEMV_COMPLEX)
-TEST(EVENT_IN, cgemv) {
- EventClass<GemvMetod<FloatComplex> > ec;
- ec.runIn();
-}
-#endif
-TEST(EVENT_IN, dgemv) {
- CHECK_DOUBLE;
- EventClass<GemvMetod<cl_double> > ec;
- ec.runIn();
-}
-#if defined(_USE_GEMV_COMPLEX)
-TEST(EVENT_IN, zgemv) {
- CHECK_DOUBLE;
- EventClass<GemvMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-#endif
-//******************************************************//
-TEST(EVENT_IN, ssymv) {
- EventClass<SymvMetod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, dsymv) {
- CHECK_DOUBLE;
- EventClass<SymvMetod<cl_double> > ec;
- ec.runIn();
-}
-//******************************************************//
-TEST(EVENT_IN, ssyr2k) {
- EventClass<Syr2kMetod<float> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, dsyr2k) {
- CHECK_DOUBLE;
- EventClass<Syr2kMetod<cl_double> > ec;
- ec.runIn();
-}
-#endif
-
-#ifdef DO_TRMV
-// TRMV
-//******************************************************//
-TEST(EVENT_OUT, strmv) {
- EventClass<TrmvMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, dtrmv) {
- CHECK_DOUBLE;
- EventClass<TrmvMetod<double> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, ctrmv) {
- EventClass<TrmvMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, ztrmv) {
- CHECK_DOUBLE;
- EventClass<TrmvMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_IN, strmv) {
- EventClass<TrmvMetod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, dtrmv) {
- CHECK_DOUBLE;
- EventClass<TrmvMetod<double> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, ctrmv) {
- EventClass<TrmvMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, ztrmv) {
- CHECK_DOUBLE;
- EventClass<TrmvMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-#endif
-
-#ifdef DO_TPMV
-TEST(EVENT_OUT, stpmv) {
- EventClass<TpmvMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, dtpmv) {
- CHECK_DOUBLE;
- EventClass<TpmvMetod<double> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, ctpmv) {
- EventClass<TpmvMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, ztpmv) {
- CHECK_DOUBLE;
- EventClass<TpmvMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_IN, stpmv) {
- EventClass<TpmvMetod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, dtpmv) {
- CHECK_DOUBLE;
- EventClass<TpmvMetod<double> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, ctpmv) {
- EventClass<TpmvMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, ztpmv) {
- CHECK_DOUBLE;
- EventClass<TpmvMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-#endif
-
-#ifdef DO_TRSV
-//******************************************************//
-// TRSV
-
-TEST(EVENT_OUT, strsv) {
- EventClass<TrsvMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, dtrsv) {
- CHECK_DOUBLE;
- EventClass<TrsvMetod<double> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, ctrsv) {
- EventClass<TrsvMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, ztrsv) {
- CHECK_DOUBLE;
- EventClass<TrsvMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_IN, strsv) {
- EventClass<TrsvMetod<float> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, dtrsv) {
- CHECK_DOUBLE;
- EventClass<TrsvMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, ctrsv) {
- EventClass<TrsvMetod<FloatComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, ztrsv) {
- CHECK_DOUBLE;
- EventClass<TrsvMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-#endif
-
-#ifdef DO_TPSV
-TEST(EVENT_OUT, stpsv) {
- EventClass<TpsvMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, dtpsv) {
- CHECK_DOUBLE;
- EventClass<TpsvMetod<double> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, ctpsv) {
- EventClass<TpsvMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, ztpsv) {
- CHECK_DOUBLE;
- EventClass<TpsvMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_IN, stpsv) {
- EventClass<TpsvMetod<float> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, dtpsv) {
- CHECK_DOUBLE;
- EventClass<TpsvMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, ctpsv) {
- EventClass<TpsvMetod<FloatComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, ztpsv) {
- CHECK_DOUBLE;
- EventClass<TpsvMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-#endif
-
-
-#ifdef DO_SYMM
-TEST(EVENT_IN, Ssymm) {
- EventClass<SymmMetod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Dsymm) {
- CHECK_DOUBLE;
- EventClass<SymmMetod<double> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Csymm) {
- EventClass<SymmMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Zsymm) {
- CHECK_DOUBLE;
- EventClass<SymmMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Ssymm) {
- EventClass<SymmMetod<float> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Dsymm) {
- CHECK_DOUBLE;
- EventClass<SymmMetod<double> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Csymm) {
- EventClass<SymmMetod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Zsymm) {
- CHECK_DOUBLE;
- EventClass<SymmMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_SYR
-TEST(EVENT_IN, Ssyr) {
- EventClass<SyrMetod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Dsyr) {
- CHECK_DOUBLE;
- EventClass<SyrMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Ssyr) {
- EventClass<SyrMetod<float> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Dsyr) {
- CHECK_DOUBLE;
- EventClass<SyrMetod<double> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_SPR
-TEST(EVENT_IN, Sspr) {
- EventClass<SprMetod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Dspr) {
- CHECK_DOUBLE;
- EventClass<SprMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Sspr) {
- EventClass<SprMetod<float> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Dspr) {
- CHECK_DOUBLE;
- EventClass<SprMetod<double> > ec;
- ec.runOut();
-}
-#endif
-
-
-#ifdef DO_SYR2
-TEST(EVENT_IN, Ssyr2) {
- EventClass<Syr2Metod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Dsyr2) {
- CHECK_DOUBLE;
- EventClass<Syr2Metod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Ssyr2) {
- EventClass<Syr2Metod<float> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Dsyr2) {
- CHECK_DOUBLE;
- EventClass<Syr2Metod<double> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_GER
-TEST(EVENT_IN, Sger) {
- EventClass<GerMetod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Dger) {
- CHECK_DOUBLE;
- EventClass<GerMetod<double> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Cgeru) {
- EventClass<GerMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Zgeru) {
- CHECK_DOUBLE;
- EventClass<GerMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_OUT, Sger) {
- EventClass<GerMetod<float> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Dger) {
- CHECK_DOUBLE;
- EventClass<GerMetod<double> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Cgeru) {
- EventClass<GerMetod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Zgeru) {
- CHECK_DOUBLE;
- EventClass<GerMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-
-#ifdef DO_HER
-TEST(EVENT_IN, Cher) {
- EventClass<HerMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Zher) {
- CHECK_DOUBLE;
- EventClass<HerMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Cher) {
- EventClass<HerMetod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Zher) {
- CHECK_DOUBLE;
- EventClass<HerMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_GERC
-
-TEST(EVENT_IN, Cgerc) {
- EventClass<GercMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Zgerc) {
- CHECK_DOUBLE;
- EventClass<GercMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Cgerc) {
- EventClass<GercMetod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Zgerc) {
- CHECK_DOUBLE;
- EventClass<GercMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_HER2
-TEST(EVENT_IN, Cher2) {
- EventClass<Her2Metod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Zher2) {
- CHECK_DOUBLE;
- EventClass<Her2Metod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Cher2) {
- EventClass<Her2Metod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Zher2) {
- CHECK_DOUBLE;
- EventClass<Her2Metod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_HEMM
-TEST(EVENT_IN, Chemm) {
- EventClass<HemmMetod<FloatComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Zhemm) {
- CHECK_DOUBLE;
- EventClass<HemmMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Chemm) {
- EventClass<HemmMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Zhemm) {
- CHECK_DOUBLE;
- EventClass<HemmMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-
-#ifdef DO_HEMV
-TEST(EVENT_IN, Chemv) {
- EventClass<HemvMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Zhemv) {
- CHECK_DOUBLE;
- EventClass<HemvMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Chemv) {
- EventClass<HemvMetod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Zhemv) {
- CHECK_DOUBLE;
- EventClass<HemvMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_HERK
-TEST(EVENT_IN, Cherk) {
- EventClass<HerkMetod<FloatComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Zherk) {
- CHECK_DOUBLE;
- EventClass<HerkMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Cherk) {
- EventClass<HerkMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Zherk) {
- CHECK_DOUBLE;
- EventClass<HerkMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-
-#ifdef DO_HPMV
-TEST(EVENT_IN, Chpmv) {
- EventClass<HpmvMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Zhpmv) {
- CHECK_DOUBLE;
- EventClass<HpmvMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Chpmv) {
- EventClass<HpmvMetod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Zhpmv) {
- CHECK_DOUBLE;
- EventClass<HpmvMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-
-#ifdef DO_SPMV
-TEST(EVENT_IN, Sspmv) {
- EventClass<SpmvMetod<cl_float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Dspmv) {
- CHECK_DOUBLE;
- EventClass<SpmvMetod<cl_double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Sspmv) {
- EventClass<SpmvMetod<cl_float> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Dspmv) {
- CHECK_DOUBLE;
- EventClass<SpmvMetod<cl_double> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_SPR2
-TEST(EVENT_IN, Sspr2) {
- EventClass<Spr2Metod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Dspr2) {
- CHECK_DOUBLE;
- EventClass<Spr2Metod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Sspr2) {
- EventClass<Spr2Metod<float> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Dspr2) {
- CHECK_DOUBLE;
- EventClass<Spr2Metod<double> > ec;
- ec.runOut();
-}
-#endif
-
-
-#ifdef DO_HPR
-TEST(EVENT_IN, Chpr) {
- EventClass<HprMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Zhpr) {
- CHECK_DOUBLE;
- EventClass<HprMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Chpr) {
- EventClass<HprMetod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Zhpr) {
- CHECK_DOUBLE;
- EventClass<HprMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_HPR2
-TEST(EVENT_IN, Chpr2) {
- EventClass<Hpr2Metod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Zhpr2) {
- CHECK_DOUBLE;
- EventClass<Hpr2Metod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Chpr2) {
- EventClass<Hpr2Metod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Zhpr2) {
- CHECK_DOUBLE;
- EventClass<Hpr2Metod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_GBMV
-TEST(EVENT_IN, CGBMV) {
- EventClass<GbmvMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, ZGBMV) {
- CHECK_DOUBLE;
- EventClass<GbmvMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, CGBMV) {
- EventClass<GbmvMetod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, ZGBMV) {
- CHECK_DOUBLE;
- EventClass<GbmvMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_SBMV
-TEST(EVENT_IN, Ssbmv) {
- EventClass<SbmvMetod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Dsbmv) {
- CHECK_DOUBLE;
- EventClass<SbmvMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Ssbmv) {
- EventClass<SbmvMetod<float> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Dsbmv) {
- CHECK_DOUBLE;
- EventClass<SbmvMetod<double> > ec;
- ec.runOut();
-}
-#endif
-
-//DOT
-
-#ifdef DO_DOT
-TEST(EVENT_IN, Sdot) {
- EventClass<DotMetod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Ddot) {
- CHECK_DOUBLE;
- EventClass<DotMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Sdot) {
- EventClass<DotMetod<float> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Ddot) {
- CHECK_DOUBLE;
- EventClass<DotMetod<double> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_IN, Cdotu) {
- EventClass<DotMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Zdotu) {
- CHECK_DOUBLE;
- EventClass<DotMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Cdotu) {
- EventClass<DotMetod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Zdotu) {
- CHECK_DOUBLE;
- EventClass<DotMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-//ASUM
-
-#ifdef DO_ASUM
-TEST(EVENT_IN, Sasum) {
- EventClass<AsumMetod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Dasum) {
- CHECK_DOUBLE;
- EventClass<AsumMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Sasum) {
- EventClass<AsumMetod<float> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Dasum) {
- CHECK_DOUBLE;
- EventClass<AsumMetod<double> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_IN, Scasum) {
- EventClass<AsumMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Dzasum) {
- CHECK_DOUBLE;
- EventClass<AsumMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Scasum) {
- EventClass<AsumMetod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Dzasum) {
- CHECK_DOUBLE;
- EventClass<AsumMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-//iAMAX
-
-#ifdef DO_iAMAX
-TEST(EVENT_IN, iSamax) {
- EventClass<iAmaxMetod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, iDamax) {
- CHECK_DOUBLE;
- EventClass<iAmaxMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, iSamax) {
- EventClass<iAmaxMetod<float> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, iDamax) {
- CHECK_DOUBLE;
- EventClass<iAmaxMetod<double> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_IN, iCamax) {
- EventClass<iAmaxMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, iZamax) {
- CHECK_DOUBLE;
- EventClass<iAmaxMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, iCamax) {
- EventClass<iAmaxMetod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, iZamax) {
- CHECK_DOUBLE;
- EventClass<iAmaxMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-//DOTC
-#ifdef DO_DOTC
-TEST(EVENT_IN, Cdotc) {
- EventClass<DotcMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Zdotc) {
- CHECK_DOUBLE;
- EventClass<DotcMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Cdotc) {
- EventClass<DotcMetod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Zdotc) {
- CHECK_DOUBLE;
- EventClass<DotcMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-
-#ifdef DO_HBMV
-TEST(EVENT_IN, Chbmv) {
- EventClass<HbmvMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Zhbmv) {
- CHECK_DOUBLE;
- EventClass<HbmvMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Chbmv) {
- EventClass<HbmvMetod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Zhbmv) {
- CHECK_DOUBLE;
- EventClass<HbmvMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-
-#ifdef DO_TBMV
-TEST(EVENT_IN, CTBMV) {
- EventClass<TbmvMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, ZTBMV) {
- CHECK_DOUBLE;
- EventClass<TbmvMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, CTBMV) {
- EventClass<TbmvMetod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, ZTBMV) {
- CHECK_DOUBLE;
- EventClass<TbmvMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_TBSV
-TEST(EVENT_IN, CTBSV) {
- EventClass<TbsvMetod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, ZTBSV) {
- CHECK_DOUBLE;
- EventClass<TbsvMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, CTBSV) {
- EventClass<TbsvMetod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, ZTBSV) {
- CHECK_DOUBLE;
- EventClass<TbsvMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_HER2K
-TEST(EVENT_IN, Cher2k) {
- EventClass<Her2kMetod<FloatComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Zher2k) {
- CHECK_DOUBLE;
- EventClass<Her2kMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Cher2k) {
- EventClass<Her2kMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Zher2k) {
- CHECK_DOUBLE;
- EventClass<Her2kMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-
-#endif
-
-
-#ifdef DO_SCAL
-TEST(EVENT_IN, Sscal) {
- EventClass<ScalMetod<float> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Dscal) {
- CHECK_DOUBLE;
- EventClass<ScalMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Sscal) {
- EventClass<ScalMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Dscal) {
- CHECK_DOUBLE;
- EventClass<ScalMetod<double> > ec;
- ec.runOut();
-}
-TEST(EVENT_IN, Cscal) {
- EventClass<ScalMetod<FloatComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Zscal) {
- CHECK_DOUBLE;
- EventClass<ScalMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Cscal) {
- EventClass<ScalMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Zscal) {
- CHECK_DOUBLE;
- EventClass<ScalMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_SSCAL
-TEST(EVENT_IN, Csscal) {
- EventClass<SscalMetod<FloatComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Zdscal) {
- CHECK_DOUBLE;
- EventClass<SscalMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Csscal) {
- EventClass<SscalMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Zdscal) {
- CHECK_DOUBLE;
- EventClass<SscalMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_SWAP
-TEST(EVENT_IN, Sswap) {
- EventClass<SwapMetod<float> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Dswap) {
- CHECK_DOUBLE;
- EventClass<SwapMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Sswap) {
- EventClass<SwapMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Dswap) {
- CHECK_DOUBLE;
- EventClass<SwapMetod<double> > ec;
- ec.runOut();
-}
-TEST(EVENT_IN, Cswap) {
- EventClass<SwapMetod<FloatComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Zswap) {
- CHECK_DOUBLE;
- EventClass<SwapMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Cswap) {
- EventClass<SwapMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Zswap) {
- CHECK_DOUBLE;
- EventClass<SwapMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-
-//copy
-
-#ifdef DO_COPY
-TEST(EVENT_IN, Scopy) {
- EventClass<CopyMetod<float> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Dcopy) {
- CHECK_DOUBLE;
- EventClass<CopyMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Scopy) {
- EventClass<CopyMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Dcopy) {
- CHECK_DOUBLE;
- EventClass<CopyMetod<double> > ec;
- ec.runOut();
-}
-TEST(EVENT_IN, Ccopy) {
- EventClass<CopyMetod<FloatComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Zcopy) {
- CHECK_DOUBLE;
- EventClass<CopyMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Ccopy) {
- EventClass<CopyMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Zcopy) {
- CHECK_DOUBLE;
- EventClass<CopyMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_AXPY
-TEST(EVENT_IN, Saxpy) {
- EventClass<AxpyMetod<float> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Daxpy) {
- CHECK_DOUBLE;
- EventClass<AxpyMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Saxpy) {
- EventClass<AxpyMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Daxpy) {
- CHECK_DOUBLE;
- EventClass<AxpyMetod<double> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_IN, Caxpy) {
- EventClass<AxpyMetod<FloatComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Zaxpy) {
- CHECK_DOUBLE;
- EventClass<AxpyMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Caxpy) {
- EventClass<AxpyMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Zaxpy) {
- CHECK_DOUBLE;
- EventClass<AxpyMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-
-
-#ifdef DO_ROTG
-TEST(EVENT_IN, Srotg) {
- EventClass<RotgMetod<float> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Drotg) {
- CHECK_DOUBLE;
- EventClass<RotgMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Srotg) {
- EventClass<RotgMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Drotg) {
- CHECK_DOUBLE;
- EventClass<RotgMetod<double> > ec;
- ec.runOut();
-}
-TEST(EVENT_IN, Crotg) {
- EventClass<RotgMetod<FloatComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Zrotg) {
- CHECK_DOUBLE;
- EventClass<RotgMetod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Crotg) {
- EventClass<RotgMetod<FloatComplex> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Zrotg) {
- CHECK_DOUBLE;
- EventClass<RotgMetod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_ROTM
-TEST(EVENT_IN, Srotm) {
- EventClass<RotmMetod<float> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Drotm) {
- CHECK_DOUBLE;
- EventClass<RotmMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Srotm) {
- EventClass<RotmMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Drotm) {
- CHECK_DOUBLE;
- EventClass<RotmMetod<double> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_ROT
-TEST(EVENT_IN, Srot) {
- EventClass<RotMetod<float> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Drot) {
- CHECK_DOUBLE;
- EventClass<RotMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Csrot) {
- EventClass<RotMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Zdrot) {
- CHECK_DOUBLE;
- EventClass<RotMetod<double> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_ROTMG
-TEST(EVENT_IN, Srotmg) {
- EventClass<RotmgMetod<float> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_IN, Drotmg) {
- CHECK_DOUBLE;
- EventClass<RotmgMetod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Srotmg) {
- EventClass<RotmgMetod<float> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_OUT, Drotmg) {
- CHECK_DOUBLE;
- EventClass<RotmgMetod<double> > ec;
- ec.runOut();
-}
-#endif
-
-#ifdef DO_NRM2
-TEST(EVENT_IN, Snrm2) {
- EventClass<Nrm2Metod<float> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Dnrm2) {
- CHECK_DOUBLE;
- EventClass<Nrm2Metod<double> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Snrm2) {
- EventClass<Nrm2Metod<float> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Dnrm2) {
- CHECK_DOUBLE;
- EventClass<Nrm2Metod<double> > ec;
- ec.runOut();
-}
-
-TEST(EVENT_IN, Scnrm2) {
- EventClass<Nrm2Metod<FloatComplex> > ec;
- ec.runIn();
-}
-TEST(EVENT_IN, Dznrm2) {
- CHECK_DOUBLE;
- EventClass<Nrm2Metod<DoubleComplex> > ec;
- ec.runIn();
-}
-
-TEST(EVENT_OUT, Scnrm2) {
- EventClass<Nrm2Metod<FloatComplex> > ec;
- ec.runOut();
-}
-TEST(EVENT_OUT, Dznrm2) {
- CHECK_DOUBLE;
- EventClass<Nrm2Metod<DoubleComplex> > ec;
- ec.runOut();
-}
-#endif