English
Related papers

Related papers: Early Experiences Migrating CUDA codes to oneAPI

200 papers

Graphics processing units (GPU) had evolved from a specialized hardware capable to render high quality graphics in games to a commodity hardware for effective processing blocks of data in a parallel schema. This evolution is particularly…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-03-26 Luis Cabellos

Modern unified programming models (such as CUDA and SYCL) that combine host (CPU) code and GPU code into the same programming language, same file, and same lexical scope lack adequate support for GPU code specialization, which is a key…

Graphics · Computer Science 2022-07-19 Kerry A. Seitz , Theresa Foley , Serban D. Porumbescu , John D. Owens

In this paper we would like to share our experience for transforming a parallel code for a Computational Fluid Dynamics (CFD) problem into a parallel version for the RedisDG workflow engine. This system is able to capture heterogeneous and…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-05-25 Fayssal Benkhaldoun , Christophe Cérin , Imad Kissami , Walid Saad

As CUDA programs become the de facto program among data parallel applications such as high-performance computing or machine learning applications, running CUDA on other platforms has been a compelling option. Although several efforts have…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-12-21 Ruobing Han , Jaewon Lee , Jaewoong Sim , Hyesoon Kim

GigaAPI is a user-space API that simplifies multi-GPU programming, bridging the gap between the capabilities of parallel GPU systems and the ability of developers to harness their full potential. The API offers a comprehensive set of…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-04-03 M. Suvarna , O. Tehrani

This paper describes how we successfully used the HPX programming model to port the DCA++ application on multiple architectures that include POWER9, x86, ARM v8, and NVIDIA GPUs. We describe the lessons we can learn from this experience as…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-10-21 Weile Wei , Arghya Chatterjee , Kevin Huck , Oscar Hernandez , Hartmut Kaiser

We introduce process-oriented programming as a natural extension of object-oriented programming for parallel computing. It is based on the observation that every class of an object-oriented language can be instantiated as a process,…

Programming Languages · Computer Science 2014-07-22 Edward Givelberg

While parallelism remains the main source of performance, architectural implementations and programming models change with each new hardware generation, often leading to costly application re-engineering. Most tools for performance…

Programming Languages · Computer Science 2022-07-04 William S. Moses , Ivan R. Ivanov , Jens Domke , Toshio Endo , Johannes Doerfert , Oleksandr Zinenko

One of the key requirements for the Lattice QCD Application Development as part of the US Exascale Computing Project is performance portability across multiple architectures. Using the Grid C++ expression template as a starting point, we…

High Energy Physics - Lattice · Physics 2018-04-18 Peter A. Boyle , M. A. Clark , Carleton DeTar , Meifeng Lin , Verinder Rana , Alejandro Vaquero Avilés-Casco

Developing software to effectively take advantage of growth in parallel and distributed processing capacity poses significant challenges. Traditional programming techniques allow a user to assume that execution, message passing, and memory…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-05-24 Matthew Andres Moreno , Santiago Rodriguez Papa , Charles Ofria

The modern trend in High-Performance Computing (HPC) involves the use of accelerators such as Graphics Processing Units (GPUs) alongside Central Processing Units (CPUs) to speed up numerical operations in various applications. Leading…

Mathematical Software · Computer Science 2025-07-25 Giulio Malenza , Giovanni Stabile , Filippo Spiga , Robert Birke , Marco Aldinucci

Recently, hybrid architectures using accelerators like GPGPUs or the Cell processor have gained much interest in the HPC community. The RapidMind Multi-Core Development Platform is a programming environment that allows generating code which…

Performance · Computer Science 2010-02-19 Iris Christadler , Volker Weinberg

This documentation is designed for beginners in Graphics Processing Unit (GPU)-programming and who want to get familiar with OpenACC and OpenMP offloading models. Here we present an overview of these two programming models as well as of the…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-01-31 Hichan Agueny

Heterogeneous hardware other than small-core CPU such as GPU, FPGA, or many-core CPU is increasingly being used. However, heterogeneous hardware usage presents high technical skill barriers such as familiarity with CUDA. To overcome this…

Hardware Architecture · Computer Science 2021-10-25 Yoji Yamato

Parallel computing can offer an enormous advantage regarding the performance for very large applications in almost any field: scientific computing, computer vision, databases, data mining, and economics. GPUs are high performance many-core…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-11-24 Bogdan Oancea , Tudorel Andrei , Raluca Mariana Dragoescu

The expanding hardware diversity in high performance computing adds enormous complexity to scientific software development. Developers who aim to write maintainable software have two options: 1) To use a so-called data locality abstraction…

Software Engineering · Computer Science 2023-11-10 Andreas Hadjigeorgiou , Christodoulos Stylianou , Michele Weiland , Dirk Jacob Verschuur , Jacob Finkenrath

We present a unified programming model for heterogeneous computing systems. Such systems integrate multiple computing accelerators and memory units to deliver higher performance than CPU-centric systems. Although heterogeneous systems have…

Emerging Technologies · Computer Science 2024-04-18 Zixuan Wang , Jishen Zhao

Network library APIs have historically been developed with the emphasis on data movement, placement, and communication semantics. Many communication semantics are available across a large variety of network libraries, such as send-receive,…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-06-02 Luis E. Peña , Wenbin Lu , Pavel Shamis , Steve Poole

The advent of high performance computing (HPC) and graphics processing units (GPU), present an enormous computation resource for Large data transactions (big data) that require parallel processing for robust and prompt data analysis. While…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-10-17 Kato Mivule , Benjamin Harvey , Crystal Cobb , Hoda El Sayed

Recent advances in computing architectures and networking are bringing parallel computing systems to the masses so increasing the number of potential users of these kinds of systems. In particular, two important technological evolutions are…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-04-05 Gabriele D'Angelo , Moreno Marzolla