ViennaCL - The Vienna Computing Library  1.2.0
forwards.h
Go to the documentation of this file.
1 #ifndef VIENNACL_OCL_FORWARDS_H_
2 #define VIENNACL_OCL_FORWARDS_H_
3 
4 /* =========================================================================
5  Copyright (c) 2010-2011, Institute for Microelectronics,
6  Institute for Analysis and Scientific Computing,
7  TU Wien.
8 
9  -----------------
10  ViennaCL - The Vienna Computing Library
11  -----------------
12 
13  Project Head: Karl Rupp rupp@iue.tuwien.ac.at
14 
15  (A list of authors and contributors can be found in the PDF manual)
16 
17  License: MIT (X11), see file LICENSE in the base directory
18 ============================================================================= */
19 
24 #define VIENNACL_OCL_MAX_DEVICE_NUM 8
25 
26 #include <stddef.h>
27 
28 namespace viennacl
29 {
30  namespace ocl
31  {
32  //device type tags (cf. OpenCL standard)
33  struct gpu_tag {};
34  struct cpu_tag {};
35  struct accelerator_tag {};
36  struct default_tag {};
37 
38 
39  class kernel;
40  class device;
41  class command_queue;
42  class context;
43  class program;
44 
45  template<class OCL_TYPE>
46  class handle;
47 
48  template <typename KernelType>
49  void enqueue(KernelType & k, viennacl::ocl::command_queue const & queue);
50 
52  inline viennacl::ocl::device const & current_device();
53  }
54 } //namespace viennacl
55 
56 #endif
57