Halide
DeviceAPI.h
Go to the documentation of this file.
1 #ifndef HALIDE_DEVICEAPI_H
2 #define HALIDE_DEVICEAPI_H
3 
4 /** \file
5  * Defines DeviceAPI.
6  */
7 
8 #include <string>
9 #include <vector>
10 
11 namespace Halide {
12 
13 /** An enum describing a type of device API. Used by schedules, and in
14  * the For loop IR node. */
15 enum class DeviceAPI {
16  None, /// Used to denote for loops that run on the same device as the containing code.
17  Host,
19  CUDA,
20  OpenCL,
21  GLSL,
23  Metal,
24  Hexagon,
25  HexagonDma,
27 };
28 
29 /** An array containing all the device apis. Useful for iterating
30  * through them. */
42 
43 } // namespace Halide
44 
45 #endif // HALIDE_DEVICEAPI_H
Halide::DeviceAPI::Default_GPU
@ Default_GPU
Halide::DeviceAPI::Host
@ Host
Used to denote for loops that run on the same device as the containing code.
Halide::DeviceAPI::CUDA
@ CUDA
Halide::DeviceAPI::HexagonDma
@ HexagonDma
Halide::DeviceAPI::D3D12Compute
@ D3D12Compute
Halide::DeviceAPI::OpenGLCompute
@ OpenGLCompute
Halide::all_device_apis
const DeviceAPI all_device_apis[]
An array containing all the device apis.
Definition: DeviceAPI.h:31
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition: AddAtomicMutex.h:21
Halide::DeviceAPI::Metal
@ Metal
Halide::DeviceAPI::Hexagon
@ Hexagon
Halide::DeviceAPI::None
@ None
Halide::DeviceAPI::OpenCL
@ OpenCL
Halide::DeviceAPI::GLSL
@ GLSL
Halide::DeviceAPI
DeviceAPI
An enum describing a type of device API.
Definition: DeviceAPI.h:15