z-logo
open-access-imgOpen Access
Comparative analysis of software optimization methods in context of branch predication on GPUs
Author(s) -
Igor Sesin,
Р. Г. Болбаков
Publication year - 2021
Publication title -
rossijskij tehnologičeskij žurnal/russian technological journal
Language(s) - English
Resource type - Journals
eISSN - 2782-3210
pISSN - 2500-316X
DOI - 10.32362/2500-316x-2021-9-6-7-15
Subject(s) - computer science , general purpose computing on graphics processing units , compiler , workflow , program optimization , context (archaeology) , parallel computing , code (set theory) , software , optimizing compiler , programming language , database , graphics , operating system , paleontology , set (abstract data type) , biology
General Purpose computing for Graphical Processing Units (GPGPU) technology is a powerful tool for offloading parallel data processing tasks to Graphical Processing Units (GPUs). This technology finds its use in variety of domains – from science and commerce to hobbyists. GPU-run general-purpose programs will inevitably run into performance issues stemming from code branch predication. Code predication is a GPU feature that makes both conditional branches execute, masking the results of incorrect branch. This leads to considerable performance losses for GPU programs that have large amounts of code hidden away behind conditional operators. This paper focuses on the analysis of existing approaches to improving software performance in the context of relieving the aforementioned performance loss. Description of said approaches is provided, along with their upsides, downsides and extents of their applicability and whether they address the outlined problem. Covered approaches include: optimizing compilers, JIT-compilation, branch predictor, speculative execution, adaptive optimization, run-time algorithm specialization, profile-guided optimization. It is shown that the aforementioned methods are mostly catered to CPU-specific issues and are generally not applicable, as far as branch-predication performance loss is concerned. Lastly, we outline the need for a separate performance improving approach, addressing specifics of branch predication and GPGPU workflow.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here