Halide
HexagonOffload.h
Go to the documentation of this file.
1
#ifndef HALIDE_HEXAGON_OFFLOAD_H
2
#define HALIDE_HEXAGON_OFFLOAD_H
3
4
/** \file
5
* Defines a lowering pass to pull loops marked with the
6
* Hexagon device API to a separate module, and call them through the
7
* Hexagon host runtime module.
8
*/
9
10
#include "
Buffer.h
"
11
#include "
Expr.h
"
12
13
namespace
Halide
{
14
15
class
Module;
16
struct
Target;
17
18
namespace
Internal
{
19
20
/** Pull loops marked with the Hexagon device API to a separate
21
* module, and call them through the Hexagon host runtime module. */
22
Stmt
inject_hexagon_rpc
(Stmt s,
const
Target &host_target, Module &module);
23
24
Buffer<uint8_t>
compile_module_to_hexagon_shared_object
(
const
Module &device_code);
25
26
}
// namespace Internal
27
}
// namespace Halide
28
29
#endif
Halide::Internal::inject_hexagon_rpc
Stmt inject_hexagon_rpc(Stmt s, const Target &host_target, Module &module)
Pull loops marked with the Hexagon device API to a separate module, and call them through the Hexagon...
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition:
AbstractGenerator.h:19
Halide::LinkageType::Internal
@ Internal
Not visible externally, similar to 'static' linkage in C.
Buffer.h
Expr.h
Halide::Internal::compile_module_to_hexagon_shared_object
Buffer< uint8_t > compile_module_to_hexagon_shared_object(const Module &device_code)
src
HexagonOffload.h
Generated by
1.8.17