Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Method for many-core circulation partitioning based on multi-version code generation

A code generation, multi-version technology, applied in the computer field, can solve the problems of ineffective use of on-chip storage, affecting the acceleration effect, and low utilization of on-chip storage.

Active Publication Date: 2016-01-13
JIANGNAN INST OF COMPUTING TECH
View PDF12 Cites 6 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

However, because the on-chip storage capacity is very small, only a small amount of data can be loaded, and the unreasonable division of parallel loops will lead to the ineffective use of on-chip storage devices.
If the granularity of loop division is too small, it will lead to frequent DMA, and the utilization rate of on-chip storage is not high. If the granularity of loop division is too large, the data required for calculation cannot be placed in the on-chip storage device, which will seriously affect the acceleration effect.
[0003] On the other hand, for many-core processors with on-chip storage devices, when the compiler uses the computing core array to accelerate the core cycle in parallel, the usual method is to directly access the data on the main memory or follow the default block The granularity divides the loop in parallel and then uses DMA to transfer the data to the on-chip storage before accessing it, neither of which can effectively utilize the on-chip storage

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
  • Method for many-core circulation partitioning based on multi-version code generation

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0010] In order to make the content of the present invention clearer and easier to understand, the content of the present invention will be described in detail below in conjunction with specific embodiments and accompanying drawings.

[0011] In the present invention, the many-core processor is composed of a control core and a computing core array, wherein each computing core has a cache. And among them, a piece of high-speed cache that comes with each computing core is used as on-chip storage, which can perform data transmission with the main memory through direct memory access DMA.

[0012] The invention proposes a method of using a pragma to instruct a parallel compiler to block many-core loops. When the compiler performs parallel transformation on the many-core loop, it determines the granularity of the loop block according to the value indicated by the compiler, thereby generating the corresponding parallel code (different granularity of the loop block generates different...

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

The invention provides a method for many-core circulation partitioning based on multi-version code generation. A many-core processor is composed of control cores and a calculation core array. Each calculation core is provided with a cache, and the cache which each calculation core is provided with serves as an on-chip memory to perform data transmission with a main memory in a memory direct access mode. The method is characterized in that when a compiler performs parallel transformation on many-core circulation, the particle size of circulation partitioning is determined according to the value indicated by the compiler, so that parallel codes of different versions are generated, the compiler performs feedback of use information stored on a chip during running in a code plug-in mounting mode so that the value indicated by the compiler can be correspondingly adjusted according to the use information fed back, and the utilization rate of the on-chip memory is maximized.

Description

technical field [0001] The invention relates to the field of computer technology, in particular to a many-core loop block method based on multi-version code generation. Background technique [0002] For many-core processors with on-chip storage devices, in order to improve computing performance, it is usually necessary to transfer the data required for computing from the main memory to the on-chip storage through DMA (DirectMemoryAccess, memory direct access), which can greatly reduce memory access. Delay. However, because the on-chip storage capacity is very small, only a small amount of data can be loaded, and the unreasonable division of parallel loops will lead to the ineffective use of on-chip storage devices. If the granularity of loop division is too small, it will lead to frequent DMA, and the utilization rate of on-chip storage is not high. If the granularity of loop division is too large, the data required for calculation cannot be put into the on-chip storage dev...

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
IPC IPC(8): G06F9/38
Inventor 尉红梅张立博孙俊姜小成
Owner JIANGNAN INST OF COMPUTING TECH
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products