Optimization Techniques for GPU Programming
54
TL;DR: In this article , a survey discusses various optimization techniques found in 450 articles published in the last 14 years and analyzes the optimizations from different perspectives which shows that the various optimizations are highly interrelated, explaining the need for techniques such as auto-tuning.
read more
Abstract: In the past decade, Graphics Processing Units have played an important role in the field of high-performance computing and they still advance new fields such as IoT, autonomous vehicles, and exascale computing. It is therefore important to understand how to extract performance from these processors, something that is not trivial. This survey discusses various optimization techniques found in 450 articles published in the last 14 years. We analyze the optimizations from different perspectives which shows that the various optimizations are highly interrelated, explaining the need for techniques such as auto-tuning.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
GPotion: An embedded DSL for GPU programming in Elixir
André Rauber Du Bois,Gerson Geraldo H. Cavalheiro +1 more
- 25 Sep 2023
TL;DR: GPotion is an embedded DSL for GPU programming in Elixir that allows writing low-level kernels and high-level facilities with little overhead.
Area Division Using Affinity Propagation for Multi-Robot Coverage Path Planning
Nikolaos Baras,Minas Dasygenis +1 more
TL;DR: In this article , an innovative methodology that employs affinity propagation (AP) for area allocation in multi-robot CPP is introduced, where the area is partitioned into 'n' clusters through AP, with each cluster subsequently assigned to a robot.
Gsparlib: A Multi-Level Programming Interface Unifying Opencl and Cuda for Expressing Stream and Data Parallelism
Dinei A. Rockenbach,Gabriell Araujo,Dalvan Griebler,Luiz Gustavo Fernandes +3 more
- 01 Jan 2024
TL;DR: Gsparlib is a programming interface that unifies Opencl and Cuda, enabling the expression of stream and data parallelism across multiple platforms.
Descend: A Safe GPU Systems Programming Language
Bastian Köpcke,Sergei Gorlatch,Michel Steuwer +2 more
TL;DR: Descend is a safe GPU systems programming language that enforces safe CPU and GPU memory management in the type system, preventing data races and deadlocks.
References
Deep learning
TL;DR: Deep learning is making major advances in solving problems that have resisted the best attempts of the artificial intelligence community for many years, and will have many more successes in the near future because it requires very little engineering by hand and can easily take advantage of increases in the amount of available computation and data.
67K
A Proof for the Queuing Formula: L = λW
TL;DR: In this paper, it was shown that if the three means are finite and the corresponding stochastic processes strictly stationary, and if the arrival process is metrically transitive with nonzero mean, then L = λW.
2.7K
Roofline: an insightful visual performance model for multicore architectures
TL;DR: The Roofline model offers insight on how to improve the performance of software and hardware in the rapidly changing world of connected devices.
NVIDIA Tesla: A Unified Graphics and Computing Architecture
TL;DR: To enable flexible, programmable graphics and high-performance computing, NVIDIA has developed the Tesla scalable unified graphics and parallel computing architecture, which is massively multithreaded and programmable in C or via graphics APIs.
Halide: a language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines
Jonathan Ragan-Kelley,Connelly Barnes,Andrew Adams,Sylvain Paris,Frédo Durand,Saman Amarasinghe +5 more
- 16 Jun 2013
TL;DR: A systematic model of the tradeoff space fundamental to stencil pipelines is presented, a schedule representation which describes concrete points in this space for each stage in an image processing pipeline, and an optimizing compiler for the Halide image processing language that synthesizes high performance implementations from a Halide algorithm and a schedule are presented.
1.2K