All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
forwards.h
Go to the documentation of this file.
#ifndef VIENNACL_OCL_FORWARDS_H_
#define VIENNACL_OCL_FORWARDS_H_
/* =========================================================================
Copyright (c) 2010-2016, Institute for Microelectronics,
Institute for Analysis and Scientific Computing,
TU Wien.
Portions of this software are copyright by UChicago Argonne, LLC.
-----------------
ViennaCL - The Vienna Computing Library
-----------------
Project Head: Karl Rupp rupp@iue.tuwien.ac.at
(A list of authors and contributors can be found in the manual)
License: MIT (X11), see file LICENSE in the base directory
============================================================================= */
#define VIENNACL_OCL_MAX_DEVICE_NUM 8
#include <stddef.h>
namespace viennacl
{
namespace ocl
{
//device type tags (cf. OpenCL standard)
struct gpu_tag {};
struct cpu_tag {};
struct accelerator_tag {};
struct default_tag {};
class kernel;
class device;
class command_queue;
class context;
class program;
template<class OCL_TYPE>
class handle;
template<typename KernelType>
void enqueue(KernelType & k, viennacl::ocl::command_queue const & queue);
inline viennacl::ocl::context & current_context();
inline viennacl::ocl::device const & current_device();
}
} //namespace viennacl
#endif
viennacl::ocl::gpu_tag
A tag identifying OpenCL devices as GPUs.
Definition: forwards.h:35
viennacl::ocl::kernel
Represents an OpenCL kernel within ViennaCL.
Definition: kernel.hpp:58
viennacl::ocl::current_context
viennacl::ocl::context & current_context()
Convenience function for returning the current context.
Definition: backend.hpp:213
viennacl::ocl::context
Manages an OpenCL context and provides the respective convenience functions for creating buffers...
Definition: context.hpp:55
viennacl::ocl::cpu_tag
A tag identifying OpenCL devices as CPUs.
Definition: forwards.h:37
viennacl::ocl::device
A class representing a compute device (e.g. a GPU)
Definition: device.hpp:49
viennacl::ocl::command_queue
A class representing a command queue.
Definition: command_queue.hpp:45
viennacl::ocl::current_device
viennacl::ocl::device const & current_device()
Convenience function for returning the active device in the current context.
Definition: backend.hpp:351
viennacl::ocl::accelerator_tag
A tag identifying OpenCL devices as accelerators (e.g. Intel Xeon Phi)
Definition: forwards.h:39
viennacl::ocl::program
Wrapper class for an OpenCL program.
Definition: program.hpp:42
viennacl::ocl::enqueue
void enqueue(KernelType &k, viennacl::ocl::command_queue const &queue)
Enqueues a kernel in the provided queue.
Definition: enqueue.hpp:50
viennacl::ocl::default_tag
A tag denoting the default OpenCL device type (SDK-specific)
Definition: forwards.h:41
viennacl::ocl::handle
Handle class the effectively represents a smart pointer for OpenCL handles.
Definition: forwards.h:51