Skip to content

Commit ecdc007

Browse files
authored
Linear tiling experiment
Differential Revision: D65912644 Pull Request resolved: #6838
1 parent 0a9598b commit ecdc007

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,10 @@ VEC4_T q_8w_linear(const u16vec3 out_pos, const uint16_t K) {
118118
}
119119

120120
void main() {
121-
const u16vec3 out_pos = u16vec3(gl_GlobalInvocationID);
121+
const u16vec3 out_pos = u16vec3(
122+
gl_GlobalInvocationID.x / (out_limits.y * out_limits.z),
123+
(gl_GlobalInvocationID.x / out_limits.z) % out_limits.y,
124+
gl_GlobalInvocationID.x % out_limits.z);
122125
if (any(greaterThanEqual(out_pos, out_limits))) {
123126
return;
124127
}

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,15 @@ void add_q_8w_linear_node(
109109
graph.sizes_ubo(mat1_W_packed)});
110110
}
111111

112+
// set global work group size to be 1 dimensional
113+
const utils::uvec3 wg_size = {
114+
static_cast<uint32_t>(graph.numel_of(out_W_packed)), 1, 1};
115+
112116
graph.execute_nodes().emplace_back(new DispatchNode(
113117
graph,
114118
VK_KERNEL_FROM_STR(kernel_name),
115-
graph.create_global_wg_size(out_W_packed),
116-
graph.create_local_wg_size(out_W_packed),
119+
wg_size,
120+
graph.create_local_wg_size(wg_size),
117121
// Inputs and Outputs
118122
{{out_W_packed, vkapi::MemoryAccessType::WRITE},
119123
{{mat1_W_packed, q_mat2, scales}, vkapi::MemoryAccessType::READ}},

backends/vulkan/runtime/vk_api/memory/Image.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ VulkanImage::VulkanImage(
156156
1u, // mipLevels
157157
1u, // arrayLayers
158158
VK_SAMPLE_COUNT_1_BIT, // samples
159-
VK_IMAGE_TILING_OPTIMAL, // tiling
159+
VK_IMAGE_TILING_LINEAR, // tiling
160160
image_properties_.image_usage, // usage
161161
VK_SHARING_MODE_EXCLUSIVE, // sharingMode
162162
0u, // queueFamilyIndexCount

0 commit comments

Comments
 (0)