Halide
12.0.1
Halide compiler and libraries
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
,
18
Default_GPU
,
19
CUDA
,
20
OpenCL
,
21
OpenGLCompute
,
22
Metal
,
23
Hexagon
,
24
HexagonDma
,
25
D3D12Compute
,
26
};
27
28
/** An array containing all the device apis. Useful for iterating
29
* through them. */
30
const
DeviceAPI
all_device_apis
[] = {
DeviceAPI::None
,
31
DeviceAPI::Host
,
32
DeviceAPI::Default_GPU
,
33
DeviceAPI::CUDA
,
34
DeviceAPI::OpenCL
,
35
DeviceAPI::OpenGLCompute
,
36
DeviceAPI::Metal
,
37
DeviceAPI::Hexagon
,
38
DeviceAPI::HexagonDma
,
39
DeviceAPI::D3D12Compute
};
40
41
}
// namespace Halide
42
43
#endif
// HALIDE_DEVICEAPI_H
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition:
AddAtomicMutex.h:21
Halide::DeviceAPI
DeviceAPI
An enum describing a type of device API.
Definition:
DeviceAPI.h:15
Halide::DeviceAPI::Hexagon
@ Hexagon
Halide::DeviceAPI::OpenGLCompute
@ OpenGLCompute
Halide::DeviceAPI::HexagonDma
@ HexagonDma
Halide::DeviceAPI::None
@ None
Halide::DeviceAPI::OpenCL
@ OpenCL
Halide::DeviceAPI::CUDA
@ CUDA
Halide::DeviceAPI::D3D12Compute
@ D3D12Compute
Halide::DeviceAPI::Host
@ Host
Used to denote for loops that run on the same device as the containing code.
Halide::DeviceAPI::Metal
@ Metal
Halide::DeviceAPI::Default_GPU
@ Default_GPU
Halide::all_device_apis
const DeviceAPI all_device_apis[]
An array containing all the device apis.
Definition:
DeviceAPI.h:30
src
DeviceAPI.h
Generated by
1.9.1