Dynamic vectorization: a mechanism for exploiting far-flung ILP in ordinary programs

  • Authors:
  • Sriram Vajapeyam;P. J. Joseph;Tulika Mitra

  • Affiliations:
  • Supercomputer Education and Research Centre and Dept. of Computer Science & Automation, Indian Institute of Science, Bangalore, India 560012;Dept. of Computer Science & Automation, Indian Institute of Science, Bangalore, India 560012;SUNY, Stony Brook and Dept. of Computer Science & Automation, Indian Institute of Science, Bangalore, India 560012

  • Venue:
  • ISCA '99 Proceedings of the 26th annual international symposium on Computer architecture
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

Several ILP limit studies indicate the presence of considerable ILP across dynamically far-apart instructions in program execution. This paper proposes a hardware mechanism, dynamic vectorization (DV), as a tool for quickly building up a large logical instruction window. Dynamic vectorization converts repetitive dynamic instruction sequences into vector form, enabling the processing of instructions from beyond the corresponding program loop to be overlapped with the loop. This enables vector-like execution of programs with relatively complex static control flow that may not be amenable to static, compile time vectorization. Experimental evaluation shows that a large fraction of the dynamic instructions of four of the six SPECInt92 programs can be captured in vector form. Three of these programs exhibit significant potential for ILP improvements from dynamic vectorization, with speedups of more than a factor of 2 in a scenario of realistic branch prediction and perfect memory disambiguation. Under perfect branch prediction conditions, a fourth program also shows well over a factor of 2 speedup from DV. The speedups are due to the overlap of post-loop processing with loop processing.