1#pragma once
2
3#include <c10/macros/Export.h>
4
5#include <dispatch.h>
6#include <fusion.h>
7#include <ir_all_nodes.h>
8
9namespace torch {
10namespace jit {
11namespace fuser {
12namespace cuda {
13
14// TensorViews are all based on symbolic sizes. When we first initialize them
15// we don't know if they're inputs or outputs which would mean that they have
16// runtime shapes. Intermediate tensors (those not going to global memory) do
17// not have this information. Since we need to have the correct information in
18// the kernel being fetched for shapes, we want to replace input and output
19// tensors to reference the runtime structure containing sizes.
20void replaceSymbolicSizes(Fusion*);
21
22} // namespace cuda
23} // namespace fuser
24} // namespace jit
25} // namespace torch
26