Unlock instant, AI-driven research and patent intelligence for your innovation.

Apparatus and method for speculatively vectorizing program code

A vector and code technology, which is applied in the field of speculative vectorized program code, can solve the problem of safe vectorization of the entire area of ​​the code

Pending Publication Date: 2022-03-11
ARM LTD +1
View PDF0 Cites 0 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

In practice, the limitations of the compiler's memory aliasing analysis and the presence of infrequent memory data dependencies mean that entire regions of code cannot be safely vectorized in existing systems without risking changing the semantics of the application, thus limiting the achievable usable performance increase

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Apparatus and method for speculatively vectorizing program code
  • Apparatus and method for speculatively vectorizing program code
  • Apparatus and method for speculatively vectorizing program code

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0019] The techniques described herein relate to vectorization of scalar memory access operations. When seeking to vectorize such scalar memory access operations so that those operations are executed in parallel in multiple processing lanes, there is the possibility that through memory dependencies (TMDs) arise, which are dependencies induced through memory aliasing. Specifically, when multiple such scalar memory access operations are vectorized, memory aliasing problems can occur because the addresses accessed in one lane for one vectorized scalar memory access operation are different from the addresses used in another vectorized scalar memory access operation. Addresses accessed in different lanes of a scalar memory access operation can have memory aliasing issues. By way of example only, if a scalar load operation is followed by a scalar store operation, and multiple iterations of those load and store operations are vectorized such that, for example, a vector store operatio...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

An apparatus and method for speculatively vectorizing program code are provided. The apparatus includes processing circuitry to execute program code, the program code including an identified code region, the identified code region including at least a plurality of speculative vector memory access instructions. Execution of each speculative vector memory access instruction is employed to perform speculative vectorization of a series of scalar memory access operations using a plurality of processing lanes. The trace storage is to maintain trace information for each speculative vector memory access instruction, the trace information providing an indication that a memory address is accessed within each lane. Checking circuitry then refers to the trace information during execution of the identified code region by the processing circuitry in order to detect any inter-channel memory hazards resulting from the execution of the plurality of speculative vector memory access instructions. For at least a first type of inter-channel memory hazard, a status storage element is used to maintain an indication of each channel for which the check circuitry has determined that the type of memory hazard exists. The playback determination circuit is then arranged to, upon reaching an end of the identified code region, trigger a re-execution of the identified code region for each channel identified by the state storage element in response to the state storage element identifying at least one channel as having an inter-channel memory hazard. Such methods may significantly increase the ability to vectorize scalar codes, resulting in a significant improvement in performance.

Description

Background technique [0001] The technology relates to apparatus and methods for speculative vectorization of program code. [0002] In seeking to improve performance, vector processing circuits have been developed that enable multiple operations to be performed in parallel in the multiple processing lanes provided by the vector processing circuits. In association with such vector processing circuits, vector instruction set architectures (ISAs) have been developed that provide new instructions and wider data paths. For example, single instruction multiple data (SIMD) vector processing circuits include multiple processing elements that can simultaneously perform the same operation on multiple different data sets in order to take advantage of data-level parallelism. Thus, a single vector instruction may specify one or more vectors of input data values, where the input data values ​​within each vector are processed within corresponding parallel processing lanes within the vector ...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Applications(China)
IPC IPC(8): G06F9/38G06F9/30G06F9/345
CPCG06F9/3834G06F9/30036G06F9/3838G06F9/3861G06F9/30076G06F9/3842G06F9/345G06F9/38873G06F9/3887G06F9/30038G06F9/3004G06F9/3555
Inventor 蒂莫西·马丁·琼斯孙鹏贾科莫·加布雷利
Owner ARM LTD