CN102707952A - User description based programming design method on embedded heterogeneous multi-core processor - Google Patents

User description based programming design method on embedded heterogeneous multi-core processor Download PDF

Info

Publication number
CN102707952A
CN102707952A CN2012101510375A CN201210151037A CN102707952A CN 102707952 A CN102707952 A CN 102707952A CN 2012101510375 A CN2012101510375 A CN 2012101510375A CN 201210151037 A CN201210151037 A CN 201210151037A CN 102707952 A CN102707952 A CN 102707952A
Authority
CN
China
Prior art keywords
task
parallel
heterogeneous multi
primitive
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2012101510375A
Other languages
Chinese (zh)
Inventor
翟文正
胡越黎
周俊
王龙杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN2012101510375A priority Critical patent/CN102707952A/en
Publication of CN102707952A publication Critical patent/CN102707952A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

The invention relates to a user description based programming design method on an embedded heterogeneous multi-core processor. The method includes the steps that a user configures a guide through an image interface to perform description of a heterogeneous multi-core processor platform and a task, a parallel mode is set, an element task is established and registered, a task relation graph (directed acyclic graph (DAG)) is generated, the element task is subjected to a static assignment on the heterogeneous multi-core processor, and processor platform characteristics, parallel demands and task assignment are expressed in a configuration file mode (extensible markup language (XML)). Then the element task after a configuration file is subjected to a parallel analysis is embedded into a position of a heterogeneous multi-core framework code task label, a corresponding serial source program is constructed, a serial compiler is invoked, and finally an executable code on the heterogeneous multi-core processor can be generated. By means of the user description based programming design method on the embedded heterogeneous multi-core processor, parallel programming practices such as developing a parallel compiler on a general personal computer (PC) or a high-performance computing platform, establishing a parallel programming language and porting a parallel library are effectively avoided, the difficulty of developing a parallel program on the heterogeneous multi-core processor platform in the embedded field is greatly reduced, the purpose of parallel programming based on the user description and parallelization interactive guide is achieved.

Description

