English
Related papers

Related papers: Automatic Multi-GPU Code Generation applied to Sim…

200 papers

Parallel computing using accelerators has gained widespread research attention in the past few years. In particular, using GPUs for general purpose computing has brought forth several success stories with respect to time taken, cost, power,…

Matrix Distributed Processing (MDP) is a C++ library for fast development of efficient parallel algorithms. It constitues the core of FermiQCD. MDP enables programmers to focus on algorithms, while parallelization is dealt with…

High Energy Physics - Lattice · Physics 2007-05-23 Massimo Di Pierro

We present an efficient open-source implementation of the multiparticle collision dynamics (MPCD) algorithm that scales to run on hundreds of graphics processing units (GPUs). We especially focus on optimizations for modern GPU…

Soft Condensed Matter · Physics 2018-08-01 Michael P. Howard , Athanassios Z. Panagiotopoulos , Arash Nikoubashman

The overwhelmingly increasing amount of stored data has spurred researchers seeking different methods in order to optimally take advantage of it which mostly have faced a response time problem as a result of this enormous size of data. Most…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-02-18 H I Alzeini , Sh A Hameed , M H Habaebi

Sparse Matrix-Matrix multiplication is a key kernel that has applications in several domains such as scientific computing and graph analysis. Several algorithms have been studied in the past for this foundational kernel. In this paper, we…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-01-10 Mehmet Deveci , Christian Trott , Sivasankaran Rajamanickam

Designing problems using matrices is very important in Computer Science. Fields like graph computer, graphs theory, and machine learning use matrices very often to solve their own problems. The most often matrix operation is the…

Performance · Computer Science 2019-05-10 Andre G. C. Pacheco

There is a large body of legacy scientific code written in languages like Fortran that is not optimised to get the best performance out of heterogeneous acceleration devices like GPUs and FPGAs, and manually porting such code into parallel…

Performance · Computer Science 2019-01-25 Wim Vanderbauwhede , Syed Waqar Nabi

Generating code from a natural language using Large Language Models (LLMs) such as ChatGPT, seems groundbreaking. Yet, with more extensive use, it's evident that this approach has its own limitations. The inherent ambiguity of natural…

Software Engineering · Computer Science 2023-10-09 Ahmed R. Sadik , Sebastian Brulin , Markus Olhofer

We present and release in open source format a sparse linear solver which efficiently exploits heterogeneous parallel computers. The solver can be easily integrated into scientific applications that need to solve large and sparse linear…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-07-26 Massimo Bernaschi , Alessandro Celestini , Pasqua D'Ambra , Flavio Vella

Various kinds of applications take advantage of GPUs through automation tools that attempt to automatically exploit the available performance of the GPU's parallel architecture. Directive-based programming models, such as OpenACC, are one…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-01-30 Kazuaki Matsumura , Simon Garcia De Gonzalo , Antonio J. Peña

We present shared-memory parallel methods for Maximal Clique Enumeration (MCE) from a graph. MCE is a fundamental and well-studied graph analytics task, and is a widely used primitive for identifying dense structures in a graph. Due to its…

Data Structures and Algorithms · Computer Science 2020-01-30 Apurba Das , Seyed-Vahid Sanei-Mehri , Srikanta Tirthapura

The aim of parallel computing is to increase an application performance by executing the application on multiple processors. OpenMP is an API that supports multi platform shared memory programming model and shared-memory programs are…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-11-12 Vibha Rajput , Alok Katiyar

We present the Glasgow Parallel Reduction Machine (GPRM), a novel, flexible framework for parallel task-composition based many-core programming. We allow the programmer to structure programs into task code, written as C++ classes, and…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-12-11 Ashkan Tousimojarad , Wim Vanderbauwhede

Nowadays, several industrial applications are being ported to parallel architectures. In fact, these platforms allow acquire more performance for system modelling and simulation. In the electric machines area, there are many problems which…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-10-25 Antonio Wendell De Oliveira Rodrigues , Frédéric Guyomarch , Yvonnick Le Menach , Jean-Luc Dekeyser

The alternating direction method of multipliers (ADMM) is a powerful operator splitting technique for solving structured convex optimization problems. Due to its relatively low per-iteration computational cost and ability to exploit…

Optimization and Control · Mathematics 2020-06-09 Michel Schubiger , Goran Banjac , John Lygeros

Leveraging Large Language Models (LLM) like GPT4 in the auto generation of code represents a significant advancement, yet it is not without its challenges. The ambiguity inherent in natural language descriptions of software poses…

Artificial Intelligence · Computer Science 2025-07-24 Ahmed R. Sadik , Sebastian Brulin , Markus Olhofer

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

Massively parallel accelerators such as GPGPUs, manycores and FPGAs represent a powerful and affordable tool for scientists who look to speed up simulations of complex systems. However, porting code to such devices requires a detailed…

Mathematical Software · Computer Science 2017-11-15 Wim Vanderbauwhede , Gavin Davidson

The SIMT execution model is commonly used for general GPU development. CUDA and OpenCL developers write scalar code that is implicitly parallelized by compiler and hardware. On Intel GPUs, however, this abstraction has profound performance…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-01-28 Guei-Yuan Lueh , Kaiyu Chen , Gang Chen , Joel Fuentes , Wei-Yu Chen , Fangwen Fu , Hong Jiang , Hongzheng Li , Daniel Rhee

The rapid development in computing technology has paved the way for directive-based programming models towards a principal role in maintaining software portability of performance-critical applications. Efforts on such models involve a least…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-04-28 Kazuaki Matsumura , Simon Garcia De Gonzalo , Antonio J. Peña