English
Related papers

Related papers: Benchmarking the cost of thread divergence in CUDA

200 papers

GPUs are prevalent in modern computing systems at all scales. They consume a significant fraction of the energy in these systems. However, vendors do not publish the actual cost of the power/energy overhead of their internal…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-06-04 Yehia Arafa , Ammar ElWazir , Abdelrahman ElKanishy , Youssef Aly , Ayatelrahman Elsayed , Abdel-Hameed Badawy , Gopinath Chennupati , Stephan Eidenbenz , Nandakishore Santhi

Many popular machine learning models scale poorly when deployed on CPUs. In this paper we explore the reasons why and propose a simple, yet effective approach based on the well-known Divide-and-Conquer Principle to tackle this problem of…

Machine Learning · Computer Science 2023-03-03 Alex Kogan

Tensor Cores have been an important unit to accelerate Fused Matrix Multiplication Accumulation (MMA) in all NVIDIA GPUs since Volta Architecture. To program Tensor Cores, users have to use either legacy wmma APIs or current mma APIs.…

Hardware Architecture · Computer Science 2022-11-29 Wei Sun , Ang Li , Tong Geng , Sander Stuijk , Henk Corporaal

Since the advent of parallel algorithms in the C++17 Standard Template Library (STL), the STL has become a viable framework for creating performance-portable applications. Given multiple existing implementations of the parallel algorithms,…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-02-12 Ruben Laso , Diego Krupitza , Sascha Hunold

Verifying multi-threaded programs is becoming more and more important, because of the strong trend to increase the number of processing units per CPU socket. We introduce a new configurable program analysis for verifying multi-threaded…

Logic in Computer Science · Computer Science 2016-12-23 Dirk Beyer , Karlheinz Friedberger

Graph embedding is a transformation of vertices of a graph into set of vectors. Good embeddings should capture the graph topology, vertex-to-vertex relationship, and other relevant information about graphs, subgraphs, and vertices. If these…

Social and Information Networks · Computer Science 2021-02-17 Bogumil Kaminski , Pawel Pralat , Francois Theberge

Efficiently exploiting GPUs is increasingly essential in scientific computing, as many current and upcoming supercomputers are built using them. To facilitate this, there are a number of programming approaches, such as CUDA, OpenACC and…

Performance · Computer Science 2017-11-07 G. D. Balogh , I. Z. Reguly , G. R. Mudalige

Simulation is a fundamental research tool in the computer architecture field. These kinds of tools enable the exploration and evaluation of architectural proposals capturing the most relevant aspects of the highly complex systems under…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-02-11 Adrian Colaso , Pablo Prieto , Jose-Angel Herrero , Pablo Abad , Valentin Puente , Jose-Angel Gregorio

Tracking causality (or happened-before relation) between events is useful for many applications such as debugging and recovery from failures. Consider a concurrent system with $n$ threads and $m$ objects. For such systems, either a vector…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-01-23 Xiong Zheng , Vijay Garg

Leveraging the SIMD capability of modern CPU architectures is mandatory to take full benefit of their increasing performance. To exploit this feature, binary executables must be explicitly vectorized by the developers or an automatic…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-07-03 Hayfa Tayeb , Ludovic Paillat , Berenger Bramas

We examine the Xeon Phi, which is based on Intel's Many Integrated Cores architecture, for its suitability to run the FDK algorithm--the most commonly used algorithm to perform the 3D image reconstruction in cone-beam computed tomography.…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-01-16 Johannes Hofmann , Jan Treibig , Georg Hager , Gerhard Wellein

Stencil computations represent a very common class of nested loops in scientific and engineering applications. Exploiting vector units in modern CPUs is crucial to achieving peak performance. Previous vectorization approaches often consider…

Mathematical Software · Computer Science 2020-10-13 Liang Yuan , Hang Cao , Yunquan Zhang , Kun Li , Pengqi Lu , Yue Yue

Modern microarchitectures are some of the world's most complex man-made systems. As a consequence, it is increasingly difficult to predict, explain, let alone optimize the performance of software running on such microarchitectures. As a…

Performance · Computer Science 2019-03-06 Andreas Abel , Jan Reineke

Every year, novel NVIDIA GPU designs are introduced. This rapid architectural and technological progression, coupled with a reluctance by manufacturers to disclose low-level details, makes it difficult for even the most proficient GPU…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-04-19 Zhe Jia , Marco Maggioni , Benjamin Staiger , Daniele P. Scarpazza

Benchmarking is key for developing and comparing optimization algorithms. In this paper, a CUDA-based real parameter optimization benchmark (cuROB) is introduced. Test functions of diverse properties are included within cuROB and…

Neural and Evolutionary Computing · Computer Science 2014-07-30 Ke Ding , Ying Tan

We have developed several autotuning benchmarks in CUDA that take into account performance-relevant source-code parameters and reach near peak-performance on various GPU architectures. We have used them during the development and evaluation…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-02-11 Jiří Filipovič , Jana Hozzová , Amin Nezarat , Jaroslav Oľha , Filip Petrovič

Vector programming is an important topic in many Introduction to Computer Science courses. Despite the importance of vectors, learning vector programming is a source for frustration to many students given that they feel left adrift when it…

Programming Languages · Computer Science 2018-05-19 Marco T. Morazán

This work examines the challenges of training neural networks using vector quantization using straight-through estimation. We find that a primary cause of training instability is the discrepancy between the model embedding and the…

Machine Learning · Computer Science 2023-05-16 Minyoung Huh , Brian Cheung , Pulkit Agrawal , Phillip Isola

In recent years, various means of efficiently detecting changepoints in the univariate setting have been proposed, with one popular approach involving minimising a penalised cost function using dynamic programming. In some situations, these…

Methodology · Statistics 2018-10-09 S. O. Tickle , I. A. Eckley , P. Fearnhead , K. Haynes

To support growing massive parallelism, functional components and also the capabilities of current processors are changing and continue to do so. Todays computers are built upon multiple processing cores and run applications consisting of a…

Programming Languages · Computer Science 2016-04-07 Somnath Mazumdar , Roberto Giorgi