The Programming Methodology of describing based on the user on the embedded heterogeneous multi-core processor
Technical field
The present invention relates in general to heterogeneous multi-nucleus processor parallel programming field, the Programming Methodology of describing based on the user on particularly a kind of embedded heterogeneous multi-core processor.
Background technology
The continuous progress of integrated circuit technology and the development of processor system; Make a plurality of core set of different structure, function, status, power consumption and operational performance be formed in a chip formation heterogeneous multi-processor SOC(system on a chip) (Heterogeneous Multi-processor System-on-chips; HMPSoCs); Executed in parallel through application program on it obtains higher execution efficient; Satisfied the demand of fields such as consumer electronics product and network multimedia, become the main fluid architecture of Embedded System Design in high-performance, real-time, cost and power consumption.
The embedded heterogeneous multi-core processor designs to the specific area problem, adopts primary and secondary structure usually, and main nuclear is designed to general processor, in order to the operation system, is responsible for the control flow of system resource management and operating load; A plurality ofly be designed to application specific processor, under main nuclear control, carry out certain type of special computing from nuclear.Distribute to each core to various tasks through the task division of labor and division and handle the task of oneself being good at, realized the optimization configuration of resource.
The typical embedded heterogeneous multi-nucleus processor is like Sony, and the Cell BE of Toshiba and IBM research and development handles wideband multimedia of future generation and graphical application with high-level efficiency, low-power consumption; The OMAP of TI issue is widely used in embedded products such as smart mobile phone and palm PC, also has the Nomadik of STMicroelectronics, and the DIOPSIS chip of ATMEL etc.
The SOC(system on a chip) that appears as of heterogeneous polynuclear technology brings new direction in the breakthrough of multinuclear development of times and Moore's Law; But its software support technology that lags behind hardware advances is challenged with system design to using exploitation, and is how simple and easy, be the primary problem of solution for HMPSoCs exploitation concurrent program efficiently.
Present three kinds of approach of concurrent development: the explicit use multiple programming of (1) programmer technological development application program, because of the limitation that is subject to existing language, platform with find the solution the complex nature of the problem, can not promote; (2) implinit parallelism exploitation.It is automatic or semi-automatic with the serial program parallelization to depend on parallel compiler, and parallel compiler exploitation difficulty and concurrency efficient are not high; (3) OpenMP in high-performance field, MPI parallel library.The monolateral heterogeneous structure pattern of considering embedded HMPSoCs reaches the harsh requirement at aspects such as storage, real-time and power consumptions; And the complicated dirigibility of different field multicore architecture, classic method such as exploitation parallel programming language, parallel compiler, transplanting parallel library and the multi-core parallel concurrent programming and the compiling that are not suitable for solving embedded HMPSoCs.
Literature search through to prior art is found; Chinese patent 200510026587.4 provides a kind of user guided serial application problem semi-automatic parallel method based on first task; This method will convert the concurrent program based on message transmission (MPI) to based on object-oriented serial Java code after user's guide parallel process.Patent 200610117051.8 provides a kind of semi-automatic parallel method towards the big field of serial program code quantity, and through User Interface, the realization serial program is changed to the concurrent program source-to-source.But these methods all are the parallel application that is intended for the cluster high-performance computing sector, are not suitable for or propose effective solution in built-in field.
Summary of the invention
The objective of the invention is to overcome the complicacy of traditional parallel Programming, the Programming Methodology of describing based on the user on a kind of embedded heterogeneous multi-core processor is provided.
For achieving the above object, design of the present invention is following:
The user carries out the description of heterogeneous multi-nucleus processor platform and task through the graphical interfaces configuration wizard; Parallel schema is set; Primitive task creation and registration; Task graph of a relation (DAG) generation and primitive task realize processor platform characteristic, parallel demand and task assignment are expressed with the form (XML) of configuration file in the static allocation of heterogeneous multi-nucleus processor.The primitive task of resolving behind the configuration file that will walk abreast then embeds heterogeneous polynuclear skeleton code corresponding task label place, constructs corresponding serial source program, through calling the serial compilation tool, finally generates executable code on the heterogeneous multi-nucleus processor.
According to above-mentioned design, the present invention realizes that through following technical scheme concrete operations step of the present invention is following:
1. analysis parallelization
Application demand in the analysis field problem also takes out problem framework, investigates whether to be fit to the parallelization processing, whether can be decomposed into a series of difference in functionality tasks that can calculate simultaneously more among a small circle, and then the parallel schema that relies between setting the tasks.The MS master-slave formula architectural framework of embedded heterogeneous multi-core can be supported the demand of multiple parallel computation patterns such as using task sowing, flowing water, divide and rule.
2. the heterogeneous multi-nucleus processor platform is described
Description comprises the contents such as compilation tool chain that kind, instruction set, number, running frequency, storage space and each nuclear of isomery nuclear adapt to.
3. parallel subtasks is described
Description comprises between parameter that language, task type, task that path, task load size, task that task number, task name, task are preserved adopt transmit, task contents such as dependence.
4. primitive task creation
Having confirmed best appointment nuclear, the subtask that load is suitable and granularity is moderate is defined as the primitive task.Data dependence is data input and output etc. between the primitive task, a plurality of primitive tasks of no correlativity can be on different IPs executed in parallel.Support the intertask communication mode to provide means such as signal lamp, message queue, shared memory; The primitive task registers to the primitive storehouse after the task description device is created.
5. import master/slave core framework code
The structure of program code under the different parallel schemas in the embedded heterogeneous multi-core application and development, rule is in addition abstract in skeleton code joins in the system, become the template that concurrent program generates.
6. instruct parallelization alternately
The heterogeneous polynuclear concurrency is embodied in a plurality of processor cores in the two or more various tasks of the concurrent execution of synchronization.Utilize the graphic configuring interface of interactive wizard, the guiding user accomplishes relevant parallelization work.Particular content comprises:
(1) engineering is created.Last concurrent program of isomery nuclear and target executable program that this project will comprise the primitive storehouse, will generate, skeleton code etc.
(2) parallel schema is selected.According to problem analysis framework in the step 1, confirm suitable parallel schema.
(3) DAG generates automatically and confirms.The correctness of logic between parallel subtasks verification task description that step (3) is described and task.
(4) primitive Task Distribution.According to heterogeneous platform characteristic and each parallel subtasks characteristic, the primitive Task Distribution that verification is correct is to different processor cores.
7. the parallel source program of master/slave nuclear generates
A built-in application program begins from the control type task usually, carries out a series of calculation type tasks relevant with application then, at last again with the control type task termination.Import master/slave core framework code according to step 5, and describe parallelization configuration file XML, be inserted into respective frame code label place to the primitive task after parallel the parsing and generate serial source program on this processor core according to the user of step 6 generation.
8. can carry out concurrent program generates.
Compilation tool during invoke user is described, but executed in parallel code on the heterogeneous polynuclear generated.
9. test result
The master/slave nuclear concurrent program that generates does not guarantee that disposable compiling passes through, and problem such as uses with like the disappearance of header file, different programming language and needs further edit-modify.Through repeating said process, finally generate correct executable program code.
 
