// Copyright Advanced Micro Devices, Inc., or its affiliates. // SPDX-License-Identifier: MIT /** * */ #pragma once #include #include namespace rocRoller { namespace Operations { struct Tensor; struct Scalar; struct Literal; struct BlockScale; struct Scratch; struct SubTileTranspose; struct T_Load_Linear; struct T_Load_Scalar; struct T_Load_Tiled; struct T_Mul; struct T_Store_Linear; struct T_Store_Tiled; struct T_Execute; struct Nop; struct RandomNumberGenerator; using Operation = std::variant; template concept COperation = std::constructible_from; template concept CConcreteOperation = (COperation && !std::same_as); struct Inputs; struct Outputs; struct TagVisitor; std::string name(Operation const&); template std::string name(); } }