Головная страница ИПМ Библиотеки, издания  •  Поиск публикаций  English 

Материал конференции: "Труды Международной конференции по компьютерной графике и зрению "Графикон", CEUR"
Авторы: Фролов В.А., Sanzharov V., Галактионов В.А., Scherbakov A.
An Auto-Programming Approach to Vulkan
We propose a novel high-level approach for software development on GPU using Vulkan API. Our goal is to speed-up development and performance studies for complex algorithms on GPU, which is quite difficult and laborious for Vulkan due to large number of HW features low level details. The proposed approach uses auto programming to translate ordinary C++ to optimized Vulkan implementation with automatic shaders generation, resource binding and fine-grained barriers placement. Our model is not general-purpose programming, but is extendible and customer-focused. For a single C++ input our tool can generate multiple different implementations of algorithm in Vulkan for different cases or types of hardware. For example, we automatically detect reduction in C++ source code and then generate several variants of parallel reduction on GPU: with optimization for different warp size, with or without atomics, using or not subgroup operations. Another example is GPU ray tracing applications for which we can generate different variants: pure software implementation in compute shader, using hardware accelerated ray queries, using full RTX pipeline. The goal of our work is to increase productivity of developers who are forced to use Vulkan due to various required hardware features in their software but still do care about cross-platform ability of the developed software and want to debug their algorithm logic on the CPU. Therefore, we assume that the user will take generated code and integrate it with hand-written Vulkan code.
Ключевые слова:
GPGPU, Vulkan API, ray tracing, code generation
Язык публикации: английский,  страниц: 16 (с. 150-165)
Полный текст на английском языке:
Экспорт ссылки на публикацию в формате:   RIS    BibTeX
Сведения об авторах:
  • Фролов Владимир Александрович,  orcid.org/0000-0001-8829-9884ИПМ им. М.В. Келдыша РАН; Московский Государственный Университет имени М.В. Ломоносова
  • Sanzharov Vadim,  orcid.org/0000-0001-6455-6444,  Lomonosov Moscow State University
  • Галактионов Владимир Александрович,  orcid.org/0000-0001-6460-7539ИПМ им. М.В. Келдыша РАН
  • Scherbakov Alexandr,  orcid.org/0000-0002-5360-4479,  Lomonosov Moscow State University