AAU Student Projects - visit Aalborg University's student projects portal
A master thesis from Aalborg University

PapaGo - A graphics API built on top of Vulkan, developed with a focus on programmability

Author(s)

Term

4. term

Education

Publication year

2018

Submitted on

2018-06-08

Abstract

In 2016, Khronos Group’s Vulkan API was released with the purpose of speeding up CPU-bound graphics applications. In comparison to earlier APIs, Vulkan is more low level, and according to our research this makes it difficult to use. We present the \api{} API, which attempts to raise the abstraction level of Vulkan, while using it as a backed. The aim is to create an API with a similar level of abstraction to OpenGL, while retaining the statelessness of Vulkan, its explicit control of resources and command buffers, which can be recorded in parallel. Evaluating the usability of \api{}, we develop a new task-based API evaluation method based on Discount Evaluation. Our evaluation found that our participants, who were more used to an OpenGL-style of programming, quickly adapted to our API. A performance benchmark was also performed on \api{} using a test application. The test application was run on two different systems, the first containing an AMD Sapphire Radeon R9 280 GPU, while the second used the more powerful NVIDIA GeForce GTX 1060 GPU. In the CPU-bound case, the application was sped up on both systems by recording commands in parallel, and it ran with about the same speed on both systems, differing with about 5 milliseconds. In the GPU-bound case, parallel command recording had little impact, and the application ran three times faster on the NVIDIA system. Comparing to the same application written in pure Vulkan, we see that \api{} adds some overhead. In the CPU-bound case, Vulkan runs many times faster on both systems, while in the GPU-bound case \api{} runs at the same speed on the NVIDIA system, while \api{} is a third slower than Vulkan on AMD.2

Keywords

Documents


Colophon: This page is part of the AAU Student Projects portal, which is run by Aalborg University. Here, you can find and download publicly available bachelor's theses and master's projects from across the university dating from 2008 onwards. Student projects from before 2008 are available in printed form at Aalborg University Library.

If you have any questions about AAU Student Projects or the research registration, dissemination and analysis at Aalborg University, please feel free to contact the VBN team. You can also find more information in the AAU Student Projects FAQs.