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 | |
9 | namespace torch { |
10 | namespace jit { |
11 | namespace fuser { |
12 | namespace 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. |
20 | void replaceSymbolicSizes(Fusion*); |
21 | |
22 | } // namespace cuda |
23 | } // namespace fuser |
24 | } // namespace jit |
25 | } // namespace torch |
26 | |