English
Related papers

Related papers: Enhancing Programmability, Portability, and Perfor…

200 papers

Portability is critical to ensuring high productivity in developing and maintaining scientific software as the diversity in on-node hardware architectures increases. While several programming models provide portability for diverse GPU…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-09-08 Joshua H. Davis , Pranav Sivaraman , Joy Kitson , Konstantinos Parasyris , Harshitha Menon , Isaac Minn , Giorgis Georgakoudis , Abhinav Bhatele

Writing high-performance code requires significant expertise in the programming language, compiler optimizations, and hardware knowledge. This often leads to poor productivity and portability and is inconvenient for a non-programmer…

Performance · Computer Science 2020-09-01 Ajitesh Srivastava , Naifeng Zhang , Rajgopal Kannan , Viktor K. Prasanna

We describe a set of lower-level abstractions to improve performance on modern large scale heterogeneous systems. These provide portable access to system- and hardware-dependent features, automatically apply dynamic optimizations at run…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-08-07 Erik Schnetter

Accelerators such as neural processing units (NPUs) deliver an enticing balance of performance and efficiency compared to general purpose compute architectures. However, effectively leveraging accelerator capabilities is not always simple:…

In the trend towards hardware specialization, FPGAs play a dual role as accelerators for offloading, e.g., network virtualization, and as a vehicle for prototyping and exploring hardware designs. While FPGAs offer versatility and…

Hardware Architecture · Computer Science 2025-05-01 Benjamin Ramhorst , Dario Korolija , Maximilian Jakob Heer , Jonas Dann , Luhao Liu , Gustavo Alonso

The rapid development of domain-specific frameworks has presented us with a significant challenge: The current approach of implementing solutions on a case-by-case basis incurs a theoretical complexity of O(M*N), thereby increasing the cost…

Software Engineering · Computer Science 2024-05-22 Xu Wen , Wanling Gao , Lei Wang , Jianfeng Zhan

Achieving sustainable, explainable, and maintainable automation for resource optimization is a core challenge across the edge-cloud continuum. Persistent overprovisioning and operational complexity often stem from heterogeneous platforms…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-07-17 Brian-Frederik Jahnke , René Brinkhege , Jan Peter Meyer , Daniel Tebernum , Falk Howar

Task based parallel programming has shown competitive outcomes in many aspects of parallel programming such as efficiency, performance, productivity and scalability. Different approaches are used by different software development frameworks…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-09 Afshin Zafari

Abstraction is essential for reducing the complexity of systems across diverse fields, yet designing effective abstraction methodology for probabilistic models is inherently challenging due to stochastic behaviors and uncertainties. Current…

Artificial Intelligence · Computer Science 2025-03-03 Nijesh Upreti , Vaishak Belle

In recent years, there have emerged many new hardware mechanisms for improving the security of our computer systems. Hardware offers many advantages over pure software approaches: immutability of mechanisms to software attacks, better…

Cryptography and Security · Computer Science 2019-10-14 Lianying Zhao , He Shuang , Shengjie Xu , Wei Huang , Rongzhen Cui , Pushkar Bettadpur , David Lie

In recent advances in solving the problem of transmission network expansion planning, the use of robust optimization techniques has been put forward, as an alternative to stochastic mathematical programming methods, to make the problem…

Computational Engineering, Finance, and Science · Computer Science 2016-09-28 Roberto Minguez , Raquel Garcia-Bertrand

We propose a GPU fine-grained load-balancing abstraction that decouples load balancing from work processing and aims to support both static and dynamic schedules with a programmable interface to implement new load-balancing schedules. Prior…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-01-13 Muhammad Osama , Serban D. Porumbescu , John D. Owens

Many performance critical systems today must rely on performance enhancements, such as multi-port memories, to keep up with the increasing demand of memory-access capacity. However, the large area footprints and complexity of existing…

Hardware Architecture · Computer Science 2020-01-28 Hardik Jain , Matthew Edwards , Ethan Elenberg , Ankit Singh Rawat , Sriram Vishwanath

The evolution of computer architecture has led to a paradigm shift from traditional single-core processors to multi-core and domain-specific architectures that address the increasing demands of modern computational workloads. This paper…

With the advent of hundreds of cores on a chip to accelerate applications, the operating system (OS) needs to exploit the existing parallelism provided by the underlying hardware resources to determine the right amount of processes to be…

Operating Systems · Computer Science 2025-01-07 Yao Xiao , Nikos Kanakaris , Anzhe Cheng , Chenzhong Yin , Nesreen K. Ahmed , Shahin Nazarian , Andrei Irimia , Paul Bogdan

Approximations during program analysis are a necessary evil, as they ensure essential properties, such as soundness and termination of the analysis, but they also imply not always producing useful results. Automatic techniques have been…

Programming Languages · Computer Science 2018-12-18 Isabel Garcia-Contreras , Jose F. Morales , Manuel V. Hermenegildo

Computing systems have become increasingly complex with the emergence of heterogeneous hardware combining multicore CPUs and GPUs. These parallel systems exhibit tremendous computational power at the cost of increased programming effort.…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-02-10 Michel Steuwer , Christian Fensch , Christophe Dubach

Developing parallel algorithms efficiently requires careful management of concurrency across diverse hardware architectures. C++ executors provide a standardized interface that simplifies the development process, allowing developers to…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-10-22 Karame Mohammadiporshokooh , Steven R. Brandt , Hartmut Kaiser

Abstraction-based techniques are an attractive approach for synthesizing correct-by-construction controllers to satisfy high-level temporal requirements. A main bottleneck for successful application of these techniques is the memory…

Systems and Control · Electrical Eng. & Systems 2023-07-11 Rupak Majumdar , Mahmoud Salamati , Sadegh Soudjani

Building and deploying software on high-end computing systems is a challenging task. High performance applications have to reliably run across multiple platforms and environments, and make use of site-specific resources while resolving…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-04-12 Lucas Benedicic , Felipe A. Cruz , Alberto Madonna , Kean Mariotti