English
Related papers

Related papers: An approach to performance portability through gen…

200 papers

Pushing the boundaries of machine learning often requires exploring different hardware and software combinations. However, the freedom to experiment across different tooling stacks can be at odds with the drive for efficiency, which has…

Software Engineering · Computer Science 2023-09-15 Fraser Mince , Dzung Dinh , Jonas Kgomo , Neil Thompson , Sara Hooker

Performance variability is an important measure for a reliable high performance computing (HPC) system. Performance variability is affected by complicated interactions between numerous factors, such as CPU frequency, the number of…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-12-16 Li Xu , Thomas Lux , Tyler Chang , Bo Li , Yili Hong , Layne Watson , Ali Butt , Danfeng Yao , Kirk Cameron

Many science advances have been possible thanks to the use of research software, which has become essential to advancing virtually every Science, Technology, Engineering and Mathematics (STEM) discipline and many non-STEM disciplines…

Software Engineering · Computer Science 2019-02-26 Daniel S. Katz , Patrick Aerts , Neil P. Chue Hong , Anshu Dubey , Sandra Gesing , Henry J. Neeman , David E. Pearah

In this survey paper, we review recent work on frameworks for the high-level, portable programming of heterogeneous multi-/manycore systems (especially, GPU-based systems) using high-level constructs such as annotated user-level software…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-05-14 Christoph Kessler , Usman Dastgeer , Lu Li

Comparing the quality of software written in different computer languages is required in a variety of scenarios, e.g. multi-language projects or application selection process among candidates in different languages. We focus on the…

Software Engineering · Computer Science 2024-11-26 Christophe Ponsard , Gustavo Ospina , Denis Darquennes

System reuse and cost are very important in software product line design area. Developers goal is to increase system reuse and decreasing cost and efforts for building components from scratch for each software configuration. This can be…

Software Engineering · Computer Science 2013-11-14 Ola Younis , Said Ghoul , Mohammad H. Alomari

Parallel computing is a standard approach to achieving high-performance computing (HPC). Three commonly used methods to implement parallel computing include: 1) applying multithreading technology on single-core or multi-core CPUs; 2)…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-09-18 Xinyao Yi

Nowadays, engineers have to develop software often without even knowing which hardware it will eventually run on in numerous mobile phones, tablets, desktops, laptops, data centers, supercomputers and cloud services. Unfortunately,…

Software Engineering · Computer Science 2015-06-23 Grigori Fursin , Abdul Memon , Christophe Guillon , Anton Lokhmotov

Experience from seven decades of classical computing suggests that a sustainable computer industry depends on a community of software engineers writing programs to address a wide variety of specific end-user needs, achieving both…

GPUs have become the dominant source of computing power for high performance computing and are increasingly being used across the High Energy Physics computing landscape for a wide variety of tasks. Though NVIDIA is currently the main…

Containers are an emerging technology that hold promise for improving productivity and code portability in scientific computing. We examine Linux container technology for the distribution of a non-trivial scientific computing software stack…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-06-19 Jack S. Hale , Lizao Li , Chris N. Richardson , Garth N. Wells

Predictive models are fundamental to engineering reliable software systems. However, designing conservative, computable approximations for the behavior of programs (static analyses) remains a difficult and error-prone process for modern…

Programming Languages · Computer Science 2011-05-10 David Van Horn , Matthew Might

For scientific software, especially those used for large-scale simulations, achieving good performance and efficiently using the available hardware resources is essential. It is important to regularly perform benchmarks to ensure the…

The present panorama of HPC architectures is extremely heterogeneous, ranging from traditional multi-core CPU processors, supporting a wide class of applications but delivering moderate computing performance, to many-core GPUs, exploiting…

Scientific processes rely on software as an important tool for data acquisition, analysis, and discovery. Over the years sustainable software development practices have made progress in being considered as an integral component of research.…

Software Engineering · Computer Science 2023-12-21 Akash Dhruv , Anshu Dubey

Cross-platform development solutions can help to make software available on different devices and platforms. But these are normally restricted to preconfigured platforms and consider that each individual solution is equal or similar to each…

Software Engineering · Computer Science 2021-05-04 Juliano Zanuzzio Blanco , Daniel Lucrédio

The ubiquity of accelerators in high-performance computing has driven programming complexity beyond the skill-set of the average domain scientist. To maintain performance portability in the future, it is imperative to decouple…

Programming Languages · Computer Science 2020-01-06 Tal Ben-Nun , Johannes de Fine Licht , Alexandros Nikolaos Ziogas , Timo Schneider , Torsten Hoefler

Adaptive Computing is an application-agnostic outer loop framework to strategically deploy simulations and experiments to guide decision making for scale-up analysis. Resources are allocated over successive batches, which makes the…

The high-performance computing (HPC) landscape is undergoing rapid transformation, with an increasing emphasis on energy-efficient and heterogeneous computing environments. This comprehensive study extends our previous research on SYCL's…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-04-15 Manuel Costanzo , Enzo Rucci , Carlos García-Sánchez , Marcelo Naiouf , Manuel Prieto-Matías

Oftentimes, there is a need to experiment with different programming languages and technologies when designing software applications. Such experiments must be reproducible and share-able within a team workplace, and manual effort should be…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-05-05 Ayaz Hafiz , Kevin Jin