SkelCL
SkelCL is a high level multi GPU skeleton library developed at the university of Münster, Germany.
 All Classes Namespaces Files Functions Variables Typedefs Groups
SkelCL.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2011-2012 The SkelCL Team as listed in CREDITS.txt *
3  * http://skelcl.uni-muenster.de *
4  * *
5  * This file is part of SkelCL. *
6  * SkelCL is available under multiple licenses. *
7  * The different licenses are subject to terms and condition as provided *
8  * in the files specifying the license. See "LICENSE.txt" for details *
9  * *
10  *****************************************************************************
11  * *
12  * SkelCL is free software: you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation, either version 3 of the License, or *
15  * (at your option) any later version. See "LICENSE-gpl.txt" for details. *
16  * *
17  * SkelCL is distributed in the hope that it will be useful, *
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
20  * GNU General Public License for more details. *
21  * *
22  *****************************************************************************
23  * *
24  * For non-commercial academic use see the license specified in the file *
25  * "LICENSE-academic.txt". *
26  * *
27  *****************************************************************************
28  * *
29  * If you are interested in other licensing models, including a commercial- *
30  * license, please contact the author at michel.steuwer@uni-muenster.de *
31  * *
32  *****************************************************************************/
33 
102 
113 
119 
120 #ifndef SKELCL_H_
121 #define SKELCL_H_
122 
123 #include "detail/Device.h"
124 #include "detail/DeviceID.h"
125 #include "detail/DeviceProperties.h"
126 #include "detail/Macros.h"
127 #include "detail/PlatformID.h"
128 #include "detail/Types.h"
129 #include "detail/skelclDll.h"
130 
131 namespace skelcl {
132 
137 typedef detail::Device::Type device_type;
138 
144 SKELCL_DLL detail::DeviceProperties allDevices();
145 
153 SKELCL_DLL detail::DeviceProperties nDevices(size_t n);
154 
161 SKELCL_DLL detail::PlatformID platform(size_t pID);
162 
169 SKELCL_DLL detail::DeviceID device(size_t dID);
170 
184 SKELCL_DLL void init(detail::DeviceProperties properties = allDevices());
185 
197 SKELCL_DLL void init(detail::PlatformID pID, detail::DeviceID dID);
198 
207 SKELCL_DLL void terminate();
208 
209 } // namespace skelcl
210 
211 #endif // SKELCL_H_
SKELCL_DLL detail::DeviceProperties allDevices()
Creates a detail::DeviceProperties object representing all devices in the system. This object should ...
Definition: SkelCL.cpp:61
detail::Device::Type device_type
Public name for a type representing different types of device. E.g. CPU or GPU.
Definition: SkelCL.h:137
SKELCL_DLL void init(detail::DeviceProperties properties=allDevices())
Initializes the SkelCL library. This function (or another init function) has to be called prior to ev...
Definition: SkelCL.cpp:51
SKELCL_DLL detail::DeviceID device(size_t dID)
Creates an OpenCL device ID to be used as parameter of the init(detail::PlatformID, detail::DeviceID) function.
Definition: SkelCL.cpp:76
SKELCL_DLL detail::DeviceProperties nDevices(size_t n)
Creates a detail::DeviceProperties object representing n devices. This object should be used as param...
Definition: SkelCL.cpp:66
SKELCL_DLL void terminate()
Frees all resources allocated internally by SkelCL.
Definition: SkelCL.cpp:81
SKELCL_DLL detail::PlatformID platform(size_t pID)
Creates an OpenCL platform ID to be used as parameter of the init(detail::PlatformID, detail::DeviceID) function.
Definition: SkelCL.cpp:71