The present invention has following conspicuous outstanding substantive distinguishing features and marked improvement compared with prior art:
The user does not need the professional knowledge of multiple programming, only needs less workload can realize the application and development on the embedded heterogeneous multi-core, has reduced the concurrent program development difficulty; Let the programmer from the lengthy and tedious bottom message communicating API of complicacy, free, the purpose that only need write the serial task code relevant, an algorithm that sets the tasks just can reach parallel Programming with the field service logic.
The present invention has effectively evaded such as developing parallel compiler (realizing the serial program parallelization but seek parallel codes automatically from the serial source program) on universal PC or the high-performance calculation platform; Found parallel programming language; Transplant the way of multiple programmings such as parallel storehouse; But also needn't be before existing serial program parallel codes the parallel method of explaining of additional formatsization; Describe the purpose that reaches parallel Programming with the parallelization interactive wizard based on the user, greatly reduce the difficulty of on built-in field heterogeneous multi-nucleus processor platform, developing concurrent program.Consider the exploitation of complicated applications on the heterogeneous polynuclear platform of multiple processor cores number more, the embedded heterogeneous multi-core parallel Programming method of describing based on the user has obvious superiority.
Description of drawings
Fig. 1 is a principle of the invention framework synoptic diagram.
Fig. 2 is the embedded heterogeneous multi-core processor architecture model that the present invention is directed to.
Fig. 3 is relevant primitive task description figure in the embodiment of the invention.
Fig. 4 is that relevant concurrency is described the primitive task configuration file that the back generates in the embodiment of the invention.
Fig. 5 be in the embodiment of the invention relevant concurrency main nuclear that the back generates is described, from the core framework code.
Embodiment
The preferred embodiments of the present invention combine detailed description of the drawings following:
Embodiment one:
Referring to Fig. 1 ~ 4; The parallel Programming method of describing based on the user on this embedded heterogeneous multi-core processor; It is characterized in that; Comprise the following steps: that the user carries out the description of heterogeneous multi-nucleus processor platform and task through the graphical interfaces configuration wizard, parallel schema is set, primitive task creation and registration; Task graph of a relation (DAG) generation and primitive task realize processor platform characteristic, parallel demand and task assignment are expressed with the form (XML) of configuration file in the static allocation of heterogeneous multi-nucleus processor; The primitive task of resolving behind the configuration file that will walk abreast then embeds heterogeneous polynuclear skeleton code corresponding task label place, constructs corresponding serial source program, through calling the serial compilation tool, finally generates executable code on the heterogeneous multi-nucleus processor; Need further software development kit to be achieved, comprising:
(1) platform and task description device: be used to describe model information and corresponding compilation tool chains such as the kind that comprises isomery nuclear, instruction set, number, running frequency, storage space, task attribute is like dependence etc. between the parameter that language, task type, the task that the path that task number, task name, task are preserved, task load size, task adopt transmitted, task.
(2) the primitive storehouse makes up: having confirmed best appointment nuclear, the subtask that load is suitable and granularity is moderate is defined as the primitive task.Data dependence is data input and output etc. between the primitive task, a plurality of primitive tasks of no correlativity can be on different IPs executed in parallel.The primitive task registers to the primitive storehouse after the task description device is created, corresponding its specific primitive storehouse of different field problem.
(3) task graph of a relation (DAG) generates: the task of finding the solution to step (1) is described, concern map generalization according to task, and the correctness of logic between validation task description and task is for the next stage Task Distribution lays the foundation.
(4) primitive Task Distribution.According to heterogeneous platform characteristic and each parallel subtasks characteristic, the primitive Task Distribution that verification is correct is to different processor cores.
(5) skeleton code.The structure of program code under the different parallel schemas in the embedded heterogeneous multi-core application and development, rule is in addition abstract in skeleton code joins in the system, become the template that master/slave nuclear concurrent program generates.Should make up different master/slave core framework codes to different parallel computation patterns.
(6) XML generates and resolves.Be used for the mutual configuration information of parallelization is saved as the unified XML file; The parallel parsing realized with the embedding of primitive task at ATL, correctly to construct the serial source program code fragment on a plurality of nuclears of isomery;
Operation steps is following:
Step 1: analyze parallelization;
Step 2: the heterogeneous multi-nucleus processor platform is described;
Step 3: parallel subtasks is described;
Step 4: primitive task creation;
Step 5: import master/slave core framework code;
Step 6: instruct parallelization alternately;
Step 7: the parallel source program of master/slave nuclear generates;
Step 8: can carry out concurrent program and generate;
Step 9: test result.
Embodiment two:
Referring to Fig. 1 ~ 5, the parallel Programming method of describing based on the user on this embedded heterogeneous multi-core processor, its operation steps is following:
1. analysis parallelization
Application demand in the analysis field problem also takes out problem framework, investigates whether to be fit to the parallelization processing, whether can be decomposed into a series of difference in functionality tasks that can calculate simultaneously more among a small circle, and then the parallel schema that relies between setting the tasks.The MS master-slave formula architectural framework of embedded heterogeneous multi-core can be supported the demand of multiple parallel computation patterns such as using task sowing, flowing water, divide and rule.
2. the heterogeneous multi-nucleus processor platform is described
Description comprises the contents such as compilation tool chain that kind, instruction set, number, running frequency, storage space and each nuclear of isomery nuclear adapt to.
3. parallel subtasks is described
Description comprises between parameter that language, task type, task that path, task load size, task that task number, task name, task are preserved adopt transmit, task contents such as dependence.
4. primitive task creation
Having confirmed best appointment nuclear, the subtask that load is suitable and granularity is moderate is defined as the primitive task.Data dependence is data input and output etc. between the primitive task, a plurality of primitive tasks of no correlativity can be on different IPs executed in parallel.Support the intertask communication mode to provide means such as signal lamp, message queue, shared memory; The primitive task registers to the primitive storehouse after the task description device is created.
5. import master/slave core framework code
The structure of program code under the different parallel schemas in the embedded heterogeneous multi-core application and development, rule is in addition abstract in skeleton code joins in the system, become the template that concurrent program generates.
6. instruct parallelization alternately
The heterogeneous polynuclear concurrency is embodied in a plurality of processor cores in the two or more various tasks of the concurrent execution of synchronization.Utilize the graphic configuring interface of interactive wizard, the guiding user accomplishes relevant parallelization work.Particular content comprises:
(1) engineering is created.Last concurrent program of isomery nuclear and target executable program that this project will comprise the primitive storehouse, will generate, skeleton code etc.
(2) parallel schema is selected.According to problem analysis framework in the step 1, confirm suitable parallel schema.
(3) DAG generates automatically and confirms.The correctness of logic between parallel subtasks verification task description that step (3) is described and task.
(4) primitive Task Distribution.According to heterogeneous platform characteristic and each parallel subtasks characteristic, the primitive Task Distribution that verification is correct is to different processor cores.
7. the parallel source program of master/slave nuclear generates
A built-in application program begins from the control type task usually, carries out a series of calculation type tasks relevant with application then, at last again with the control type task termination.Import master/slave core framework code according to step 5, and describe parallelization configuration file XML, be inserted into respective frame code label place to the primitive task after parallel the parsing and generate serial source program on this processor core according to the user of step 6 generation.
8. can carry out concurrent program generates
Compilation tool during invoke user is described, but executed in parallel code on the heterogeneous polynuclear generated.
9. test result
The master/slave nuclear concurrent program that generates does not guarantee that disposable compiling passes through, and problem such as uses with like the disappearance of header file, different programming language and needs further edit-modify.Through repeating said process, finally generate correct executable program code.
Embodiment three:
Like Fig. 1, shown in 2, principle of the invention framework synoptic diagram.
The realization that 1 heterogeneous multi-nucleus processor platform is described
By the user through the graphical interfaces configuration wizard to main nuclear on the heterogeneous polynuclear platform (control nuclear) with from the input of nuclear (operation core) information, realize the basic modeling of hardware platform and abstract.
The realization of 2 primitive task descriptions
According to the task description device inter-related task parameter is provided by the user.
The realization that 3 parallel tasks distribute
Dependence generates DAG figure automatically between the task of going up by respectively examining behind the task description, after the user confirms, distributes the optimum of realization isomery Task Distribution fully.
4 configuration files generate
The primitive task description figure of embodiment as shown in Figure 3 through aforementioned 1,2,3 embodiments, generates primitive task configuration file as shown in Figure 4.
5 master/slave core framework codes are realized
5.1 framework is realized through template code
Like Fig. 5, extract under the set parallel schema skeleton code of serial program on the master/slave nuclear.Skeleton code should open at the developer and do further editor, renewal.
5.2 label is realized
Label is a kind of mark that marks in advance in the template inserting the calculation task position.
New template changed and saved as to template and label can in real time according to user's request, to satisfy the exploitation of parallel application demand on the specific area particular platform.
The generation of 6 master/slave nuclear parallel codes
Like Fig. 1,5, after parallel parsing user describes the XML configuration file of generation, embed master/slave core framework code respective markers place to the primitive task of describing, registering, generate serial source program correct on the master/slave nuclear.
Through above step, parallel demand task generates the parallel codes that can compile respectively, move on the master/slave nuclear in the concurrency task configuration back of describing based on the user.After main nuclear start-up code loading tasks, heterogeneous polynuclear begins concurrent working.

