Concepedia

TLDR

The paper introduces OmpSs, a programming model combining OpenMP, StarSs, OpenCL, and CUDA to support heterogeneous multi‑core architectures. The authors evaluate OmpSs on six benchmarks (Matrix Multiply, BlackScholes, Perlin Noise, Julia Set, PBPI, FixedGrid) across SMP, GPU, and hybrid SMP/GPU systems, comparing its performance to equivalent OpenCL and OpenMP implementations. The evaluation demonstrates that OmpSs outperforms OpenCL and OpenMP on all tested platforms, offering greater flexibility and improved programmer productivity for exploiting multiple accelerators.

Abstract

In this paper, we present OmpSs, a programming model based on OpenMP and StarSs, that can also incorporate the use of OpenCL or CUDA kernels. We evaluate the proposal on different architectures, SMP, GPUs, and hybrid SMP/GPU environments, showing the wide usefulness of the approach. The evaluation is done with six different benchmarks, Matrix Multiply, BlackScholes, Perlin Noise, Julia Set, PBPI and FixedGrid. We compare the results obtained with the execution of the same benchmarks written in OpenCL or OpenMP, on the same architectures. The results show that OmpSs greatly outperforms both environments. With the use of OmpSs the programming environment is more flexible than traditional approaches to exploit multiple accelerators, and due to the simplicity of the annotations, it increases programmer's productivity.

References

YearCitations

Page 1