Method for quickly developing heterogeneous parallel program

A serial program, heterogeneous technology, applied in the field of rapid development of heterogeneous parallel programs, to achieve the effect of strong practicability, reducing bug debugging time, and shortening the development cycle

Active Publication Date: 2014-09-10
三多(杭州)科技有限公司
View PDF2 Cites 20 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

Refactoring existing code may introduce bugs, and developers need to

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 quickly developing heterogeneous parallel program
  • Method for quickly developing heterogeneous parallel program
  • Method for quickly developing heterogeneous parallel program

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0041] The method in the embodiment of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiment of the present invention. The described embodiments are only some, but not all, embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without making creative work belong to the protection scope of the present invention.

[0042] as attached figure 1 As shown, a method for rapidly developing heterogeneous parallel programs provided by the present invention first performs performance analysis and hotspot testing on serial CPU programs, and then inserts OpenACC precompiled instructions on the basis of existing codes to carry out heterogeneous parallelization of programs ; Use a compiler that supports the OpenACC standard to compile the heterogeneous parallelized program code for the running software and hardware platfor...

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 quickly developing a heterogeneous parallel program, and relates to performance analysis of a CPU (central processing unit) serial program and transplantation of a heterogeneous parallel program. The method includes: firstly, performing performance and algorithm analysis on the CPU serial program, and positioning a performance bottleneck and parallelizability of the program; secondly, inserting an OpenACC pre-compilation command on the basis of an original code to obtain a heterogeneous parallel code which can be executed in heterogeneous parallel environment; compiling and executing the code according to specified parameters of a hardware and software platform, and determining whether further optimization is needed or not according to a program run result. Compared with the prior art, the method has the advantages that existing codes need not to be reconstructed; multilanguage support is realized, and languages such as C/C++ and FORTRAN (formula translator) are supported; cross-platform and cross-hardware are realized, operating systems such as Linux, Windows, Mac and the like are supported, and hardware such as Nvidia, GPU of AMD and Intel Xeon Phi is supported. By the method which is high in practicality and easy to popularize, existing programs can be parallelized efficiently, and the programs are enabled to make full use of computing power of a heterogeneous system.

Description

technical field [0001] The invention relates to the fields of computer application and high-performance computing, in particular to a method for rapidly developing heterogeneous parallel programs. Background technique [0002] In 2006, NVIDIA Corporation launched the G80, a software-programmable graphics processor for general-purpose computing, which contains 128 stream microprocessors. In order to tap the computing potential of its graphics processing unit (GPU, Graphic Processing Unit), Nvidia launched the Computing Unified Device Architecture (CUDA, Compute Unified Device Architecture) programming model and a software tool development kit for its product line in May 2008 . Since then, GPU programming and its high performance have gradually been accepted and valued by scientific research and the market, and have been widely used in many fields such as computational fluid dynamics, biopharmaceuticals, finance, and energy. Nvidia's Tesla coprocessors, which are dedicated t...

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/44
Inventor 刘铁刚何晓峰赵越
Owner 三多(杭州)科技有限公司
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products