Claims (7)

1. the parallel Programming method of describing based on the user on the embedded heterogeneous multi-core processor; It is characterized in that; Comprise the following steps: that the user carries out the description of heterogeneous multi-nucleus processor platform and task through the graphical interfaces configuration wizard; Parallel schema is set; Primitive task creation and registration, task graph of a relation (DAG) generation and primitive task realize processor platform characteristic, parallel demand and task assignment are expressed with the form (XML) of configuration file in the static allocation of heterogeneous multi-nucleus processor; The primitive task of resolving behind the configuration file that will walk abreast then embeds heterogeneous polynuclear skeleton code corresponding task label place, constructs corresponding serial source program, through calling the serial compilation tool, finally generates executable code on the heterogeneous multi-nucleus processor; Need further software development kit to be achieved, comprising:
(1) platform and task description device: be used to describe model information and corresponding compilation tool chains such as the kind that comprises isomery nuclear, instruction set, number, running frequency, storage space, task attribute is like dependence etc. between the parameter that language, task type, the task that the path that task number, task name, task are preserved, task load size, task adopt transmitted, task;
(2) the primitive storehouse makes up: having confirmed best appointment nuclear, the subtask that load is suitable and granularity is moderate is defined as the primitive task;
Data dependence is data input and output etc. between the primitive task, a plurality of primitive tasks of no correlativity can be on different IPs executed in parallel;
The primitive task registers to the primitive storehouse after the task description device is created, corresponding its specific primitive storehouse of different field problem;
(3) task graph of a relation (DAG) generates: the task of finding the solution to step (1) is described, concern map generalization according to task, and the correctness of logic between validation task description and task is for the next stage Task Distribution lays the foundation;
(4) primitive Task Distribution;
According to heterogeneous platform characteristic and each parallel subtasks characteristic, the primitive Task Distribution that verification is correct is to different processor cores;
(5) skeleton code;
The structure of program code under the different parallel schemas in the embedded heterogeneous multi-core application and development, rule is in addition abstract in skeleton code joins in the system, become the template that master/slave nuclear concurrent program generates;
Should make up different master/slave core framework codes to different parallel computation patterns;
(6) XML generates and resolves;
Be used for the mutual configuration information of parallelization is saved as the unified XML file; The parallel parsing realized with the embedding of primitive task at ATL, correctly to construct the serial source program code fragment on a plurality of nuclears of isomery;
Operation steps is following:
Step 1: analyze parallelization;
Step 2: the heterogeneous multi-nucleus processor platform is described;
Step 3: parallel subtasks is described;
Step 4: primitive task creation;
Step 5: import master/slave core framework code;
Step 6: instruct parallelization alternately;
Step 7: the parallel source program of master/slave nuclear generates;
Step 8: can carry out concurrent program and generate;
Step 9: test result.
2. the parallel Programming method of describing based on the user on the embedded heterogeneous multi-core processor as claimed in claim 1 is characterized in that the user describes content and mainly comprises: the description of processor platform and task;
Interactive wizard is an interactive graphics (IG) interface, accomplishes engineering through this interface guiding user and creates, and parallel schema is set, primitive task creation and registration, task graph of a relation (DAG) generate and the primitive task in the distribution of heterogeneous multi-nucleus processor etc.
3. the parallel Programming method of describing based on the user on the embedded heterogeneous multi-core processor as claimed in claim 1; It is characterized in that; The heterogeneous polynuclear concurrency is embodied in a plurality of processor cores in the two or more various tasks of the concurrent execution of synchronization, and the granularity that concurrency is decomposed is a task level.
4. the parallel Programming method of describing based on the user on the embedded heterogeneous multi-core processor as claimed in claim 1 is characterized in that said user description information is all preserved with the XML formatted file.
5. the parallel Programming method of describing based on the user on the embedded heterogeneous multi-core processor as claimed in claim 1; It is characterized in that said parallel schema is meant the supported task sowing of MS master-slave formula architectural framework, the flowing water of embedded heterogeneous multi-core, computation schema such as divide and rule.
6. the parallel Programming method of describing based on the user on the embedded heterogeneous multi-core processor as claimed in claim 1 is characterized in that, between the primitive task correlativity with semaphore, shared storage, formation etc. as synchronization mechanism.
7. the parallel Programming method of describing based on the user on the embedded heterogeneous multi-core processor as claimed in claim 1; It is characterized in that the serial source program is to embed heterogeneous polynuclear skeleton code corresponding task label place through the primitive task behind the parsing configuration file that will walk abreast to construct on the heterogeneous polynuclear.
CN2012101510375A 2012-05-16 2012-05-16 User description based programming design method on embedded heterogeneous multi-core processor Pending CN102707952A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012101510375A CN102707952A (en) 2012-05-16 2012-05-16 User description based programming design method on embedded heterogeneous multi-core processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012101510375A CN102707952A (en) 2012-05-16 2012-05-16 User description based programming design method on embedded heterogeneous multi-core processor

