University of Illinois at Urbana-Champaign
Using dynamic information to find vector parallelism
Abstract
dc:descriptionVectorization is key to performance on modern hardware. Almost all architectures include some form of vector instructions and the size of the instructions has been growing with newer designs. To take advantage of the performance that these systems offer, it is imperative that programs use vector instructions, and yet they do not always do so. To take advantage of vector hardware requires special instructions and since compliers only automatically generate them in simple cases the programmers need to work to use them. This requires programmer time and is often not portable. We believe that tools are needed to help guide even expert programmers. In this work we present the development of Vector Seeker, a tool to investigate vector parallelism. Our approach is to optimistically speculate on the parallel potential of codes by instrumenting original code and using that to find independent instances of the same instruction during the execution. We describe the preliminary work in which we developed a tool called MemVec, and how the limitations in that approach led to the development of Vector Seeker. We then describe Vector Seeker and verification testing of the tool on several benchmarks. Finally, we extend Vector Seeker to handle more production scale codes and describe our experiences with a large CFD code, PlasComCM.
Degree
thesis:*- Name thesis:degree_name
- Ph.D.
- Level thesis:degree_level
- Dissertation
- Discipline thesis:degree_discipline
- Computer Science
- Grantor
- University of Illinois at Urbana-Champaign
- Year dc:date
- 2017
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Evans, Graham C.
- Contributors dc:contributor
-
- Padua, David
- Gropp, William
- Hwu, Wen-Mei
- Hammond, Simon D
Subjects
dc:subject × 3Rights
dc:rights- Statement dc:rights
-
- Copyright 2016 Graham Carl Evans
- Language dc:language
- en
Identifiers
dc:identifier.*- Handle dc:identifier
- http://hdl.handle.net/2142/95322
- OAI identifier oai:identifier
- oai:www.ideals.illinois.edu:2142/95322