Skip to content

Commit b820541

Browse files
Italo Nicolamakaveli10
authored andcommitted
wip vulkan crash fix
1 parent bc7dd9f commit b820541

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

ggml/src/ggml-vulkan/ggml-vulkan.cpp

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -574,8 +574,8 @@ struct vk_buffer_struct {
574574
}
575575
VK_LOG_DEBUG("~vk_buffer_struct(" << buffer << ", " << size << ")");
576576

577-
device->device.freeMemory(device_memory);
578577
device->device.destroyBuffer(buffer);
578+
device->device.freeMemory(device_memory);
579579
}
580580
};
581581

@@ -2941,13 +2941,11 @@ static void ggml_vk_load_shaders(vk_device& device) {
29412941
ggml_vk_create_pipeline(device, device->pipeline_rope_vision_f16, "rope_vision_f16", rope_vision_f16_len, rope_vision_f16_data, "main", 4, sizeof(vk_op_rope_push_constants), {1, 512, 1}, {}, 1);
29422942
}
29432943

2944-
// TODO: should we have device->subgroup_size here or 0?
2945-
ggml_vk_create_pipeline(device, device->pipeline_out_prod_f32, "out_prod_f32", out_prod_f32_len, out_prod_f32_data, "main", 3, sizeof(vk_op_binary_push_constants), {512, 1, 1}, { device->subgroup_size }, 1);
2946-
ggml_vk_create_pipeline(device, device->pipeline_out_prod_q4_0, "out_prod_q4_0", out_prod_q4_0_len, out_prod_q4_0_data, "main", 3, sizeof(vk_op_binary_push_constants), {512, 1, 1}, { device->subgroup_size }, 1);
2947-
ggml_vk_create_pipeline(device, device->pipeline_out_prod_q8_0, "out_prod_q8_0", out_prod_q8_0_len, out_prod_q8_0_data, "main", 3, sizeof(vk_op_binary_push_constants), {512, 1, 1}, { device->subgroup_size }, 1);
2944+
ggml_vk_create_pipeline(device, device->pipeline_out_prod_f32, "out_prod_f32", out_prod_f32_len, out_prod_f32_data, "main", 3, sizeof(vk_op_binary_push_constants), {512, 1, 1}, { 0 }, 1);
2945+
ggml_vk_create_pipeline(device, device->pipeline_out_prod_q4_0, "out_prod_q4_0", out_prod_q4_0_len, out_prod_q4_0_data, "main", 3, sizeof(vk_op_binary_push_constants), {512, 1, 1}, { 0 }, 1);
2946+
ggml_vk_create_pipeline(device, device->pipeline_out_prod_q8_0, "out_prod_q8_0", out_prod_q8_0_len, out_prod_q8_0_data, "main", 3, sizeof(vk_op_binary_push_constants), {512, 1, 1}, { 0 }, 1);
29482947

2949-
// TODO: should we have device->subgroup_size here or 0?
2950-
ggml_vk_create_pipeline(device, device->pipeline_out_prod_f16_f32, "out_prod_f16_f32", out_prod_f16_f32_len, out_prod_f16_f32_data, "main", 3, sizeof(vk_op_binary_push_constants), {512, 1, 1}, { device->subgroup_size }, 1);
2948+
ggml_vk_create_pipeline(device, device->pipeline_out_prod_f16_f32, "out_prod_f16_f32", out_prod_f16_f32_len, out_prod_f16_f32_data, "main", 3, sizeof(vk_op_binary_push_constants), {512, 1, 1}, { 0 }, 1);
29512949

29522950
ggml_vk_create_pipeline(device, device->pipeline_argsort_f32, "argsort_f32", argsort_f32_len, argsort_f32_data, "main", 2, sizeof(vk_op_argsort_push_constants), {1024, 1, 1}, {}, 1);
29532951

ggml/src/ggml-vulkan/vulkan-shaders/out_prod_q8_0.comp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ void main() {
3434

3535
for (uint k = 0; k < p.ne01; k += 1) {
3636
const uint a_block_base = get_aoffset() + (i3 / broadcast3) * p.nb03 + (i2 / broadcast2) * p.nb02 + k * p.nb01;
37-
const uint ib = a_block_base + (i0 / QUANT_K);
37+
const uint ib = a_block_base + (i0 / QUANT_K) * p.nb00;
3838
const uint iqs = (i0 % QUANT_K) / QUANT_R;
3939

4040
const vec2 v = dequantize(ib, iqs, 0);

0 commit comments

Comments
 (0)