Vulkan
Vulkan是3D图形和计算的开放标准之一,它有3个特点:底层,低开销,跨平台。
Vulkan旨在解决OpenGL的缺点,其“底层”特点意味着允许开发人员获得更多的GPU控制权,
多线程渲染是它的重要特性之一。
Vulkan旨在解决OpenGL的缺点,其“底层”特点意味着允许开发人员获得更多的GPU控制权,
多线程渲染是它的重要特性之一。
.. hint::
| Vulkan应用程序可通过两种方式实现与显示的交互:一种是借助WSI Layer实现(当前未集成),另一种是通过自主实现的显示交互逻辑完成。
| Vulkan应用程序可通过两种方式实现与显示的交互:一种是借助WSI Layer实现(当前未集成),另一种是通过自主实现的显示交互逻辑完成。
以下是支持Vulkan拓展功能(拓展详情请查阅 Vulkan <https://registry.khronos.org/vulkan/>_ ):
• VK_ARM_rasterization_order_attachment_access
• VK_EXT_rasterization_order_attachment_access
• VK_ARM_scheduling_controls
• VK_ARM_shader_core_builtins
• VK_ARM_shader_core_properties
• VK_EXT_border_color_swizzle
• VK_EXT_calibrated_timestamps
• VK_EXT_conservative_rasterization
• VK_EXT_custom_border_color
• VK_EXT_debug_utils
• VK_EXT_descriptor_indexing
• VK_EXT_device_fault
• VK_EXT_device_memory_report
• VK_EXT_depth_clamp_zero_one
• VK_EXT_depth_clip_enable
• VK_EXT_depth_clip_enable
• VK_EXT_device_address_binding_report
• VK_EXT_extended_dynamic_state
• VK_EXT_extended_dynamic_state2
• VK_EXT_external_memory_acquire_unmodified
• VK_EXT_external_memory_dma_buf
• VK_EXT_fragment_density_map
• VK_EXT_fragment_density_map2
• VK_EXT_frame_boundary
• VK_EXT_global_priority
• VK_EXT_global_priority_query
• VK_EXT_host_query_reset
• VK_EXT_image_2d_view_of_3d
• VK_EXT_image_compression_control
• VK_EXT_image_robustness
• VK_EXT_index_type_uint8
• VK_EXT_inline_uniform_block
• VK_EXT_legacy_dithering
• VK_EXT_line_rasterization
• VK_EXT_load_store_op_none
• VK_EXT_multisampled_render_to_single_sampled
• VK_EXT_pipeline_creation_cache_control
• VK_EXT_pipeline_creation_feedback
• VK_EXT_pipeline_protected_access
• VK_EXT_pipeline_robustness
• VK_EXT_primitive_topology_list_restart
• VK_EXT_primitives_generated_query
• VK_EXT_private_data
• VK_EXT_sampler_filter_minmax
• VK_EXT_scalar_block_layout
• VK_EXT_separate_stencil_usage
• VK_EXT_shader_demote_to_helper_invocation
• VK_EXT_shader_image_atomic_int64
• VK_EXT_shader_subgroup_ballot
• VK_EXT_shader_subgroup_vote
• VK_EXT_shader_tile_image
• VK_EXT_subgroup_size_control
• VK_EXT_subpass_merge_feedback
• VK_EXT_texel_buffer_alignment
• VK_EXT_texture_compression_astc_hdr
• VK_EXT_transform_feedback
• VK_EXT_4444_formats
• VK_KHR_8bit_storage
• VK_KHR_16bit_storage
• VK_KHR_bind_memory2
• VK_KHR_cooperative_matrix
• VK_KHR_copy_commands2
• VK_KHR_create_renderpass2
• VK_KHR_dedicated_allocation
• VK_KHR_deferred_host_operations
• VK_KHR_depth_stencil_resolve
• VK_KHR_descriptor_update_template
• VK_KHR_device_group
• VK_KHR_device_group_creation
• VK_KHR_driver_properties
• VK_KHR_dynamic_rendering
• VK_KHR_external_fence
• VK_KHR_external_fence_capabilities
• VK_KHR_external_fence_fd
• VK_KHR_external_memory
• VK_KHR_external_memory_capabilities
• VK_KHR_external_memory_fd
• VK_KHR_external_semaphore
• VK_KHR_external_semaphore_capabilities
• VK_KHR_external_semaphore_fd
• VK_KHR_format_feature_flags2
• VK_KHR_fragment_shading_rate
• VK_KHR_get_memory_requirements2
• VK_KHR_get_physical_device_properties2
• VK_KHR_get_surface_capabilities2
• VK_KHR_global_priority
• VK_KHR_image_format_list
• VK_KHR_maintenance1
• VK_KHR_maintenance2
• VK_KHR_maintenance3
• VK_KHR_maintenance4
• VK_KHR_maintenance5
• VK_KHR_map_memory2
• VK_KHR_multiview
• VK_KHR_pipeline_library
• VK_KHR_relaxed_block_layout
• VK_KHR_sampler_mirror_clamp_to_edge
• VK_KHR_sampler_ycbcr_conversion
• VK_KHR_shader_atomic_int64
• VK_KHR_shader_draw_parameters
• VK_KHR_shader_float16_int8
• VK_KHR_shader_float_controls
• VK_KHR_shader_integer_dot_product
• VK_KHR_shader_terminate_invocation
• VK_KHR_spirv_1_4
• VK_KHR_storage_buffer_storage_class
• VK_KHR_uniform_buffer_standard_layout
• VK_KHR_variable_pointers
• VK_KHR_vulkan_memory_model
• VK_KHR_zero_initialize_workgroup_memory
• VK_EXT_rasterization_order_attachment_access
• VK_ARM_scheduling_controls
• VK_ARM_shader_core_builtins
• VK_ARM_shader_core_properties
• VK_EXT_border_color_swizzle
• VK_EXT_calibrated_timestamps
• VK_EXT_conservative_rasterization
• VK_EXT_custom_border_color
• VK_EXT_debug_utils
• VK_EXT_descriptor_indexing
• VK_EXT_device_fault
• VK_EXT_device_memory_report
• VK_EXT_depth_clamp_zero_one
• VK_EXT_depth_clip_enable
• VK_EXT_depth_clip_enable
• VK_EXT_device_address_binding_report
• VK_EXT_extended_dynamic_state
• VK_EXT_extended_dynamic_state2
• VK_EXT_external_memory_acquire_unmodified
• VK_EXT_external_memory_dma_buf
• VK_EXT_fragment_density_map
• VK_EXT_fragment_density_map2
• VK_EXT_frame_boundary
• VK_EXT_global_priority
• VK_EXT_global_priority_query
• VK_EXT_host_query_reset
• VK_EXT_image_2d_view_of_3d
• VK_EXT_image_compression_control
• VK_EXT_image_robustness
• VK_EXT_index_type_uint8
• VK_EXT_inline_uniform_block
• VK_EXT_legacy_dithering
• VK_EXT_line_rasterization
• VK_EXT_load_store_op_none
• VK_EXT_multisampled_render_to_single_sampled
• VK_EXT_pipeline_creation_cache_control
• VK_EXT_pipeline_creation_feedback
• VK_EXT_pipeline_protected_access
• VK_EXT_pipeline_robustness
• VK_EXT_primitive_topology_list_restart
• VK_EXT_primitives_generated_query
• VK_EXT_private_data
• VK_EXT_sampler_filter_minmax
• VK_EXT_scalar_block_layout
• VK_EXT_separate_stencil_usage
• VK_EXT_shader_demote_to_helper_invocation
• VK_EXT_shader_image_atomic_int64
• VK_EXT_shader_subgroup_ballot
• VK_EXT_shader_subgroup_vote
• VK_EXT_shader_tile_image
• VK_EXT_subgroup_size_control
• VK_EXT_subpass_merge_feedback
• VK_EXT_texel_buffer_alignment
• VK_EXT_texture_compression_astc_hdr
• VK_EXT_transform_feedback
• VK_EXT_4444_formats
• VK_KHR_8bit_storage
• VK_KHR_16bit_storage
• VK_KHR_bind_memory2
• VK_KHR_cooperative_matrix
• VK_KHR_copy_commands2
• VK_KHR_create_renderpass2
• VK_KHR_dedicated_allocation
• VK_KHR_deferred_host_operations
• VK_KHR_depth_stencil_resolve
• VK_KHR_descriptor_update_template
• VK_KHR_device_group
• VK_KHR_device_group_creation
• VK_KHR_driver_properties
• VK_KHR_dynamic_rendering
• VK_KHR_external_fence
• VK_KHR_external_fence_capabilities
• VK_KHR_external_fence_fd
• VK_KHR_external_memory
• VK_KHR_external_memory_capabilities
• VK_KHR_external_memory_fd
• VK_KHR_external_semaphore
• VK_KHR_external_semaphore_capabilities
• VK_KHR_external_semaphore_fd
• VK_KHR_format_feature_flags2
• VK_KHR_fragment_shading_rate
• VK_KHR_get_memory_requirements2
• VK_KHR_get_physical_device_properties2
• VK_KHR_get_surface_capabilities2
• VK_KHR_global_priority
• VK_KHR_image_format_list
• VK_KHR_maintenance1
• VK_KHR_maintenance2
• VK_KHR_maintenance3
• VK_KHR_maintenance4
• VK_KHR_maintenance5
• VK_KHR_map_memory2
• VK_KHR_multiview
• VK_KHR_pipeline_library
• VK_KHR_relaxed_block_layout
• VK_KHR_sampler_mirror_clamp_to_edge
• VK_KHR_sampler_ycbcr_conversion
• VK_KHR_shader_atomic_int64
• VK_KHR_shader_draw_parameters
• VK_KHR_shader_float16_int8
• VK_KHR_shader_float_controls
• VK_KHR_shader_integer_dot_product
• VK_KHR_shader_terminate_invocation
• VK_KHR_spirv_1_4
• VK_KHR_storage_buffer_storage_class
• VK_KHR_uniform_buffer_standard_layout
• VK_KHR_variable_pointers
• VK_KHR_vulkan_memory_model
• VK_KHR_zero_initialize_workgroup_memory
OpenCL
OpenCL是并行计算标准之一,该标准可应用在超级计算机、云服务器、个人计算机、移动设备和嵌入式平台中
,使得应用程序可以并行处理任务和数据集。
,使得应用程序可以并行处理任务和数据集。
以下是支持的OpenCL拓展(拓展详情请查阅 OpenCL <https://registry.khronos.org/OpenCL/>_):
• cl_arm_core_id
• cl_arm_controlled_kernel_termination
• cl_arm_import_memory
• cl_arm_import_memory_dma_buf
• cl_arm_import_memory_host
• cl_arm_import_memory_protected
• cl_arm_integer_dot_product_int8
• cl_arm_integer_dot_product_accumulate_int8
• cl_arm_integer_dot_product_accumulate_int16
• cl_arm_integer_dot_product_accumulate_saturate_int8
• cl_arm_job_slot_selection
• cl_arm_non_uniform_work_group_size
• cl_arm_printf
• cl_arm_protected_memory_allocation
• cl_arm_scheduling_controls
• cl_ext_cxx_for_opencl
• cl_ext_yuv_images
• cl_ext_image_drm_format_modifier
• cl_ext_image_from_buffer
• cl_ext_image_requirements_info
• cl_ext_image_tiling_control
• cl_khr_3d_image_writes
• cl_khr_byte_addressable_store
• cl_khr_create_command_queue
• cl_khr_command_buffer_mutable_dispatch
• cl_khr_depth_images
• cl_khr_device_uuid
• cl_khr_egl_image
• cl_khr_extended_bit_ops
• cl_khr_extended_versioning
• cl_khr_external_memory
• cl_khr_external_memory_dma_buf
• cl_khr_fp16
• cl_khr_global_int32_base_atomics
• cl_khr_global_int32_extended_atomics
• cl_khr_icd
• cl_khr_il_program
• cl_khr_image2d_from_buffer
• cl_khr_int64_base_atomics
• cl_khr_int64_extended_atomics
• cl_khr_integer_dot_product
• cl_khr_local_int32_base_atomics
• cl_khr_local_int32_extended_atomics
• cl_khr_priority_hints
• cl_khr_semaphore
• cl_khr_subgroups
• cl_khr_subgroup_extended_types
• cl_khr_suggested_local_work_size
• cl_arm_controlled_kernel_termination
• cl_arm_import_memory
• cl_arm_import_memory_dma_buf
• cl_arm_import_memory_host
• cl_arm_import_memory_protected
• cl_arm_integer_dot_product_int8
• cl_arm_integer_dot_product_accumulate_int8
• cl_arm_integer_dot_product_accumulate_int16
• cl_arm_integer_dot_product_accumulate_saturate_int8
• cl_arm_job_slot_selection
• cl_arm_non_uniform_work_group_size
• cl_arm_printf
• cl_arm_protected_memory_allocation
• cl_arm_scheduling_controls
• cl_ext_cxx_for_opencl
• cl_ext_yuv_images
• cl_ext_image_drm_format_modifier
• cl_ext_image_from_buffer
• cl_ext_image_requirements_info
• cl_ext_image_tiling_control
• cl_khr_3d_image_writes
• cl_khr_byte_addressable_store
• cl_khr_create_command_queue
• cl_khr_command_buffer_mutable_dispatch
• cl_khr_depth_images
• cl_khr_device_uuid
• cl_khr_egl_image
• cl_khr_extended_bit_ops
• cl_khr_extended_versioning
• cl_khr_external_memory
• cl_khr_external_memory_dma_buf
• cl_khr_fp16
• cl_khr_global_int32_base_atomics
• cl_khr_global_int32_extended_atomics
• cl_khr_icd
• cl_khr_il_program
• cl_khr_image2d_from_buffer
• cl_khr_int64_base_atomics
• cl_khr_int64_extended_atomics
• cl_khr_integer_dot_product
• cl_khr_local_int32_base_atomics
• cl_khr_local_int32_extended_atomics
• cl_khr_priority_hints
• cl_khr_semaphore
• cl_khr_subgroups
• cl_khr_subgroup_extended_types
• cl_khr_suggested_local_work_size