Files in this item



application/pdfEVANS-DISSERTATION-2016.pdf (1MB)
(no description provided)PDF


Title:Using dynamic information to find vector parallelism
Author(s):Evans, Graham C.
Director of Research:Padua, David
Doctoral Committee Chair(s):Padua, David
Doctoral Committee Member(s):Gropp, William; Hwu, Wen-Mei; Hammond, Simon D
Department / Program:Computer Science
Discipline:Computer Science
Degree Granting Institution:University of Illinois at Urbana-Champaign
Programing Tools
Abstract:Vectorization 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.
Issue Date:2016-11-17
Rights Information:Copyright 2016 Graham Carl Evans
Date Available in IDEALS:2017-03-01
Date Deposited:2016-12

This item appears in the following Collection(s)

Item Statistics