![Loading...](https://link.springer.com/static/c4a417b97a76cc2980e3c25e2271af3129e08bbe/images/pdf-preview/spacer.gif)
-
Chapter and Conference Paper
OpenMP Advisor: A Compiler Tool for Heterogeneous Architectures
With the increasing diversity of heterogeneous architecture in the HPC industry, porting a legacy application to run on different architectures is a tough challenge. In this paper, we present OpenMP Advisor, a...
-
Chapter and Conference Paper
Towards Efficient Remote OpenMP Offloading
On modern heterogeneous HPC systems, the most popular way to realize distributed computation is the hybrid programming model of MPI+X (X being OpenMP/CUDA/etc.), as it has been proven to perform well with vari...
-
Chapter and Conference Paper
Data Transfer and Reuse Analysis Tool for GPU-Offloading Using OpenMP
In the high performance computing sector, researchers and application developers expend considerable effort to port their applications to GPU-based clusters in order to take advantage of the massive parallelis...
-
Chapter and Conference Paper
Toward Supporting Multi-GPU Targets via Taskloop and User-Defined Schedules
Many modern supercomputers such as ORNL’s Summit, LLNL’s Sierra, and LBL’s upcoming Perlmutter offer or will offer multiple, e.g., 4 to 8, GPUs per node for running computational science and engineering applic...
-
Chapter and Conference Paper
False Sharing Detection in OpenMP Applications Using OMPT API
Writing a parallel shared memory application that scales well on the future multi-core processors is a challenging task. The contention among shared resources increases as the number of threads increases. This...
-
Article
A computational study of heuristic and exact techniques for superblock instruction scheduling
Compilers perform instruction scheduling to improve the performance of code on modern computer architectures. Superblocks—a straight-line sequence of code with a single entry point and multiple possible exit p...
-
Chapter and Conference Paper
Automatic Static Feature Generation for Compiler Optimization Problems
Modern compilers have many optimization passes which help to get a better binary code for a given program. These optimizations are NP-hard. People use different heuristics to get a near optimal solution. These...
-
Article
Learning heuristics for basic block instruction scheduling
Instruction scheduling is an important step for improving the performance of object code produced by a compiler. A fundamental problem that arises in instruction scheduling is to find a minimum length schedul...
-
Chapter and Conference Paper
An Application of Constraint Programming to Superblock Instruction Scheduling
Modern computer architectures have complex features that can only be fully taken advantage of if the compiler schedules the compiled code. A standard region of code for scheduling in an optimizing compiler is ...