Vector LLVA

Stc
Date: 2008-03-27

Time: 11:00

Room: BBL room 471

Speaker: Mart Kolthof

Title: Vectorization and Vector LLVA

Abstract

Vectorization is a way of introducing parallelism, mainly used in the field of media processing. Because of the nature of parallelism, execution of different instructions at the same time, introduces limitations on the code that can be executed at the same time. Therefore automatic vectorization of code and more specific the analyses required to support it are very hard. To prevent going over the same scalar code time after time when a new vector processor is introduced, the Vector LLVA (Low Level Virtual Architecture) project introduced a way of capturing the vector operations in a generic way and when a translator to a specific target is provided, generating processor specific code is as easy as pushing a button. With the loss of performance when comparing to handwritten processor specific code and the struggle of writing vector code and doing the analysis by hand, the usability of the Vector LLVA project is diminished. In this presentation I will introduce vectorization and (Vector) LLVA, explain some analyses required to determine whether vectorization is safe and I will provide an example of the process of vectorization with Vector LLVA.