Loading...
Searching...
No Matches
LowerWarpShuffles.h
Go to the documentation of this file.
#ifndef HALIDE_LOWER_WARP_SHUFFLES_H
#define HALIDE_LOWER_WARP_SHUFFLES_H
/** \file
* Defines the lowering pass that injects CUDA warp shuffle
* instructions to access storage outside of a GPULane loop.
*/
#include "Expr.h"
namespace Halide {
namespace Internal {
/** Rewrite access to things stored outside the loop over GPU lanes to
* use nvidia's warp shuffle instructions. */
Stmt lower_warp_shuffles(Stmt s, const Target &t);
} // namespace Internal
} // namespace Halide
#endif
Expr.h
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt).
Halide::Internal
Definition AbstractGenerator.h:24
Halide::Internal::lower_warp_shuffles
Stmt lower_warp_shuffles(Stmt s, const Target &t)
Rewrite access to things stored outside the loop over GPU lanes to use nvidia's warp shuffle instruct...
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition AbstractGenerator.h:19
Halide::Internal::Stmt
A reference-counted handle to a statement node.
Definition Expr.h:427
Halide::Target
A struct representing a target machine and os to generate code for.
Definition Target.h:19