summaryrefslogtreecommitdiff
path: root/external/clBLAS/src/include/kern_cache.h
diff options
context:
space:
mode:
Diffstat (limited to 'external/clBLAS/src/include/kern_cache.h')
-rw-r--r--external/clBLAS/src/include/kern_cache.h188
1 files changed, 0 insertions, 188 deletions
diff --git a/external/clBLAS/src/include/kern_cache.h b/external/clBLAS/src/include/kern_cache.h
deleted file mode 100644
index af14a855..00000000
--- a/external/clBLAS/src/include/kern_cache.h
+++ /dev/null
@@ -1,188 +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.
- * ************************************************************************/
-
-
-/*
- * OpenCL kernel cache
- */
-
-#ifndef KERN_CACHE_H_
-#define KERN_CACHE_H_
-
-#if defined(__APPLE__) || defined(__MACOSX)
-#include <OpenCL/cl.h>
-#else
-#include <CL/cl.h>
-#endif
-
-#include <defbool.h>
-#include <list.h>
-#include <kerngen.h>
-#include <solver.h>
-#include <mutex.h>
-#include <trace_malloc.h>
-
-struct KernelCache;
-
-/* Unique kernel characteristics */
-typedef struct KernelKey {
- cl_device_id device;
- cl_context context;
- unsigned int nrDims;
- SubproblemDim subdims[MAX_SUBDIMS];
-} KernelKey;
-
-/*
- * structure describing an optimal CL kernel for some
- * memory pattern and subproblem dimensions
- */
-typedef struct Kernel {
- cl_program program; // program the kernel belongs to
- /* extra information specific for the application field */
- void *extra;
- size_t extraSize;
- void (*dtor)(struct Kernel *kern);
- int noSource;
-} Kernel;
-
-typedef int
-(*KernelExtraCmpFn)(const void *extra, const void *extraKey);
-
-
-/*
- * Create kernel cache
- *
- * @nrSolvers: total solvers amount to store kernels of in a cache
- * @sizeLimit: limit of the cache in bytes;
- * if set to 0 the cache size is
- * unlimited
- *
- * On success returns pointer to kernel cache object;
- * On error returns NULL, if it has not succeeded to allocated need resources
- */
-struct KernelCache
-*createKernelCache(
- unsigned int nrSolvers,
- size_t sizeLimit);
-
-void
-destroyKernelCache(struct KernelCache *kcache);
-
-/*
- * Allocate kernel
- *
- * After allocation fill the structure with zero bytes
- * and set the kernel's reference counter to 1.
- *
- * return pointer to a just created kernel,
- * return NULL if there is not enough memory
- * to allocate a kernel
- */
-Kernel
-*allocKernel(void);
-
-/*
- * Get reference to kernel not yet added to a cache
- */
-void
-getKernel(Kernel *kern);
-
-/*
- * Decrement reference counter of this kernel
- *
- * @kcache: the cache the kernel inserted to;
- * may be NULL if the kernel is not yet
- * added to a cache, it is ignored in the case
- *
- * When there are no more references to the kernel, it is automatically
- * destroyed
- */
-void
-putKernel(struct KernelCache *kcache, Kernel *kern);
-
-/*
- * Add new generated kernel to cache
- *
- * @kcache: cache to add the kernel to
- * @sid: solver ID to add the kernel for
- * @kern: kernel to add
- * @key: kernel characteristics
- *
- * On success returns 0.
- * On error returns -1, in on of the following cases:
- * kernel size is larger than the maximum cache size,
- * or there is not enough memory to allocate internal
- * structures,
- * or the passed solver ID is wrong,
- * or 'nrDims' is wrong,
- */
-int
-addKernelToCache(
- struct KernelCache *kcache,
- solver_id_t sid,
- Kernel *kern,
- const KernelKey *key,
- KernelExtraCmpFn extraCmp);
-
-/*
- * Find the kernel for the given OpenCL solver and
- * subproblem dimensions, and increment reference counter to it
- *
- * On success returns the kernel being actually stored in the cache.
- * On error returns NULL; it means the passed solver ID
- * is wrong, or any kernel for the given solver and subprolem
- * dimensions is not stored in the cache
- */
-Kernel
-*findKernel(
- struct KernelCache *kcache,
- solver_id_t sid,
- const KernelKey *key,
- const void *extraKey);
-
-/*
- * Get available size in the kernel cache
- */
-size_t
-availKernelCacheSize(struct KernelCache *kcache);
-
-/*
- * Remove all kernels from the cache
- */
-void
-cleanKernelCache(struct KernelCache *kcache);
-
-size_t
-fullKernelSize(struct Kernel *kern);
-
-
-#if defined(TRACE_MALLOC)
-
-void
-printKernelCacheSize(struct KernelCache *kcache);
-
-#else /* TRACE_MALLOC */
-
-static __inline void
-printKernelCacheSize(struct KernelCache *kcache)
-{
- /* do nothing */
- (void)kcache;
-}
-
-#endif /* !TRACE_MALLOC */
-
-#endif /* KERN_CACHE_H_ */