Skip to content

Commit b765e99

Browse files
authored
Using push constants for add mm native op.
Differential Revision: D88097601 Pull Request resolved: #16115
1 parent 9156fff commit b765e99

File tree

3 files changed

+23
-23
lines changed

3 files changed

+23
-23
lines changed

backends/vulkan/runtime/graph/ops/glsl/addmm_naive_texture3d.glsl

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,17 @@ ${layout_declare_tensor(B, "r", "mat1_tensor", DTYPE, "texture3d")}
2121
${layout_declare_tensor(B, "r", "mat2_tensor", DTYPE, "texture3d")}
2222
$if HAS_BIAS:
2323
${layout_declare_tensor(B, "r", "bias_tensor", DTYPE, "texture3d")}
24-
${layout_declare_ubo(B, "ivec4", "out_sizes")}
25-
${layout_declare_ubo(B, "ivec3", "out_limits")}
26-
${layout_declare_ubo(B, "ivec4", "mat1_sizes")}
27-
${layout_declare_ubo(B, "ivec4", "mat2_sizes")}
28-
$if HAS_BIAS:
29-
${layout_declare_ubo(B, "ivec4", "bias_sizes")}
30-
${layout_declare_ubo(B, "float", "alpha", "float", "beta")}
24+
25+
layout(push_constant) uniform restrict Block {
26+
ivec4 out_sizes;
27+
ivec4 mat1_sizes;
28+
ivec4 mat2_sizes;
29+
ivec3 out_limits;
30+
$if HAS_BIAS:
31+
ivec4 bias_sizes;
32+
float alpha;
33+
float beta;
34+
};
3135

3236
#include "indexing_utils.h"
3337

backends/vulkan/runtime/graph/ops/impl/Linear.cpp

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -182,16 +182,14 @@ void add_addmm_naive_texture_node(
182182
// Inputs and Outputs
183183
{{out, vkapi::kWrite}, {{mat1, mat2, self}, vkapi::kRead}},
184184
// Shader params buffers
185-
{
186-
graph.sizes_ubo(out),
187-
graph.logical_limits_ubo(out),
188-
graph.sizes_ubo(mat1),
189-
graph.sizes_ubo(mat2),
190-
graph.sizes_ubo(self),
191-
graph.create_params_buffer(params),
192-
},
193-
// Push Constants
194185
{},
186+
// Push Constants
187+
{graph.sizes_pc_of(out),
188+
graph.sizes_pc_of(mat1),
189+
graph.sizes_pc_of(mat2),
190+
graph.logical_limits_pc_of(out),
191+
graph.sizes_pc_of(self),
192+
PushConstantDataInfo(&params, sizeof(params))},
195193
// Specialization Constants
196194
{graph.hashed_layout_of(out),
197195
graph.hashed_layout_of(mat1),

backends/vulkan/runtime/graph/ops/impl/MatMul.cpp

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -162,14 +162,12 @@ void add_matmul_naive_texture3d_node(
162162
// Inputs and Outputs
163163
{{out, vkapi::kWrite}, {{mat1, mat2}, vkapi::kRead}},
164164
// Shader params buffers
165-
{
166-
graph.sizes_ubo(out),
167-
graph.logical_limits_ubo(out),
168-
graph.sizes_ubo(mat1),
169-
graph.sizes_ubo(mat2),
170-
},
171-
// Push Constants
172165
{},
166+
// Push Constants
167+
{graph.sizes_pc_of(out),
168+
graph.sizes_pc_of(mat1),
169+
graph.sizes_pc_of(mat2),
170+
graph.logical_limits_pc_of(out)},
173171
// Specialization Constants
174172
{graph.hashed_layout_of(out),
175173
graph.hashed_layout_of(mat1),

0 commit comments

Comments
 (0)