summaryrefslogtreecommitdiff
path: root/external/clBLAS/src/tests/include/BlasBase.h
diff options
context:
space:
mode:
Diffstat (limited to 'external/clBLAS/src/tests/include/BlasBase.h')
-rw-r--r--external/clBLAS/src/tests/include/BlasBase.h226
1 files changed, 0 insertions, 226 deletions
diff --git a/external/clBLAS/src/tests/include/BlasBase.h b/external/clBLAS/src/tests/include/BlasBase.h
deleted file mode 100644
index 6c13e520..00000000
--- a/external/clBLAS/src/tests/include/BlasBase.h
+++ /dev/null
@@ -1,226 +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.
- * ************************************************************************/
-
-
-#ifndef BLASBASE_H_
-#define BLASBASE_H_
-
-#include <clBLAS.h>
-#include <common.h>
-#include <algorithm>
-
-#if _MSC_VER
-#pragma warning (disable:4127)
-#endif
-
-// check it is double precision error and return
-#define CHECK_DP_ERROR_AND_RETURN(err, funcName) \
-do { \
- clMath::BlasBase *base = clMath::BlasBase::getInstance(); \
- \
- if (err == CL_INVALID_DEVICE && !base->isDevSupportDoublePrecision()) { \
- ::std::cerr << std::endl << ">> " << funcName << \
- "() reported that this device doesn't support double " \
- "precision floating point arithmetic. Test is skipped" << \
- ::std::endl; \
- SUCCEED(); \
- \
- return; \
- } \
-} while (0) \
-
-#define DEFAULT_SEED 12345
-#define MAX_COMMAND_QUEUES 10
-
-namespace clMath {
-
-// This class is a singleton
-
-class BlasBase {
-private:
- cl_platform_id platform_;
- // used in all cases
- cl_device_id primaryDevice_;
- /*
- * used only in cases with MultipleQueues to cover problem distribution
- * among different devices, not only different queues belonging to the same
- * device
- */
- cl_device_id additionalDevice_;
- cl_context context_;
- cl_command_queue commandQueues_[MAX_COMMAND_QUEUES];
-
- bool useNumCommandQueues_;
- cl_uint numCommandQueues_;
-
- bool useAlpha_;
- bool useBeta_;
- ComplexLong alpha_;
- ComplexLong beta_;
-
- bool useSeed_;
- unsigned int seed_;
-
- bool useM_, useN_, useK_;
- size_t M_, N_, K_;
-
- bool useIncX_, useIncY_;
- int incX_, incY_;
-
- bool useImages_;
- cl_device_type devType_;
- const char* devName_;
- cl_ulong imageA_;
- cl_ulong imageB_;
-
- BlasBase();
- ~BlasBase();
- BlasBase(const BlasBase &); // intentionally undefined
- BlasBase & operator=(const BlasBase &); // intentionally undefined
-
- void SetUp();
- void TearDown();
- bool initialized();
-
- cl_int getPlatforms(cl_platform_id** platforms, cl_int *error);
- cl_device_id getDevice(cl_device_type type, const char* name,
- cl_int *error);
- void printDevInfoStr(cl_device_info param, const char *paramName,
- int primAdd);
-
-public:
- static BlasBase* getInstance();
-
- cl_context context()
- {
- return context_;
- };
-
- cl_command_queue* commandQueues() const
- {
- return const_cast<cl_command_queue*>(commandQueues_);
- };
-
- bool useNumCommandQueues() const { return useNumCommandQueues_; };
- cl_uint numCommandQueues() const { return numCommandQueues_; };
- void setNumCommandQueues(cl_uint numCommandQueues)
- {
- if (numCommandQueues <= MAX_COMMAND_QUEUES) {
- numCommandQueues_ = numCommandQueues;
- useNumCommandQueues_ = true;
- }
- }
-
- bool useAlpha() const { return useAlpha_; }
- ComplexLong alpha() const { return alpha_; }
- void setAlpha(ComplexLong alpha)
- {
- alpha_ = alpha;
- useAlpha_ = true;
- }
-
- bool useBeta() const { return useBeta_; }
- ComplexLong beta() const { return beta_; }
- void setBeta(ComplexLong beta)
- {
- beta_ = beta;
- useBeta_ = true;
- }
-
- bool useSeed() const { return useSeed_; };
- unsigned int seed() const { return seed_; };
- void setSeed(unsigned int seed)
- {
- seed_ = seed;
- useSeed_ = true;
- }
-
- bool useM() const { return useM_; };
- size_t M() const { return M_; }
- void setM(size_t M)
- {
- M_ = M;
- useM_ = true;
- }
-
- bool useN() const { return useN_; };
- size_t N() const { return N_; }
- void setN(size_t N)
- {
- N_ = N;
- useN_ = true;
- }
-
- bool useK() const { return useK_; };
- size_t K() const { return K_; }
- void setK(size_t K)
- {
- K_ = K;
- useK_ = true;
- }
-
- bool useIncX() const { return useIncX_; };
- int incX() const { return incX_; }
- void setIncX(int incX)
- {
- incX_ = incX;
- useIncX_ = true;
- }
-
- bool useIncY() const { return useIncY_; };
- int incY() const { return incY_; }
- void setIncY(int incY)
- {
- incY_ = incY;
- useIncY_ = true;
- }
-
- bool useImages() const { return useImages_; };
- void setUseImages(bool value)
- {
- useImages_ = value;
- }
- void setUseImages(int value)
- {
- useImages_ = (value != 0);
- }
-
- bool setDeviceType(cl_device_type* devType, const char* devName);
- cl_mem createEnqueueBuffer(const void *data, size_t matrSize, size_t off,
- cl_mem_flags mode);
- cl_mem readBuffer(void *ptr, size_t off, size_t size);
-
- clblasStatus addScratchImages(void);
- void removeScratchImages(void);
- size_t scratchImageWidth(void);
- size_t scratchImageHeight(void);
-
- cl_ulong maxMemAllocSize(void);
- cl_ulong availGlobalMemSize(int primAdd);
-
- bool isDevSupportDoublePrecision(void);
- // print information on environment the test run in
- void printEnvInfo(void);
-
- void release(void)
- {
- TearDown();
- }
-};
-
-} // namespace
-
-#endif // BLASBASE_H_