Skip to content

Incorrect Vulkan API usage #445

@softcookiepp

Description

@softcookiepp

I was running the Kompute unit tests on one of my AMD machines, and it repeatedly segfaulted every time.
Upon enabling validation layers, it informed me that there is incorrect Vulkan API usage:

Running main() from /home/me/development/source/kompute/build/_deps/googletest-src/googletest/src/gtest_main.cc
[==========] Running 110 tests from 25 test suites.
[----------] Global test environment set-up.
[----------] 3 tests from TestAsyncOperations
[ RUN      ] TestAsyncOperations.TestManagerParallelExecution
tmp_kp_shader.comp
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:169] Kompute Manager creating instance
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:206] Kompute Manager adding debug validation layers
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:238] Available layers: VK_LAYER_KHRONOS_validation, VK_LAYER_LUNARG_api_dump, VK_LAYER_LUNARG_monitor, VK_LAYER_LUNARG_screenshot, VK_LAYER_MESA_anti_lag, VK_LAYER_MESA_device_select, VK_LAYER_RENDERDOC_Capture
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:247] Kompute Manager Initializing instance with valid layers: VK_LAYER_KHRONOS_validation
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:279] Kompute Manager Instance Created
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:282] Kompute Manager adding debug callbacks
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:334] Kompute Manager creating Device
[Jan  8 2026 11:08:47] [info] [/home/me/development/source/kompute/src/Manager.cpp:372] Using physical device index 0 found AMD Radeon Vega 11 Graphics (RADV RAVEN)
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:426] Kompute Manager desired extension layers 
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:436] Kompute Manager available extensions VK_AMD_buffer_marker, VK_AMD_device_coherent_memory, VK_AMD_draw_indirect_count, VK_AMD_gcn_shader, VK_AMD_gpu_shader_half_float, VK_AMD_gpu_shader_int16, VK_AMD_memory_overallocation_behavior, VK_AMD_mixed_attachment_samples, VK_AMD_shader_ballot, VK_AMD_shader_core_properties, VK_AMD_shader_core_properties2, VK_AMD_shader_early_and_late_fragment_tests, VK_AMD_shader_explicit_vertex_parameter, VK_AMD_shader_fragment_mask, VK_AMD_shader_image_load_store_lod, VK_AMD_shader_trinary_minmax, VK_AMD_texture_gather_bias_lod, VK_EXT_4444_formats, VK_EXT_attachment_feedback_loop_dynamic_state, VK_EXT_attachment_feedback_loop_layout, VK_EXT_buffer_device_address, VK_EXT_color_write_enable, VK_EXT_conditional_rendering, VK_EXT_conservative_rasterization, VK_EXT_custom_border_color, VK_EXT_depth_bias_control, VK_EXT_depth_clamp_control, VK_EXT_depth_clamp_zero_one, VK_EXT_depth_clip_control, VK_EXT_depth_clip_enable, VK_EXT_depth_range_unrestricted, VK_EXT_descriptor_buffer, VK_EXT_descriptor_indexing, VK_EXT_device_address_binding_report, VK_EXT_device_fault, VK_EXT_device_generated_commands, VK_EXT_device_memory_report, VK_EXT_discard_rectangles, VK_EXT_display_control, VK_EXT_dynamic_rendering_unused_attachments, VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2, VK_EXT_extended_dynamic_state3, VK_EXT_external_memory_acquire_unmodified, VK_EXT_external_memory_dma_buf, VK_EXT_external_memory_host, VK_EXT_fragment_shader_interlock, VK_EXT_global_priority, VK_EXT_global_priority_query, VK_EXT_graphics_pipeline_library, VK_EXT_hdr_metadata, VK_EXT_host_query_reset, VK_EXT_image_2d_view_of_3d, VK_EXT_image_compression_control, VK_EXT_image_drm_format_modifier, VK_EXT_image_robustness, VK_EXT_image_view_min_lod, VK_EXT_index_type_uint8, VK_EXT_inline_uniform_block, VK_EXT_legacy_vertex_attributes, VK_EXT_line_rasterization, VK_EXT_load_store_op_none, VK_EXT_map_memory_placed, VK_EXT_memory_budget, VK_EXT_memory_priority, VK_EXT_multi_draw, VK_EXT_mutable_descriptor_type, VK_EXT_nested_command_buffer, VK_EXT_non_seamless_cube_map, VK_EXT_pci_bus_info, VK_EXT_physical_device_drm, VK_EXT_pipeline_creation_cache_control, VK_EXT_pipeline_creation_feedback, VK_EXT_pipeline_robustness, VK_EXT_primitive_topology_list_restart, VK_EXT_primitives_generated_query, VK_EXT_private_data, VK_EXT_provoking_vertex, VK_EXT_queue_family_foreign, VK_EXT_robustness2, VK_EXT_sample_locations, VK_EXT_sampler_filter_minmax, VK_EXT_scalar_block_layout, VK_EXT_separate_stencil_usage, VK_EXT_shader_atomic_float, VK_EXT_shader_atomic_float2, VK_EXT_shader_demote_to_helper_invocation, VK_EXT_shader_image_atomic_int64, VK_EXT_shader_module_identifier, VK_EXT_shader_object, VK_EXT_shader_replicated_composites, VK_EXT_shader_stencil_export, VK_EXT_shader_subgroup_ballot, VK_EXT_shader_subgroup_vote, VK_EXT_shader_viewport_index_layer, VK_EXT_subgroup_size_control, VK_EXT_swapchain_maintenance1, VK_EXT_texel_buffer_alignment, VK_EXT_tooling_info, VK_EXT_transform_feedback, VK_EXT_vertex_attribute_divisor, VK_EXT_vertex_input_dynamic_state, VK_EXT_ycbcr_2plane_444_formats, VK_EXT_ycbcr_image_arrays, VK_EXT_zero_initialize_device_memory, VK_GOOGLE_decorate_string, VK_GOOGLE_hlsl_functionality1, VK_GOOGLE_user_type, VK_INTEL_shader_integer_functions2, VK_KHR_16bit_storage, VK_KHR_8bit_storage, VK_KHR_bind_memory2, VK_KHR_buffer_device_address, VK_KHR_compute_shader_derivatives, VK_KHR_copy_commands2, VK_KHR_create_renderpass2, VK_KHR_dedicated_allocation, VK_KHR_deferred_host_operations, VK_KHR_depth_clamp_zero_one, VK_KHR_depth_stencil_resolve, VK_KHR_descriptor_update_template, VK_KHR_device_group, VK_KHR_draw_indirect_count, VK_KHR_driver_properties, VK_KHR_dynamic_rendering, VK_KHR_dynamic_rendering_local_read, VK_KHR_external_fence, VK_KHR_external_fence_fd, VK_KHR_external_memory, VK_KHR_external_memory_fd, VK_KHR_external_semaphore, VK_KHR_external_semaphore_fd, VK_KHR_format_feature_flags2, VK_KHR_get_memory_requirements2, VK_KHR_global_priority, VK_KHR_image_format_list, VK_KHR_imageless_framebuffer, VK_KHR_incremental_present, VK_KHR_index_type_uint8, VK_KHR_line_rasterization, VK_KHR_load_store_op_none, VK_KHR_maintenance1, VK_KHR_maintenance2, VK_KHR_maintenance3, VK_KHR_maintenance4, VK_KHR_maintenance5, VK_KHR_maintenance6, VK_KHR_maintenance7, VK_KHR_maintenance8, VK_KHR_maintenance9, VK_KHR_map_memory2, VK_KHR_multiview, VK_KHR_pipeline_binary, VK_KHR_pipeline_executable_properties, VK_KHR_pipeline_library, VK_KHR_present_id, VK_KHR_present_id2, VK_KHR_present_wait, VK_KHR_present_wait2, VK_KHR_push_descriptor, VK_KHR_relaxed_block_layout, VK_KHR_robustness2, VK_KHR_sampler_mirror_clamp_to_edge, VK_KHR_sampler_ycbcr_conversion, VK_KHR_separate_depth_stencil_layouts, VK_KHR_shader_atomic_int64, VK_KHR_shader_clock, VK_KHR_shader_draw_parameters, VK_KHR_shader_expect_assume, VK_KHR_shader_float16_int8, VK_KHR_shader_float_controls, VK_KHR_shader_float_controls2, VK_KHR_shader_integer_dot_product, VK_KHR_shader_maximal_reconvergence, VK_KHR_shader_non_semantic_info, VK_KHR_shader_quad_control, VK_KHR_shader_relaxed_extended_instruction, VK_KHR_shader_subgroup_extended_types, VK_KHR_shader_subgroup_rotate, VK_KHR_shader_subgroup_uniform_control_flow, VK_KHR_shader_terminate_invocation, VK_KHR_shader_untyped_pointers, VK_KHR_spirv_1_4, VK_KHR_storage_buffer_storage_class, VK_KHR_swapchain, VK_KHR_swapchain_mutable_format, VK_KHR_synchronization2, VK_KHR_timeline_semaphore, VK_KHR_uniform_buffer_standard_layout, VK_KHR_variable_pointers, VK_KHR_vertex_attribute_divisor, VK_KHR_vulkan_memory_model, VK_KHR_workgroup_memory_explicit_layout, VK_KHR_zero_initialize_workgroup_memory, VK_MESA_image_alignment_control, VK_NV_compute_shader_derivatives, VK_VALVE_mutable_descriptor_type
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:460] Kompute Manager device created
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:474] Kompute Manager compute queue obtained
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:480] Kompute Manager sequence() with queueIndex: 0
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:13] Kompute Sequence Constructor with existing device & queue
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:307] Kompute Sequence creating command pool
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:320] Kompute Sequence Command Pool Created
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:326] Kompute Sequence creating command buffer
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:342] Kompute Sequence Command Buffer Created
[Jan  8 2026 11:09:04] [debug] [Manager.hpp:94] Kompute Manager tensor creation triggered
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:22] Kompute Tensor constructor data length: 10, and type: eDevice
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:69] Reserving 40 bytes for memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:331] Kompute Tensor creating buffer
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:340] Kompute Tensor creating primary buffer and memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:381] Kompute Tensor creating buffer with memory size: 40, and usage flags: { TransferSrc | TransferDst | StorageBuffer }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:401] Kompute Tensor allocating and binding memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:426] Kompute Tensor allocating memory index: 0, size 48, flags: { DeviceLocal }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:353] Kompute Tensor creating staging buffer and memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:381] Kompute Tensor creating buffer with memory size: 40, and usage flags: { TransferSrc | TransferDst }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:401] Kompute Tensor allocating and binding memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:426] Kompute Tensor allocating memory index: 2, size 48, flags: { HostVisible | HostCoherent }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:366] Kompute Tensor buffer & memory creation successful
[Jan  8 2026 11:08:59] [debug] [Memory.cpp:160] Kompute Memory mapping data from host buffer
[Jan  8 2026 11:09:04] [debug] [Tensor.hpp:258] Kompute TensorT filling constructor with data size 10
[Jan  8 2026 11:09:04] [debug] [Manager.hpp:483] Kompute Manager algorithm creation triggered
[Jan  8 2026 11:09:04] [debug] [Algorithm.hpp:50] Kompute Algorithm Constructor with device
[Jan  8 2026 11:09:04] [info] [/home/me/development/source/kompute/src/include/kompute/Algorithm.hpp:55] Kompute Algorithm initialising with tensor size: 1 and spirv size: 320
[Jan  8 2026 11:09:04] [debug] [Algorithm.hpp:95] Kompute Algorithm rebuild started
[Jan  8 2026 11:08:47] [info] [/home/me/development/source/kompute/src/Algorithm.cpp:386] Kompute OpAlgoCreate setting dispatch size
[Jan  8 2026 11:08:47] [info] [/home/me/development/source/kompute/src/Algorithm.cpp:400] Kompute OpAlgoCreate set dispatch size X: 10, Y: 1, Z: 1
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:134] Kompute Algorithm createParameters started
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:166] Kompute Algorithm creating descriptor pool
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:187] Kompute Algorithm creating descriptor set layout
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:198] Kompute Algorithm allocating descriptor sets
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:204] Kompute Algorithm updating descriptor sets
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:268] Kompute Tensor construct descriptor set for binding 0
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:256] Kompute Tensor construct descriptor buffer info size 40
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:218] Kompute Algorithm successfully run init
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:224] Kompute Algorithm createShaderModule started
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:231] Kompute Algorithm Creating shader module. ShaderFileSize: 320
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:239] Kompute Algorithm create shader module success
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:245] Kompute Algorithm calling create Pipeline
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:335] Kompute Algorithm Create Pipeline Success
[Jan  8 2026 11:09:04] [debug] [Manager.hpp:94] Kompute Manager tensor creation triggered
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:22] Kompute Tensor constructor data length: 10, and type: eDevice
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:69] Reserving 40 bytes for memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:331] Kompute Tensor creating buffer
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:340] Kompute Tensor creating primary buffer and memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:381] Kompute Tensor creating buffer with memory size: 40, and usage flags: { TransferSrc | TransferDst | StorageBuffer }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:401] Kompute Tensor allocating and binding memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:426] Kompute Tensor allocating memory index: 0, size 48, flags: { DeviceLocal }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:353] Kompute Tensor creating staging buffer and memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:381] Kompute Tensor creating buffer with memory size: 40, and usage flags: { TransferSrc | TransferDst }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:401] Kompute Tensor allocating and binding memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:426] Kompute Tensor allocating memory index: 2, size 48, flags: { HostVisible | HostCoherent }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:366] Kompute Tensor buffer & memory creation successful
[Jan  8 2026 11:08:59] [debug] [Memory.cpp:160] Kompute Memory mapping data from host buffer
[Jan  8 2026 11:09:04] [debug] [Tensor.hpp:258] Kompute TensorT filling constructor with data size 10
[Jan  8 2026 11:09:04] [debug] [Manager.hpp:483] Kompute Manager algorithm creation triggered
[Jan  8 2026 11:09:04] [debug] [Algorithm.hpp:50] Kompute Algorithm Constructor with device
[Jan  8 2026 11:09:04] [info] [/home/me/development/source/kompute/src/include/kompute/Algorithm.hpp:55] Kompute Algorithm initialising with tensor size: 1 and spirv size: 320
[Jan  8 2026 11:09:04] [debug] [Algorithm.hpp:95] Kompute Algorithm rebuild started
[Jan  8 2026 11:08:47] [info] [/home/me/development/source/kompute/src/Algorithm.cpp:386] Kompute OpAlgoCreate setting dispatch size
[Jan  8 2026 11:08:47] [info] [/home/me/development/source/kompute/src/Algorithm.cpp:400] Kompute OpAlgoCreate set dispatch size X: 10, Y: 1, Z: 1
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:134] Kompute Algorithm createParameters started
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:166] Kompute Algorithm creating descriptor pool
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:187] Kompute Algorithm creating descriptor set layout
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:198] Kompute Algorithm allocating descriptor sets
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:204] Kompute Algorithm updating descriptor sets
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:268] Kompute Tensor construct descriptor set for binding 0
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:256] Kompute Tensor construct descriptor buffer info size 40
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:218] Kompute Algorithm successfully run init
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:224] Kompute Algorithm createShaderModule started
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:231] Kompute Algorithm Creating shader module. ShaderFileSize: 320
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:239] Kompute Algorithm create shader module success
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:245] Kompute Algorithm calling create Pipeline
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:335] Kompute Algorithm Create Pipeline Success
[Jan  8 2026 11:08:52] [debug] [OpSyncDevice.cpp:10] Kompute OpSyncDevice constructor with params
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:87] Kompute Sequence calling clear
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:284] Kompute Sequence record function started
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:40] Kompute sequence called BEGIN
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:52] Kompute Sequence command now started recording
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:288] Kompute Sequence running record on OpBase derived class instance
[Jan  8 2026 11:08:52] [debug] [OpSyncDevice.cpp:30] Kompute OpSyncDevice record called
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:144] Kompute Tensor copying data size 40.
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:144] Kompute Tensor copying data size 40.
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:97] Kompute sequence EVAL BEGIN
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:67] Kompute Sequence calling END
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:78] Kompute Sequence command recording END
[Jan  8 2026 11:08:52] [debug] [OpSyncDevice.cpp:43] Kompute OpSyncDevice preEval called
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:131] Kompute sequence submitting command buffer into compute queue
[Jan  8 2026 11:08:52] [debug] [OpSyncDevice.cpp:49] Kompute OpSyncDevice postEval called
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:480] Kompute Manager sequence() with queueIndex: 0
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:13] Kompute Sequence Constructor with existing device & queue
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:307] Kompute Sequence creating command pool
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:320] Kompute Sequence Command Pool Created
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:326] Kompute Sequence creating command buffer
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:342] Kompute Sequence Command Buffer Created
[Jan  8 2026 11:08:52] [debug] [OpSyncDevice.cpp:10] Kompute OpSyncDevice constructor with params
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:87] Kompute Sequence calling clear
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:284] Kompute Sequence record function started
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:40] Kompute sequence called BEGIN
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:52] Kompute Sequence command now started recording
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:288] Kompute Sequence running record on OpBase derived class instance
[Jan  8 2026 11:08:52] [debug] [OpSyncDevice.cpp:30] Kompute OpSyncDevice record called
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:144] Kompute Tensor copying data size 40.
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:144] Kompute Tensor copying data size 40.
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:97] Kompute sequence EVAL BEGIN
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:67] Kompute Sequence calling END
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:78] Kompute Sequence command recording END
[Jan  8 2026 11:08:52] [debug] [OpSyncDevice.cpp:43] Kompute OpSyncDevice preEval called
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:131] Kompute sequence submitting command buffer into compute queue
[Jan  8 2026 11:08:52] [debug] [OpSyncDevice.cpp:49] Kompute OpSyncDevice postEval called
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:30] Kompute Sequence Destructor started
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:209] Kompute Sequence destroy called
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:223] Freeing CommandBuffer
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:235] Kompute Sequence Freed CommandBuffer
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:239] Destroying CommandPool
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:252] Kompute Sequence Destroyed CommandPool
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:256] Kompute Sequence clearing operations buffer
[Jan  8 2026 11:08:52] [debug] [OpSyncDevice.cpp:22] Kompute OpSyncDevice destructor started
[Jan  8 2026 11:08:47] [debug] [OpBase.hpp:42] Kompute OpBase destructor started
[Jan  8 2026 11:09:04] [debug] [OpAlgoDispatch.hpp:31] Kompute OpAlgoDispatch constructor
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:87] Kompute Sequence calling clear
[Jan  8 2026 11:08:52] [debug] [OpSyncDevice.cpp:22] Kompute OpSyncDevice destructor started
[Jan  8 2026 11:08:47] [debug] [OpBase.hpp:42] Kompute OpBase destructor started
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:284] Kompute Sequence record function started
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:40] Kompute sequence called BEGIN
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:52] Kompute Sequence command now started recording
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:288] Kompute Sequence running record on OpBase derived class instance
[Jan  8 2026 11:08:47] [debug] [OpAlgoDispatch.cpp:20] Kompute OpAlgoDispatch record called
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:198] Kompute Tensor recording PRIMARY buffer memory barrier
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:233] Kompute Tensor recording buffer memory barrier
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:341] Kompute Algorithm binding pipeline
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:346] Kompute Algorithm binding descriptor sets
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:376] Kompute Algorithm recording dispatch
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:97] Kompute sequence EVAL BEGIN
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:67] Kompute Sequence calling END
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:78] Kompute Sequence command recording END
[Jan  8 2026 11:08:47] [debug] [OpAlgoDispatch.cpp:63] Kompute OpAlgoDispatch preEval called
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:131] Kompute sequence submitting command buffer into compute queue
[Jan  8 2026 11:08:47] [debug] [OpAlgoDispatch.cpp:69] Kompute OpAlgoDispatch postSubmit called
[Jan  8 2026 11:09:04] [debug] [OpAlgoDispatch.hpp:31] Kompute OpAlgoDispatch constructor
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:87] Kompute Sequence calling clear
[Jan  8 2026 11:08:47] [debug] [OpAlgoDispatch.cpp:9] Kompute OpAlgoDispatch destructor started
[Jan  8 2026 11:08:47] [debug] [OpBase.hpp:42] Kompute OpBase destructor started
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:284] Kompute Sequence record function started
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:40] Kompute sequence called BEGIN
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:52] Kompute Sequence command now started recording
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:288] Kompute Sequence running record on OpBase derived class instance
[Jan  8 2026 11:08:47] [debug] [OpAlgoDispatch.cpp:20] Kompute OpAlgoDispatch record called
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:198] Kompute Tensor recording PRIMARY buffer memory barrier
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:233] Kompute Tensor recording buffer memory barrier
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:341] Kompute Algorithm binding pipeline
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:346] Kompute Algorithm binding descriptor sets
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:376] Kompute Algorithm recording dispatch
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:97] Kompute sequence EVAL BEGIN
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:67] Kompute Sequence calling END
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:78] Kompute Sequence command recording END
[Jan  8 2026 11:08:47] [debug] [OpAlgoDispatch.cpp:63] Kompute OpAlgoDispatch preEval called
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:131] Kompute sequence submitting command buffer into compute queue
[Jan  8 2026 11:08:47] [debug] [OpAlgoDispatch.cpp:69] Kompute OpAlgoDispatch postSubmit called
[Jan  8 2026 11:08:54] [debug] [OpSyncLocal.cpp:11] Kompute OpSyncLocal constructor with params
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:87] Kompute Sequence calling clear
[Jan  8 2026 11:08:47] [debug] [OpAlgoDispatch.cpp:9] Kompute OpAlgoDispatch destructor started
[Jan  8 2026 11:08:47] [debug] [OpBase.hpp:42] Kompute OpBase destructor started
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:284] Kompute Sequence record function started
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:40] Kompute sequence called BEGIN
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:52] Kompute Sequence command now started recording
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:288] Kompute Sequence running record on OpBase derived class instance
[Jan  8 2026 11:08:54] [debug] [OpSyncLocal.cpp:29] Kompute OpSyncLocal record called
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:198] Kompute Tensor recording PRIMARY buffer memory barrier
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:233] Kompute Tensor recording buffer memory barrier
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:159] Kompute Tensor copying data size 40.
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:198] Kompute Tensor recording PRIMARY buffer memory barrier
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:233] Kompute Tensor recording buffer memory barrier
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:198] Kompute Tensor recording PRIMARY buffer memory barrier
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:233] Kompute Tensor recording buffer memory barrier
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:159] Kompute Tensor copying data size 40.
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:198] Kompute Tensor recording PRIMARY buffer memory barrier
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:233] Kompute Tensor recording buffer memory barrier
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:97] Kompute sequence EVAL BEGIN
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:67] Kompute Sequence calling END
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:78] Kompute Sequence command recording END
[Jan  8 2026 11:08:54] [debug] [OpSyncLocal.cpp:57] Kompute OpSyncLocal preEval called
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:131] Kompute sequence submitting command buffer into compute queue
[Jan  8 2026 11:08:54] [debug] [OpSyncLocal.cpp:63] Kompute OpSyncLocal postEval called
[Jan  8 2026 11:08:54] [debug] [OpSyncLocal.cpp:65] Kompute OpSyncLocal mapping data into tensor local
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:169] Kompute Manager creating instance
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:206] Kompute Manager adding debug validation layers
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:238] Available layers: VK_LAYER_KHRONOS_validation, VK_LAYER_LUNARG_api_dump, VK_LAYER_LUNARG_monitor, VK_LAYER_LUNARG_screenshot, VK_LAYER_MESA_anti_lag, VK_LAYER_MESA_device_select, VK_LAYER_RENDERDOC_Capture
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:247] Kompute Manager Initializing instance with valid layers: VK_LAYER_KHRONOS_validation
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:279] Kompute Manager Instance Created
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:282] Kompute Manager adding debug callbacks
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:334] Kompute Manager creating Device
[Jan  8 2026 11:08:47] [info] [/home/me/development/source/kompute/src/Manager.cpp:372] Using physical device index 0 found AMD Radeon Vega 11 Graphics (RADV RAVEN)
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:426] Kompute Manager desired extension layers 
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:436] Kompute Manager available extensions VK_AMD_buffer_marker, VK_AMD_device_coherent_memory, VK_AMD_draw_indirect_count, VK_AMD_gcn_shader, VK_AMD_gpu_shader_half_float, VK_AMD_gpu_shader_int16, VK_AMD_memory_overallocation_behavior, VK_AMD_mixed_attachment_samples, VK_AMD_shader_ballot, VK_AMD_shader_core_properties, VK_AMD_shader_core_properties2, VK_AMD_shader_early_and_late_fragment_tests, VK_AMD_shader_explicit_vertex_parameter, VK_AMD_shader_fragment_mask, VK_AMD_shader_image_load_store_lod, VK_AMD_shader_trinary_minmax, VK_AMD_texture_gather_bias_lod, VK_EXT_4444_formats, VK_EXT_attachment_feedback_loop_dynamic_state, VK_EXT_attachment_feedback_loop_layout, VK_EXT_buffer_device_address, VK_EXT_color_write_enable, VK_EXT_conditional_rendering, VK_EXT_conservative_rasterization, VK_EXT_custom_border_color, VK_EXT_depth_bias_control, VK_EXT_depth_clamp_control, VK_EXT_depth_clamp_zero_one, VK_EXT_depth_clip_control, VK_EXT_depth_clip_enable, VK_EXT_depth_range_unrestricted, VK_EXT_descriptor_buffer, VK_EXT_descriptor_indexing, VK_EXT_device_address_binding_report, VK_EXT_device_fault, VK_EXT_device_generated_commands, VK_EXT_device_memory_report, VK_EXT_discard_rectangles, VK_EXT_display_control, VK_EXT_dynamic_rendering_unused_attachments, VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2, VK_EXT_extended_dynamic_state3, VK_EXT_external_memory_acquire_unmodified, VK_EXT_external_memory_dma_buf, VK_EXT_external_memory_host, VK_EXT_fragment_shader_interlock, VK_EXT_global_priority, VK_EXT_global_priority_query, VK_EXT_graphics_pipeline_library, VK_EXT_hdr_metadata, VK_EXT_host_query_reset, VK_EXT_image_2d_view_of_3d, VK_EXT_image_compression_control, VK_EXT_image_drm_format_modifier, VK_EXT_image_robustness, VK_EXT_image_view_min_lod, VK_EXT_index_type_uint8, VK_EXT_inline_uniform_block, VK_EXT_legacy_vertex_attributes, VK_EXT_line_rasterization, VK_EXT_load_store_op_none, VK_EXT_map_memory_placed, VK_EXT_memory_budget, VK_EXT_memory_priority, VK_EXT_multi_draw, VK_EXT_mutable_descriptor_type, VK_EXT_nested_command_buffer, VK_EXT_non_seamless_cube_map, VK_EXT_pci_bus_info, VK_EXT_physical_device_drm, VK_EXT_pipeline_creation_cache_control, VK_EXT_pipeline_creation_feedback, VK_EXT_pipeline_robustness, VK_EXT_primitive_topology_list_restart, VK_EXT_primitives_generated_query, VK_EXT_private_data, VK_EXT_provoking_vertex, VK_EXT_queue_family_foreign, VK_EXT_robustness2, VK_EXT_sample_locations, VK_EXT_sampler_filter_minmax, VK_EXT_scalar_block_layout, VK_EXT_separate_stencil_usage, VK_EXT_shader_atomic_float, VK_EXT_shader_atomic_float2, VK_EXT_shader_demote_to_helper_invocation, VK_EXT_shader_image_atomic_int64, VK_EXT_shader_module_identifier, VK_EXT_shader_object, VK_EXT_shader_replicated_composites, VK_EXT_shader_stencil_export, VK_EXT_shader_subgroup_ballot, VK_EXT_shader_subgroup_vote, VK_EXT_shader_viewport_index_layer, VK_EXT_subgroup_size_control, VK_EXT_swapchain_maintenance1, VK_EXT_texel_buffer_alignment, VK_EXT_tooling_info, VK_EXT_transform_feedback, VK_EXT_vertex_attribute_divisor, VK_EXT_vertex_input_dynamic_state, VK_EXT_ycbcr_2plane_444_formats, VK_EXT_ycbcr_image_arrays, VK_EXT_zero_initialize_device_memory, VK_GOOGLE_decorate_string, VK_GOOGLE_hlsl_functionality1, VK_GOOGLE_user_type, VK_INTEL_shader_integer_functions2, VK_KHR_16bit_storage, VK_KHR_8bit_storage, VK_KHR_bind_memory2, VK_KHR_buffer_device_address, VK_KHR_compute_shader_derivatives, VK_KHR_copy_commands2, VK_KHR_create_renderpass2, VK_KHR_dedicated_allocation, VK_KHR_deferred_host_operations, VK_KHR_depth_clamp_zero_one, VK_KHR_depth_stencil_resolve, VK_KHR_descriptor_update_template, VK_KHR_device_group, VK_KHR_draw_indirect_count, VK_KHR_driver_properties, VK_KHR_dynamic_rendering, VK_KHR_dynamic_rendering_local_read, VK_KHR_external_fence, VK_KHR_external_fence_fd, VK_KHR_external_memory, VK_KHR_external_memory_fd, VK_KHR_external_semaphore, VK_KHR_external_semaphore_fd, VK_KHR_format_feature_flags2, VK_KHR_get_memory_requirements2, VK_KHR_global_priority, VK_KHR_image_format_list, VK_KHR_imageless_framebuffer, VK_KHR_incremental_present, VK_KHR_index_type_uint8, VK_KHR_line_rasterization, VK_KHR_load_store_op_none, VK_KHR_maintenance1, VK_KHR_maintenance2, VK_KHR_maintenance3, VK_KHR_maintenance4, VK_KHR_maintenance5, VK_KHR_maintenance6, VK_KHR_maintenance7, VK_KHR_maintenance8, VK_KHR_maintenance9, VK_KHR_map_memory2, VK_KHR_multiview, VK_KHR_pipeline_binary, VK_KHR_pipeline_executable_properties, VK_KHR_pipeline_library, VK_KHR_present_id, VK_KHR_present_id2, VK_KHR_present_wait, VK_KHR_present_wait2, VK_KHR_push_descriptor, VK_KHR_relaxed_block_layout, VK_KHR_robustness2, VK_KHR_sampler_mirror_clamp_to_edge, VK_KHR_sampler_ycbcr_conversion, VK_KHR_separate_depth_stencil_layouts, VK_KHR_shader_atomic_int64, VK_KHR_shader_clock, VK_KHR_shader_draw_parameters, VK_KHR_shader_expect_assume, VK_KHR_shader_float16_int8, VK_KHR_shader_float_controls, VK_KHR_shader_float_controls2, VK_KHR_shader_integer_dot_product, VK_KHR_shader_maximal_reconvergence, VK_KHR_shader_non_semantic_info, VK_KHR_shader_quad_control, VK_KHR_shader_relaxed_extended_instruction, VK_KHR_shader_subgroup_extended_types, VK_KHR_shader_subgroup_rotate, VK_KHR_shader_subgroup_uniform_control_flow, VK_KHR_shader_terminate_invocation, VK_KHR_shader_untyped_pointers, VK_KHR_spirv_1_4, VK_KHR_storage_buffer_storage_class, VK_KHR_swapchain, VK_KHR_swapchain_mutable_format, VK_KHR_synchronization2, VK_KHR_timeline_semaphore, VK_KHR_uniform_buffer_standard_layout, VK_KHR_variable_pointers, VK_KHR_vertex_attribute_divisor, VK_KHR_vulkan_memory_model, VK_KHR_workgroup_memory_explicit_layout, VK_KHR_zero_initialize_workgroup_memory, VK_MESA_image_alignment_control, VK_NV_compute_shader_derivatives, VK_VALVE_mutable_descriptor_type
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCreateDevice(): pCreateInfo->pQueueCreateInfos[0].queueFamilyIndex (2) is not less than any previously obtained pQueueFamilyPropertyCount 1 from vkGetPhysicalDeviceQueueFamilyProperties or vkGetPhysicalDeviceQueueFamilyProperties2[KHR].
The Vulkan spec states: queueFamilyIndex must be less than pQueueFamilyPropertyCount returned by vkGetPhysicalDeviceQueueFamilyProperties (https://docs.vulkan.org/spec/latest/chapters/devsandqueues.html#VUID-VkDeviceQueueCreateInfo-queueFamilyIndex-00381)
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:460] Kompute Manager device created
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:474] Kompute Manager compute queue obtained
[Jan  8 2026 11:09:04] [debug] [Manager.hpp:94] Kompute Manager tensor creation triggered
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:22] Kompute Tensor constructor data length: 10, and type: eDevice
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:69] Reserving 40 bytes for memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:331] Kompute Tensor creating buffer
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:340] Kompute Tensor creating primary buffer and memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:381] Kompute Tensor creating buffer with memory size: 40, and usage flags: { TransferSrc | TransferDst | StorageBuffer }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:401] Kompute Tensor allocating and binding memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:426] Kompute Tensor allocating memory index: 0, size 48, flags: { DeviceLocal }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:353] Kompute Tensor creating staging buffer and memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:381] Kompute Tensor creating buffer with memory size: 40, and usage flags: { TransferSrc | TransferDst }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:401] Kompute Tensor allocating and binding memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:426] Kompute Tensor allocating memory index: 2, size 48, flags: { HostVisible | HostCoherent }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:366] Kompute Tensor buffer & memory creation successful
[Jan  8 2026 11:08:59] [debug] [Memory.cpp:160] Kompute Memory mapping data from host buffer
[Jan  8 2026 11:09:04] [debug] [Tensor.hpp:258] Kompute TensorT filling constructor with data size 10
[Jan  8 2026 11:09:04] [debug] [Manager.hpp:483] Kompute Manager algorithm creation triggered
[Jan  8 2026 11:09:04] [debug] [Algorithm.hpp:50] Kompute Algorithm Constructor with device
[Jan  8 2026 11:09:04] [info] [/home/me/development/source/kompute/src/include/kompute/Algorithm.hpp:55] Kompute Algorithm initialising with tensor size: 1 and spirv size: 320
[Jan  8 2026 11:09:04] [debug] [Algorithm.hpp:95] Kompute Algorithm rebuild started
[Jan  8 2026 11:08:47] [info] [/home/me/development/source/kompute/src/Algorithm.cpp:386] Kompute OpAlgoCreate setting dispatch size
[Jan  8 2026 11:08:47] [info] [/home/me/development/source/kompute/src/Algorithm.cpp:400] Kompute OpAlgoCreate set dispatch size X: 10, Y: 1, Z: 1
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:134] Kompute Algorithm createParameters started
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:166] Kompute Algorithm creating descriptor pool
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:187] Kompute Algorithm creating descriptor set layout
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:198] Kompute Algorithm allocating descriptor sets
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:204] Kompute Algorithm updating descriptor sets
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:268] Kompute Tensor construct descriptor set for binding 0
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:256] Kompute Tensor construct descriptor buffer info size 40
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:218] Kompute Algorithm successfully run init
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:224] Kompute Algorithm createShaderModule started
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:231] Kompute Algorithm Creating shader module. ShaderFileSize: 320
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:239] Kompute Algorithm create shader module success
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:245] Kompute Algorithm calling create Pipeline
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:335] Kompute Algorithm Create Pipeline Success
[Jan  8 2026 11:09:04] [debug] [Manager.hpp:94] Kompute Manager tensor creation triggered
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:22] Kompute Tensor constructor data length: 10, and type: eDevice
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:69] Reserving 40 bytes for memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:331] Kompute Tensor creating buffer
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:340] Kompute Tensor creating primary buffer and memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:381] Kompute Tensor creating buffer with memory size: 40, and usage flags: { TransferSrc | TransferDst | StorageBuffer }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:401] Kompute Tensor allocating and binding memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:426] Kompute Tensor allocating memory index: 0, size 48, flags: { DeviceLocal }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:353] Kompute Tensor creating staging buffer and memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:381] Kompute Tensor creating buffer with memory size: 40, and usage flags: { TransferSrc | TransferDst }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:401] Kompute Tensor allocating and binding memory
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:426] Kompute Tensor allocating memory index: 2, size 48, flags: { HostVisible | HostCoherent }
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:366] Kompute Tensor buffer & memory creation successful
[Jan  8 2026 11:08:59] [debug] [Memory.cpp:160] Kompute Memory mapping data from host buffer
[Jan  8 2026 11:09:04] [debug] [Tensor.hpp:258] Kompute TensorT filling constructor with data size 10
[Jan  8 2026 11:09:04] [debug] [Manager.hpp:483] Kompute Manager algorithm creation triggered
[Jan  8 2026 11:09:04] [debug] [Algorithm.hpp:50] Kompute Algorithm Constructor with device
[Jan  8 2026 11:09:04] [info] [/home/me/development/source/kompute/src/include/kompute/Algorithm.hpp:55] Kompute Algorithm initialising with tensor size: 1 and spirv size: 320
[Jan  8 2026 11:09:04] [debug] [Algorithm.hpp:95] Kompute Algorithm rebuild started
[Jan  8 2026 11:08:47] [info] [/home/me/development/source/kompute/src/Algorithm.cpp:386] Kompute OpAlgoCreate setting dispatch size
[Jan  8 2026 11:08:47] [info] [/home/me/development/source/kompute/src/Algorithm.cpp:400] Kompute OpAlgoCreate set dispatch size X: 10, Y: 1, Z: 1
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:134] Kompute Algorithm createParameters started
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:166] Kompute Algorithm creating descriptor pool
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:187] Kompute Algorithm creating descriptor set layout
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:198] Kompute Algorithm allocating descriptor sets
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:204] Kompute Algorithm updating descriptor sets
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:268] Kompute Tensor construct descriptor set for binding 0
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:256] Kompute Tensor construct descriptor buffer info size 40
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:218] Kompute Algorithm successfully run init
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:224] Kompute Algorithm createShaderModule started
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:231] Kompute Algorithm Creating shader module. ShaderFileSize: 320
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:239] Kompute Algorithm create shader module success
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:245] Kompute Algorithm calling create Pipeline
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:335] Kompute Algorithm Create Pipeline Success
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:480] Kompute Manager sequence() with queueIndex: 0
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:13] Kompute Sequence Constructor with existing device & queue
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:307] Kompute Sequence creating command pool
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:320] Kompute Sequence Command Pool Created
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:326] Kompute Sequence creating command buffer
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:342] Kompute Sequence Command Buffer Created
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:480] Kompute Manager sequence() with queueIndex: 1
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:13] Kompute Sequence Constructor with existing device & queue
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:307] Kompute Sequence creating command pool
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:320] Kompute Sequence Command Pool Created
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:326] Kompute Sequence creating command buffer
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:342] Kompute Sequence Command Buffer Created
[Jan  8 2026 11:09:04] [debug] [OpAlgoDispatch.hpp:31] Kompute OpAlgoDispatch constructor
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:87] Kompute Sequence calling clear
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:284] Kompute Sequence record function started
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:40] Kompute sequence called BEGIN
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:52] Kompute Sequence command now started recording
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:288] Kompute Sequence running record on OpBase derived class instance
[Jan  8 2026 11:08:47] [debug] [OpAlgoDispatch.cpp:20] Kompute OpAlgoDispatch record called
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:198] Kompute Tensor recording PRIMARY buffer memory barrier
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:233] Kompute Tensor recording buffer memory barrier
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdPipelineBarrier(): pBufferMemoryBarriers[0].buffer (VkBuffer 0x1d000000001d) was created, allocated or retrieved from VkDevice 0x63352ec0d670, but command is using (or its dispatchable parameter is associated with) VkDevice 0x63352ecfe300
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:341] Kompute Algorithm binding pipeline
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdBindPipeline(): pipeline (VkPipeline 0x270000000027) was created, allocated or retrieved from VkDevice 0x63352ec0d670, but command is using (or its dispatchable parameter is associated with) VkDevice 0x63352ecfe300.
The Vulkan spec states: Both of commandBuffer, and pipeline must have been created, allocated, or retrieved from the same VkDevice (https://docs.vulkan.org/spec/latest/chapters/pipelines.html#VUID-vkCmdBindPipeline-commonparent)
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdBindPipeline(): Couldn't find VkPipeline Object 0x270000000027. This should not happen and may indicate a bug in the application.
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdBindPipeline(): Couldn't find VkPipeline Object 0x270000000027. This should not happen and may indicate a bug in the application.
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:346] Kompute Algorithm binding descriptor sets
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdBindDescriptorSets(): layout (VkPipelineLayout 0x250000000025) was created, allocated or retrieved from VkDevice 0x63352ec0d670, but command is using (or its dispatchable parameter is associated with) VkDevice 0x63352ecfe300.
The Vulkan spec states: Each of commandBuffer, layout, and the elements of pDescriptorSets that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice (https://docs.vulkan.org/spec/latest/chapters/descriptorsets.html#VUID-vkCmdBindDescriptorSets-commonparent)
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdBindDescriptorSets(): pDescriptorSets[0] (VkDescriptorSet 0x230000000023) was created, allocated or retrieved from VkDevice 0x63352ec0d670, but command is using (or its dispatchable parameter is associated with) VkDevice 0x63352ecfe300.
The Vulkan spec states: Each of commandBuffer, layout, and the elements of pDescriptorSets that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice (https://docs.vulkan.org/spec/latest/chapters/descriptorsets.html#VUID-vkCmdBindDescriptorSets-commonparent)
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdBindDescriptorSets(): Couldn't find VkPipelineLayout Object 0x250000000025. This should not happen and may indicate a bug in the application.
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdBindDescriptorSets(): Couldn't find VkDescriptorSet Object 0x230000000023. This should not happen and may indicate a bug in the application.
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdBindDescriptorSets(): Couldn't find VkPipelineLayout Object 0x250000000025. This should not happen and may indicate a bug in the application.
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdBindDescriptorSets(): Couldn't find VkDescriptorSet Object 0x230000000023. This should not happen and may indicate a bug in the application.
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:376] Kompute Algorithm recording dispatch
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdDispatch(): A valid VK_PIPELINE_BIND_POINT_COMPUTE pipeline must be bound with vkCmdBindPipeline before calling this command.
The Vulkan spec states: If the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command (https://docs.vulkan.org/spec/latest/chapters/dispatch.html#VUID-vkCmdDispatch-None-08606)
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:67] Kompute Sequence calling END
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:78] Kompute Sequence command recording END
[Jan  8 2026 11:08:47] [debug] [OpAlgoDispatch.cpp:63] Kompute OpAlgoDispatch preEval called
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:131] Kompute sequence submitting command buffer into compute queue
[Jan  8 2026 11:09:04] [debug] [OpAlgoDispatch.hpp:31] Kompute OpAlgoDispatch constructor
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:87] Kompute Sequence calling clear
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:284] Kompute Sequence record function started
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:40] Kompute sequence called BEGIN
[Jan  8 2026 11:08:55] [info] [/home/me/development/source/kompute/src/Sequence.cpp:52] Kompute Sequence command now started recording
[Jan  8 2026 11:08:55] [debug] [Sequence.cpp:288] Kompute Sequence running record on OpBase derived class instance
[Jan  8 2026 11:08:47] [debug] [OpAlgoDispatch.cpp:20] Kompute OpAlgoDispatch record called
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:198] Kompute Tensor recording PRIMARY buffer memory barrier
[Jan  8 2026 11:08:55] [debug] [Tensor.cpp:233] Kompute Tensor recording buffer memory barrier
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdPipelineBarrier(): pBufferMemoryBarriers[0].buffer (VkBuffer 0x280000000028) was created, allocated or retrieved from VkDevice 0x63352ec0d670, but command is using (or its dispatchable parameter is associated with) VkDevice 0x63352ecfe300
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdPipelineBarrier(): srcStageMask (VK_PIPELINE_STAGE_TRANSFER_BIT) is not compatible with the queue family properties (VK_QUEUE_SPARSE_BINDING_BIT) of this command buffer.
The Vulkan spec states: Any pipeline stage included in srcStageMask must be supported by the capabilities of the queue family specified by the queueFamilyIndex member of the VkCommandPoolCreateInfo structure that was used to create the VkCommandPool that commandBuffer was allocated from, as specified in the table of supported pipeline stages (https://docs.vulkan.org/spec/latest/chapters/synchronization.html#VUID-vkCmdPipelineBarrier-srcStageMask-06461)
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdPipelineBarrier(): dstStageMask (VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT) is not compatible with the queue family properties (VK_QUEUE_SPARSE_BINDING_BIT) of this command buffer.
The Vulkan spec states: Any pipeline stage included in dstStageMask must be supported by the capabilities of the queue family specified by the queueFamilyIndex member of the VkCommandPoolCreateInfo structure that was used to create the VkCommandPool that commandBuffer was allocated from, as specified in the table of supported pipeline stages (https://docs.vulkan.org/spec/latest/chapters/synchronization.html#VUID-vkCmdPipelineBarrier-dstStageMask-06462)
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdPipelineBarrier(): called in VkCommandBuffer 0x63352ecf9280 which was allocated from the VkCommandPool 0x360000000036 which was created with queueFamilyIndex 2 which contains the capability flags VK_QUEUE_SPARSE_BINDING_BIT (but requires VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT or VK_QUEUE_TRANSFER_BIT or VK_QUEUE_VIDEO_DECODE_BIT_KHR or VK_QUEUE_VIDEO_ENCODE_BIT_KHR).
The Vulkan spec states: The VkCommandPool that commandBuffer was allocated from must support VK_QUEUE_COMPUTE_BIT, VK_QUEUE_GRAPHICS_BIT, VK_QUEUE_TRANSFER_BIT, VK_QUEUE_VIDEO_DECODE_BIT_KHR, or VK_QUEUE_VIDEO_ENCODE_BIT_KHR operations (https://docs.vulkan.org/spec/latest/chapters/synchronization.html#VUID-vkCmdPipelineBarrier-commandBuffer-cmdpool)
[Jan  8 2026 11:08:47] [debug] [Algorithm.cpp:341] Kompute Algorithm binding pipeline
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdBindPipeline(): pipeline (VkPipeline 0x320000000032) was created, allocated or retrieved from VkDevice 0x63352ec0d670, but command is using (or its dispatchable parameter is associated with) VkDevice 0x63352ecfe300.
The Vulkan spec states: Both of commandBuffer, and pipeline must have been created, allocated, or retrieved from the same VkDevice (https://docs.vulkan.org/spec/latest/chapters/pipelines.html#VUID-vkCmdBindPipeline-commonparent)
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdBindPipeline(): called in VkCommandBuffer 0x63352ecf9280 which was allocated from the VkCommandPool 0x360000000036 which was created with queueFamilyIndex 2 which contains the capability flags VK_QUEUE_SPARSE_BINDING_BIT (but requires VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT or VK_QUEUE_DATA_GRAPH_BIT_ARM).
The Vulkan spec states: The VkCommandPool that commandBuffer was allocated from must support VK_QUEUE_COMPUTE_BIT, VK_QUEUE_DATA_GRAPH_BIT_ARM, or VK_QUEUE_GRAPHICS_BIT operations (https://docs.vulkan.org/spec/latest/chapters/pipelines.html#VUID-vkCmdBindPipeline-commandBuffer-cmdpool)
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdBindPipeline(): VkCommandBuffer 0x63352ecf9280 was allocated from VkCommandPool 0x360000000036 that does not support bindpoint VK_PIPELINE_BIND_POINT_COMPUTE.
The Vulkan spec states: If pipelineBindPoint is VK_PIPELINE_BIND_POINT_COMPUTE, the VkCommandPool that commandBuffer was allocated from must support compute operations (https://docs.vulkan.org/spec/latest/chapters/pipelines.html#VUID-vkCmdBindPipeline-pipelineBindPoint-00777)
[Jan  8 2026 11:08:47] [debug] [Manager.cpp:42] [VALIDATION]: Validation - vkCmdBindPipeline(): Couldn't find VkPipeline Object 0x320000000032. This should not happen and may indicate a bug in the application.
Segmentation fault         (core dumped) bin/kompute_tests

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions