arXiv.itsnick.co

an independent field guide to 23 million papers from arXiv & OpenAlex — not affiliated with arXiv.org

Author

Angela Pohl

8 papers · 2015–2020

2015: 12016: 12017: 02018: 32019: 22020: 1
2015peak 3 in 20182020

Frequent co-authors

Papers

showing 1–8 of 8 RSS

An evaluation of current SIMD programming models for C++

Angela Pohl, Biagio Cosenza, Mauricio Álvarez-Mesa +2 more

Hardware and Architecture · Open MIND · · cited 20× · DOI ↗ · more like this ·

SIMD extensions were added to microprocessors in the mid '90s to speed-up data-parallel code by vectorization. Unfortunately, the SIMD programming model has barely evolved and the most efficient utilization is still obtained with elaborate intrinsics coding. As a consequence, several approaches to write efficient and portable SIMD code have been proposed. In this work, we evaluate current programming models for the C++ language, which claim to simplify SIMD programming while maintaining high performance.

A Performance Analysis of Vector Length Agnostic Code

Angela Pohl, Mirko Greese, Biagio Cosenza +1 more

Hardware and Architecture · · cited 14× · DOI ↗ · more like this ·

Vector extensions are a popular mean to exploit data parallelism in applications. Over recent years, the most commonly used extensions have been growing in vector length and amount of vector instructions. However, code portability remains a problem when speaking about a compute continuum. Hence, vector length agnostic (VLA) architectures have been proposed for the future generations of ARM and RISC-V processors. With these architectures, code is vectorized independently of the vector length of the target hardware platform. It is therefore possible to tune software to a generic vector length. To understand the performance impact of VLA code compared to vector length specific code, we analyze the current capabilities of code generation for ARM's SVE architecture. Our experiments show that VLA code reaches about 90% of the performance of vector length specific code, i.e. a 10% overhead is…

Portable Cost Modeling for Auto-Vectorizers

Angela Pohl, Biagio Cosenza, Ben Juurlink

Hardware and Architecture · · cited 13× · DOI ↗ · more like this ·

Compiler optimization passes employ cost models to determine if a code transformation will yield performance improvements. When this assessment is inaccurate, compilers apply transformations that are not beneficial, or refrain from applying ones that would have improved the code. We analyze the accuracy of the cost models used in LLVM's and GCC's vectorization passes for two different instruction set architectures. In general, speedup is over-estimated, resulting in mispredictions and a weak to medium correlation between predicted and actual performance gain. We therefore propose a novel cost model that is based on a code's intermediate representation with refined memory access pattern features. Using linear regression techniques, this platform independent model is fitted to an AVX2 and a NEON hardware. Results show that the fitted model significantly improves the correlation between…

Control Flow Vectorization for ARM NEON

Angela Pohl, Biagio Cosenza, Ben Juurlink

Hardware and Architecture · · cited 6× · DOI ↗ · more like this ·

Single Instruction Multiple Data (SIMD) extensions in processors enable in-core parallelism for operations on vectors of data. From the compiler perspective, SIMD instructions require automatic techniques to determine how and when it is possible to express computations in terms of vector operations. When this is not possible automatically, a user may still write code in a manner that allows the compiler to deduce that vectorization is possible, or by explicitly define how to vectorize by using intrinsics.

Cost Modelling for Vectorization on ARM

Angela Pohl, Biagio Cosenza, Ben Juurlink

Hardware and Architecture · · cited 5× · DOI ↗ · more like this ·

When applying a code transformation to optimize for performance, compilers need to assess its profitability beforehand. For this purpose, they utilize cost models, which compare the cost, an abstract measure of the code, before and after the transformation. If the cost is lower after the transformation, it will be applied. Exact cost modelling is therefore critical to avoid slowdowns or missed opportunities for speedups. In this work, we analyze the accuracy of LLVM's loop-level vectorization (LLV) cost model, and show the benefit of modelling speedup instead of instruction costs for higher vectorization rates and smaller execution times. The presented approach is portable to other compilers and hardwares as well.

Multi/Many-Core Programming: Where Are We Standing?

Jerónimo Castrillón, Lothar Thiele, Lars Schorr +7 more

Hardware and Architecture · Design, Automation & Test in Europe Conference & Exhibition (DATE), 2015 · · cited 5× · DOI ↗ · more like this ·

This paper presents different views exposed in a special session on the current standing of programming and design tools for multi and manycores in the embedded domain. After approximately ten years of the advent of multicore architectures, we take a look at state-of-the-art and trends in model-based programming methodologies from an academic point of view. This view is contrasted with early experiences in transferring multicore compiler research to industry, and complemented with a critical view on the performance gap introduced by compilers for complex architectures. Today, multicores permeate new applications domains, creating new requirements and forcing researchers to rethink some underlying assumptions. This paper exposes the requirements of one such new domain, namely automotive. Applications in this domain require not only programming tools that comply to standards (e.g., ISO…

Accelerating The Vvc Decoder For Vector Length Agnostic Simd Architectures

Yassin Kaddar, Angela Pohl, Ben Juurlink

Signal Processing · · cited 1× · DOI ↗ · more like this ·

The standardization of the next-generation video standard, the Versatile Video Coding (VVC), is nearing completion. At the same time, new architectures for Single Instruction Multiple Data (SIMD) extensions are entering the market. They implement a vector length agnostic approach, i.e. code can be vectorized independently of the target hardware vector size and is therefore portable across different platforms. We have taken the VVC decoder and explored the speedup potential of such architectures by implementing the three most time-consuming kernels with ARM's Scalable Vector Extensions (SVE). Results show that we are able to speed up individual kernels by up to a factor of 3, while the overall decoding speed increases by 18% to 29% on average, depending on the quantization parameter. Not all kernels benefit from increasing vector lengths, however, and we observe a diminishing return on…

Accelerating the RICH Particle Detector Algorithm on Intel Xeon Phi

Christina Quast, R. Schwemmer, Angela Pohl +2 more

Hardware and Architecture · CERN Document Server (European Organization for Nuclear Research) · · cited 0× · DOI ↗ · more like this ·

At the LHC, particles are collided in order to understand how the universe was created. Those collisions are called events and generate large quantities of data, which have to be pre-filtered before they are stored to hard disks. This paper presents a parallel implementation of these algorithms that is specifically designed for the Intel Xeon Phi Knights Landing platform, exploiting its 64 cores and AVX-512 instruction set. It shows that a linear speedup up until approximately 64 threads is attainable when vectorization is used, data is aligned to cache line boundaries, program execution is pinned to MCDRAM, mathematical expressions are transformed to a more efficient equivalent formulation, and OpenMP is used for parallelization. The code was transformed from being compute bound to memory bound. Overall, a speedup of 36.47x was reached while obtaining an error which is smaller than the…