Publications (1)

Publication Number Publication Date
CN102707952A true CN102707952A (en) 2012-10-03

Family

ID=46900776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012101510375A Pending CN102707952A (en) 2012-05-16 2012-05-16 User description based programming design method on embedded heterogeneous multi-core processor

Country Status (1)

Country Link
CN (1) CN102707952A (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929723A (en) * 2012-11-06 2013-02-13 无锡江南计算技术研究所 Method for dividing parallel program segment based on heterogeneous multi-core processor
CN103226513A (en) * 2013-04-25 2013-07-31 中国人民解放军信息工程大学 Dependence measuring method for nonlinear subscript expression based on quadratic programming model
CN105474172A (en) * 2013-08-19 2016-04-06 高通股份有限公司 Efficient directed acyclic graph pattern matching to enable code partitioning and execution on heterogeneous processor cores
WO2016119546A1 (en) * 2015-01-30 2016-08-04 Huawei Technologies Co., Ltd. Method and apparatus for realizing self-timed parallelized many-core processor
CN108885776A (en) * 2016-03-24 2018-11-23 富士胶片株式会社 Image processing apparatus, image processing method and image processing program
CN110045992A (en) * 2019-04-24 2019-07-23 北京翼辉信息技术有限公司 A kind of general-purpose system and method suitable for multicore board
CN110221838A (en) * 2019-05-28 2019-09-10 中国科学院高能物理研究所 A method of the optimization of program Automated Design is carried out based on genetic algorithm and directed acyclic graph
US10580190B2 (en) 2017-10-20 2020-03-03 Westghats Technologies Private Limited Graph based heterogeneous parallel processing system
CN111651208A (en) * 2020-05-08 2020-09-11 上海交通大学 Modal parallel computing method and system for heterogeneous many-core parallel computer
CN111880796A (en) * 2020-07-30 2020-11-03 西安微电子技术研究所 Multi-core model architecture implementation method and system
CN112083956A (en) * 2020-09-15 2020-12-15 哈尔滨工业大学 Heterogeneous platform-oriented automatic management system for complex pointer data structure
CN112527514A (en) * 2021-02-08 2021-03-19 浙江地芯引力科技有限公司 Multi-core security chip processor based on logic expansion and processing method thereof
CN113296091A (en) * 2021-04-26 2021-08-24 江苏中科西北星信息科技有限公司 System isomerism millimeter wave radar fusion method
CN116150455A (en) * 2023-04-17 2023-05-23 华能信息技术有限公司 Heterogeneous data analysis method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1687897A (en) * 2005-06-09 2005-10-26 上海交通大学 User guided program semi-automatic parallelizing method
CN1932766A (en) * 2006-10-12 2007-03-21 上海交通大学 Semi-automatic parallel method of large serial program code quantity-oriented field
US20080222620A1 (en) * 2007-02-14 2008-09-11 The Mathworks, Inc. Parallel programming computing system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1687897A (en) * 2005-06-09 2005-10-26 上海交通大学 User guided program semi-automatic parallelizing method
CN1932766A (en) * 2006-10-12 2007-03-21 上海交通大学 Semi-automatic parallel method of large serial program code quantity-oriented field
US20080222620A1 (en) * 2007-02-14 2008-09-11 The Mathworks, Inc. Parallel programming computing system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陆鑫达: "《异构并行计算及其调度策略》", 《计算机工程》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929723A (en) * 2012-11-06 2013-02-13 无锡江南计算技术研究所 Method for dividing parallel program segment based on heterogeneous multi-core processor
CN102929723B (en) * 2012-11-06 2015-07-08 无锡江南计算技术研究所 Method for dividing parallel program segment based on heterogeneous multi-core processor
CN103226513A (en) * 2013-04-25 2013-07-31 中国人民解放军信息工程大学 Dependence measuring method for nonlinear subscript expression based on quadratic programming model
CN103226513B (en) * 2013-04-25 2015-12-09 中国人民解放军信息工程大学 Based on the dependence method of testing of the non-linear subscript expression of quadratic programming model
CN105474172B (en) * 2013-08-19 2018-11-09 高通股份有限公司 The efficient directed acyclic graph pattern match for dividing for realizing code and being executed on heterogeneous processor kernel
CN105474172A (en) * 2013-08-19 2016-04-06 高通股份有限公司 Efficient directed acyclic graph pattern matching to enable code partitioning and execution on heterogeneous processor cores
WO2016119546A1 (en) * 2015-01-30 2016-08-04 Huawei Technologies Co., Ltd. Method and apparatus for realizing self-timed parallelized many-core processor
US10318297B2 (en) 2015-01-30 2019-06-11 Huawei Technologies Co., Ltd. Method and apparatus for operating a self-timed parallelized multi-core processor
CN108885776B (en) * 2016-03-24 2022-09-27 富士胶片株式会社 Image processing apparatus, image processing method, and storage medium
CN108885776A (en) * 2016-03-24 2018-11-23 富士胶片株式会社 Image processing apparatus, image processing method and image processing program
US10580190B2 (en) 2017-10-20 2020-03-03 Westghats Technologies Private Limited Graph based heterogeneous parallel processing system
CN110045992A (en) * 2019-04-24 2019-07-23 北京翼辉信息技术有限公司 A kind of general-purpose system and method suitable for multicore board
CN110045992B (en) * 2019-04-24 2020-03-13 北京翼辉信息技术有限公司 Universal system and method suitable for multi-core board card
CN110221838A (en) * 2019-05-28 2019-09-10 中国科学院高能物理研究所 A method of the optimization of program Automated Design is carried out based on genetic algorithm and directed acyclic graph
CN111651208A (en) * 2020-05-08 2020-09-11 上海交通大学 Modal parallel computing method and system for heterogeneous many-core parallel computer
CN111651208B (en) * 2020-05-08 2023-06-20 上海交通大学 Modal parallel computing method and system for heterogeneous many-core parallel computer
CN111880796A (en) * 2020-07-30 2020-11-03 西安微电子技术研究所 Multi-core model architecture implementation method and system
CN111880796B (en) * 2020-07-30 2023-03-14 西安微电子技术研究所 Multi-core model architecture implementation method and system
CN112083956A (en) * 2020-09-15 2020-12-15 哈尔滨工业大学 Heterogeneous platform-oriented automatic management system for complex pointer data structure
CN112527514A (en) * 2021-02-08 2021-03-19 浙江地芯引力科技有限公司 Multi-core security chip processor based on logic expansion and processing method thereof
CN113296091A (en) * 2021-04-26 2021-08-24 江苏中科西北星信息科技有限公司 System isomerism millimeter wave radar fusion method
CN116150455A (en) * 2023-04-17 2023-05-23 华能信息技术有限公司 Heterogeneous data analysis method
CN116150455B (en) * 2023-04-17 2023-07-18 华能信息技术有限公司 Heterogeneous data analysis method

Similar Documents

Publication Publication Date Title
CN102707952A (en) User description based programming design method on embedded heterogeneous multi-core processor
Ceng et al. MAPS: an integrated framework for MPSoC application parallelization
CN104035781B (en) A kind of method of quick exploitation isomerism parallel program
Cohen et al. Processor virtualization and split compilation for heterogeneous multicore embedded systems
CN102708088A (en) CPU/GPU (Central Processing Unit/ Graphic Processing Unit) cooperative processing method oriented to mass data high-performance computation
Ziogas et al. Productivity, portability, performance: Data-centric Python
Marzulo et al. Couillard: Parallel programming via coarse-grained data-flow compilation
Cordes et al. Automatic extraction of pipeline parallelism for embedded heterogeneous multi-core platforms
Reyes et al. Optimization strategies in different CUDA architectures using llCoMP
Cordes Automatic parallelization for embedded multi-core systems using high level cost models
Holmes et al. Planning for performance: Enhancing achievable performance for MPI through persistent collective operations
Saà-Garriga et al. OMP2MPI: Automatic MPI code generation from OpenMP programs
CN103207786A (en) Progressive intelligent backtracking vectorization code tuning method
Adak et al. Model‐based code generation for HLA federates
Ovatman et al. Exploring implicit parallelism in class diagrams
Bertolacci et al. Using the loop chain abstraction to schedule across loops in existing code
Gebremedhin Parmodelica: Extending the algorithmic subset ofmodelica with explicit parallel languageconstructs for multi-core simulation
Bosilca et al. From serial loops to parallel execution on distributed systems
CN1316359C (en) User guided program semi-automatic parallelizing method
Llopard et al. A parallel action language for embedded applications and its compilation flow
Posadas et al. Improving the design flow for parallel and heterogeneous architectures running real-time applications: The PHARAON FP7 project
Szafaryn et al. Trellis: Portability across architectures with a high-level framework
Rocklin Mathematically informed linear algebra codes through term rewriting
Liao et al. Automatic parallelization using OpenMP based on STL semantics
Ulloa et al. Software parallelization and distribution for heterogeneous multi-core embedded systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20121003