skip to main content
10.1145/3318170.3318174acmotherconferencesArticle/Chapter ViewAbstractPublication PagesiwoclConference Proceedingsconference-collections
extended-abstract

Comparative Performance Analysis of Vulkan Implementations of Computational Applications

Published: 13 May 2019 Publication History

Abstract

The recent introduction of the Vulkan API and the SPIR-V intermediate-level language by the Khronos Group provides a new GPU programming model in an effort to combine the advantages of its predecessors, OpenGL for 3D graphics and OpenCL for computing. Vulkan's low-level and more direct control over the underlying GPU hardware as well as its support for explicit multi-threaded execution offers opportunities for better performance at the cost of higher programming effort.
Most of the previous work associated with Vulkan has targeted the graphics pipeline. The fact that Vulkan also supports the compute pipeline has motivated us to examine it from the GPGPU perspective, by porting a number of realistic applications to a desktop GPU and evaluating their Vulkan implementations in terms of performance and programmability. Specifically, we consider the Laplacian filter which is used in image processing to detect areas of rapid change (edges) in images. Also, we consider a Visual Odometry (VO) application used to track the position and pose of a robot by analyzing a sequence of camera frames. VO is part of a Simultaneous Localization and Mapping (SLAM) application used in autonomous navigation systems to build a map of surrounding environments and to determine the location of a moving robot inside this map. These applications require advanced pixel-level processing at different levels of pyramid-based granularity, and may even require real-time performance (when, for example, SLAM is used in a robot navigation system). We ported the original implementations (written in C for Laplacian filter and in CUDA for SLAM) to OpenCL, OpenGL and Vulkan and evaluated their performance on a desktop NVIDIA GPGPU.
We show that Vulkan performance is comparable (within 10%) with the performance attained by OpenCL and higher than the performance attained by OpenGL compute shader implementations. By exploiting Vulkan synchronization primitives using the command buffer, we can eliminate the overhead of launching multiple kernel invocations in iterative applications and improve performance of Vulkan implementations by up to 30%. However, the OpenCL compiler seems to be more mature than the SPIR-V compiler used in Vulkan implementations resulting in slightly faster OpenCL kernel execution.
On the other hand, the low-level semantics of Vulkan demand higher programming effort compared with OpenCL/OpenGL which can be a burden if Vulkan is to be used as a GPGPU programming model. Most of the additional effort, however, is boilerplate code that can be reused in more than one Vulkan applications.
Our work is one of the first to consider Vulkan compute as an implementation language for larger scale applications (and not just for small kernels as in previous work).

Cited By

View all
  • (2021)Sylkan: Towards a Vulkan Compute Target Platform for SYCLProceedings of the 9th International Workshop on OpenCL10.1145/3456669.3456683(1-12)Online publication date: 27-Apr-2021
  • (2021)A 3D graphics rendering pipeline implementation based on the openCL massively parallel processingThe Journal of Supercomputing10.1007/s11227-020-03581-877:7(7351-7367)Online publication date: 1-Jul-2021
  • (2021)Multi‐GPU room response simulation with hardware raytracingConcurrency and Computation: Practice and Experience10.1002/cpe.666334:4Online publication date: 12-Oct-2021
  • Show More Cited By

Index Terms

  1. Comparative Performance Analysis of Vulkan Implementations of Computational Applications
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Information & Contributors

          Information

          Published In

          cover image ACM Other conferences
          IWOCL '19: Proceedings of the International Workshop on OpenCL
          May 2019
          102 pages
          ISBN:9781450362306
          DOI:10.1145/3318170
          Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

          In-Cooperation

          • Khronos: Khronos Group
          • Northeastern University
          • Codeplay: Codeplay Software Ltd.
          • Intel: Intel
          • The University of Bristol: The University of Bristol

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          Published: 13 May 2019

          Check for updates

          Qualifiers

          • Extended-abstract
          • Research
          • Refereed limited

          Conference

          IWOCL'19
          IWOCL'19: International Workshop on OpenCL
          May 13 - 15, 2019
          MA, Boston, USA

          Acceptance Rates

          IWOCL '19 Paper Acceptance Rate 13 of 33 submissions, 39%;
          Overall Acceptance Rate 84 of 152 submissions, 55%

          Contributors

          Other Metrics

          Bibliometrics & Citations

          Bibliometrics

          Article Metrics

          • Downloads (Last 12 months)14
          • Downloads (Last 6 weeks)2
          Reflects downloads up to 12 Feb 2025

          Other Metrics

          Citations

          Cited By

          View all
          • (2021)Sylkan: Towards a Vulkan Compute Target Platform for SYCLProceedings of the 9th International Workshop on OpenCL10.1145/3456669.3456683(1-12)Online publication date: 27-Apr-2021
          • (2021)A 3D graphics rendering pipeline implementation based on the openCL massively parallel processingThe Journal of Supercomputing10.1007/s11227-020-03581-877:7(7351-7367)Online publication date: 1-Jul-2021
          • (2021)Multi‐GPU room response simulation with hardware raytracingConcurrency and Computation: Practice and Experience10.1002/cpe.666334:4Online publication date: 12-Oct-2021
          • (2020)RTX-RSimProceedings of the International Workshop on OpenCL10.1145/3388333.3388662(1-11)Online publication date: 27-Apr-2020

          View Options

          Login options

          View options

          PDF

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          Figures

          Tables

          Media

          Share

          Share

          Share this Publication link

          Share on social media