[go: up one dir, main page]

CN102902569B - The information processing method that soft or hard calculates grain is distinguished under heterogeneous reconfigurable environment - Google Patents

The information processing method that soft or hard calculates grain is distinguished under heterogeneous reconfigurable environment Download PDF

Info

Publication number
CN102902569B
CN102902569B CN201110440693.2A CN201110440693A CN102902569B CN 102902569 B CN102902569 B CN 102902569B CN 201110440693 A CN201110440693 A CN 201110440693A CN 102902569 B CN102902569 B CN 102902569B
Authority
CN
China
Prior art keywords
grain
computing
calculation
parallel
hard
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.)
Active
Application number
CN201110440693.2A
Other languages
Chinese (zh)
Other versions
CN102902569A (en
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.)
Tongji University
Shanghai Redneurons Co Ltd
Original Assignee
Tongji University
Shanghai Redneurons Co Ltd
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 Tongji University, Shanghai Redneurons Co Ltd filed Critical Tongji University
Priority to CN201110440693.2A priority Critical patent/CN102902569B/en
Publication of CN102902569A publication Critical patent/CN102902569A/en
Application granted granted Critical
Publication of CN102902569B publication Critical patent/CN102902569B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

本发明涉及一种在异构可重构环境下区分软硬算粒的信息处理方法,包括以下步骤:1)算粒的定义;2)算粒的计算机描述;3)在使用XML描述算粒时,区分所有算粒的软硬件特性进行软硬件算粒描述;4)算粒的组合和执行。与现有技术相比,本发明具有提高编程效率等优点。

The invention relates to an information processing method for distinguishing soft and hard computing granules in a heterogeneous reconfigurable environment, comprising the following steps: 1) defining computing granules; 2) computer description of computing granules; 3) describing computing granules using XML When , distinguish the software and hardware characteristics of all computing particles to describe the software and hardware computing particles; 4) Combination and execution of computing particles. Compared with the prior art, the present invention has the advantages of improving programming efficiency and the like.

Description

在异构可重构环境下区分软硬算粒的信息处理方法Information processing method for distinguishing soft and hard computing particles in a heterogeneous reconfigurable environment

技术领域 technical field

本发明涉及一种编程方法,尤其是涉及一种在异构可重构环境下区分软硬算粒的信息处理方法。The invention relates to a programming method, in particular to an information processing method for distinguishing soft and hard computing particles in a heterogeneous reconfigurable environment.

背景技术 Background technique

编程模型是对并行程序的一种程序抽象、刻画和简化,它屏蔽了并行计算机复杂的硬件细节,给程序员提供了一幅计算机硬件、软件系统透明的简图,从而为并行程序设计的充分开发硬件的并行性提供便利。并行程序的编程模型、运行环境、调试环境等都要比串行程序复杂得多,提供良好的高性能计算开发环境,一直是学术界和工业界所追求的目标。The programming model is a program abstraction, characterization and simplification of parallel programs. It shields the complex hardware details of parallel computers and provides programmers with a transparent diagram of computer hardware and software systems, thus providing sufficient support for parallel program design. The parallelism of the development hardware provides convenience. The programming model, operating environment, and debugging environment of parallel programs are much more complicated than those of serial programs. Providing a good high-performance computing development environment has always been the goal pursued by academia and industry.

在并行环境中,现有的编程模型包括共享内存模型、消息传递模型、数据并行模型、面向对象模型和函数和逻辑模型。对应的具体编程方式如下:In the parallel environment, existing programming models include shared memory model, message passing model, data parallel model, object-oriented model and function and logic model. The corresponding specific programming method is as follows:

(1)共享内存模型(1) Shared memory model

Parallel命令、工作区共享、并行工作共享的组合构造、master命令和同步构造。Parallel commands, work area sharing, combined constructs for parallel work sharing, master commands, and synchronization constructs.

(2)消息传递模型(2) Message passing model

在消息传递模型中,一个并行程序由多个并行进程组成。每个并行中拥有自己的数据并对其进行计算操作。任务之间数据的交换是通过显式的消息传递语句来完成的,用户必须显示地通过发送和接收消息来实现处理器之间的数据交换。In the message passing model, a parallel program consists of multiple parallel processes. Each parallel holds its own data and performs computational operations on it. Data exchange between tasks is accomplished through explicit message passing statements, and users must explicitly send and receive messages to achieve data exchange between processors.

(3)数据并行模型(3) Data Parallel Model

数据并行模型是为SIMD,SPMD之类的计算机开发的一种编程模型。在这种模型中,任务被静态或半静态地映射到进程,并且每个任务都对不同数据进行相似的操作。Data Parallel Model is a programming model developed for computers like SIMD, SPMD. In this model, tasks are statically or semi-statically mapped to processes, and each task performs similar operations on different data.

(4)面向对象模型(4) Object-oriented model

面向对象模型的天然的并行性,以及它所具有的封装性、继承性、多态性等特点,可以降低并行程序设计的复杂性,提高并行程序的可读性、可维护性、可移植性。The natural parallelism of the object-oriented model, as well as its encapsulation, inheritance, polymorphism and other characteristics, can reduce the complexity of parallel program design and improve the readability, maintainability and portability of parallel programs .

(5)函数和逻辑模型(5) Function and logic model

函数和逻辑程序设计模型的基本思路是将并行处理的硬件和AI软件结合起来研究。包括函数编程模型和逻辑式模型。The basic idea of the function and logic programming model is to combine parallel processing hardware and AI software for research. Including functional programming model and logical model.

然而,每种编程模型都对应有各自的缺点,以消息传递模型中的MPI为例,MPI是消息传递函数库的一个标准规范,它提供了一个非专利(公开)且独立于平台的消息传递库且与语言形式无关并提供与Fortran和C的捆绑,具有很好的可移植性。但是与大多数从Fortran或C扩展而来的扩展语言类似,在编程模型级上无论是可扩展性还是异构性都有所不足。However, each programming model has its own shortcomings. Take MPI in the message passing model as an example. MPI is a standard specification of a message passing function library, which provides a non-proprietary (public) and platform-independent message passing The library has nothing to do with the language form and provides bindings with Fortran and C, which has good portability. But like most extension languages derived from Fortran or C, it lacks either extensibility or heterogeneity at the programming model level.

发明内容 Contents of the invention

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种提高了编程效率的在异构可重构环境下区分软硬算粒的信息处理方法。The object of the present invention is to provide an information processing method for distinguishing between soft and hard computing particles in a heterogeneous reconfigurable environment, in order to overcome the above-mentioned defects in the prior art.

本发明的目的可以通过以下技术方案来实现:The purpose of the present invention can be achieved through the following technical solutions:

一种在异构可重构环境下区分软硬算粒的信息处理方法,其特征在于,包括以下步骤:An information processing method for distinguishing soft and hard computing particles in a heterogeneous reconfigurable environment, characterized in that it includes the following steps:

1)算粒的定义;1) Definition of counting particles;

2)算粒的计算机描述;2) Computer description of counting particles;

3)在使用XML描述算粒时,区分所有算粒的软硬件特性进行软硬件算粒描述;3) When using XML to describe computing granules, distinguish the software and hardware characteristics of all computing granules to describe software and hardware computing granules;

4)算粒的组合和执行。4) Combination and execution of computing particles.

所述的步骤1)中的算粒的定义包括:Described step 1) in the definition of counting particle comprises:

计算,该计算为实现这个算粒的一系列计算方法;Calculation, which is a series of calculation methods to realize this calculation particle;

存贮量,该存储量为参与计算的数据;Storage capacity, which is the data involved in the calculation;

通信,该通信为计算过程中所涉及的包括输入、输出在内的所有数据传输;Communication, which refers to all data transmissions involved in the calculation process, including input and output;

计算、存贮、通信这三者之间存在可能的轮转关系;There is a possible rotation relationship between computing, storage, and communication;

算粒相关的并行关系。Calculate the parallel relationship related to particles.

所述的算粒相关的并行关系包括空间并行、时间并行、异构并行和重构结构并行。The parallel relationships related to computing particles include space parallelism, time parallelism, heterogeneous parallelism and reconstruction structure parallelism.

所述的算粒的计算机描述为通过C++语言来描述算粒。The computing granule computer is described by using C++ language to describe the computing granule.

所述的算粒的组合包括算粒串行、算粒并行和算粒嵌套。The combination of computing granules includes computing granules serial, computing granules parallel and computing granules nesting.

与现有技术相比,本发明具有以下优点:Compared with the prior art, the present invention has the following advantages:

在系统描述阶段,如在使用高级语言描述的时候,即区分所有算粒的软硬件特性,进行软硬件算粒的描述,使得程序无需后期进行软硬件划分,而只需通过对算粒描述的分析或是编译器编译,直接进行软硬件综合过程。In the system description stage, for example, when using a high-level language description, it is necessary to distinguish the software and hardware characteristics of all computing particles, and describe the software and hardware computing particles, so that the program does not need to divide the software and hardware in the later stage, but only needs to describe the computing particles. Analysis or compiler compilation, directly carry out the process of software and hardware synthesis.

附图说明 Description of drawings

图1为现有的软硬件划分的流程图;Fig. 1 is the flowchart of existing software and hardware division;

图2为本发明的软硬件划分的流程图;Fig. 2 is the flowchart of software and hardware division of the present invention;

图3为本发明的算粒的仿UML表示示意图;Fig. 3 is the imitation UML representation schematic diagram of computing grain of the present invention;

图4为本发明的算粒串行组合示意图;Fig. 4 is a schematic diagram of the serial combination of calculation particles of the present invention;

图5为本发明的算粒并行组合示意图;Fig. 5 is a schematic diagram of parallel combination of counting particles of the present invention;

图6为本发明的算粒嵌套组合示意图;Fig. 6 is a schematic diagram of the nested combination of calculation particles of the present invention;

图7为本发明的软件算粒描述组成元素示意图;Fig. 7 is a schematic diagram of the composition elements of the software computing granule description of the present invention;

图8为本发明的硬件算粒描述组成元素示意图。FIG. 8 is a schematic diagram of elements describing components of a hardware computing granule in the present invention.

具体实施方式 Detailed ways

下面结合附图和具体实施例对本发明进行详细说明。The present invention will be described in detail below in conjunction with the accompanying drawings and specific embodiments.

实施例Example

如图1所示,通常来说,在异构可重构环境下,在进行软硬件协同设计的时候,是先进行系统的统一描述,或者将系统使用高级软件语言统一描述,或者使用硬件描述语言统一描述,然后再此基础上对应用程序进行软硬件的手动或者自动划分。如图2所示,本发明提出在系统描述阶段,如在使用高级语言描述的时候,即让程序员区分所有算粒的软硬件特性,进行软硬件算粒的描述,使得程序无需后期进行软硬件划分,而只需通过对算粒描述的分析或是编译器编译,直接进行软硬件综合过程。As shown in Figure 1, generally speaking, in a heterogeneous reconfigurable environment, when performing software-hardware co-design, a unified description of the system is first performed, or the system is described uniformly using a high-level software language, or using a hardware description The language is described uniformly, and then on this basis, the software and hardware of the application program are manually or automatically divided. As shown in Figure 2, the present invention proposes that in the system description stage, for example, when using a high-level language description, the programmer is allowed to distinguish the software and hardware characteristics of all computing particles and describe the software and hardware computing particles, so that the program does not need to perform software Hardware division, and only through the analysis of the calculation particle description or compiler compilation, the software and hardware synthesis process can be directly carried out.

本发明编程方法,包括给出算粒的定义,算粒的计算机描述、算粒的xml描述、算粒的组合和执行等等,来更好地进行算粒级别的编程任务。另外,针对异构重构环境,给出区分软硬算粒的编程方法。The programming method of the present invention includes the definition of computing granules, the computer description of computing granules, the xml description of computing granules, the combination and execution of computing granules, etc., so as to better perform programming tasks at the computing granule level. In addition, for the heterogeneous reconfiguration environment, a programming method for distinguishing soft and hard computing particles is given.

面向算粒的编程方法是指,以高性能并行计算为目的,结合面向对象思想编程思想,加入并行因素、重构异构因素而设计出来的一种新的编程方法,使用面向算粒的方法指导并行程序设计的过程。所谓面向算粒是指以算粒为核心,结合高性能并行思想,分析、设计并行应用程序的机制。Computing grain-oriented programming method refers to a new programming method designed for the purpose of high-performance parallel computing, combined with object-oriented programming ideas, adding parallel factors, and reconstructing heterogeneous factors. Guides the process of parallel program design. The so-called computing particle-oriented refers to the mechanism of analyzing and designing parallel applications with computing particles as the core and combining high-performance parallel thinking.

在一个算粒中,计算是指实现这个算粒的一系列计算方法(类似函数),存贮量是参与计算的数据,通信是指计算过程中所涉及的包括输入、输出在内的所有数据传输。更重要的是,计算、存贮、通信这三者之间存在可能的轮转关系,以及算粒相关的并行因素。总而言之,一个算粒体,包含计算、存贮、通信、三者间的轮转关系和三者的并行性质等。算粒的仿UML图形表示如图3所示。从上图可以看出,算粒包含空间并行、时间并行、异构并行(优化匹配)、重构结构并行(通信)这四重并行性。In a calculation granule, calculation refers to a series of calculation methods (similar functions) to realize this calculation granule, storage capacity refers to the data involved in the calculation, and communication refers to all data involved in the calculation process, including input and output. transmission. More importantly, there is a possible rotation relationship between computing, storage, and communication, as well as parallel factors related to computing particles. All in all, a computing granule includes calculation, storage, communication, the rotation relationship between the three, and the parallel nature of the three. Figure 3 shows the imitation UML graphical representation of computing granules. As can be seen from the above figure, computing particles include four parallelisms: space parallelism, time parallelism, heterogeneous parallelism (optimized matching), and reconstructed structure parallelism (communication).

本发明将算粒通过扩展C++语言,用计算机语言描述如下:In the present invention, computing particles are described as follows in computer language by extending the C++ language:

另外,本发明使用XML脚本语言对算粒进行描述,以便之后描述组合算粒的执行,为了统一规范,约定该描述语言为Grain Description Language(GDL)。一个GDL文档的主要结构是类似这样的:In addition, the present invention uses XML scripting language to describe computing grains, so as to describe the execution of combined computing grains later. In order to unify the specification, the description language is agreed to be Grain Description Language (GDL). The main structure of a GDL document is something like this:

算粒的组合:若干基本算粒的串、并以及嵌套,形成一个复合的算粒,完成某个复杂的计算功能,称为算粒的组合,组合而成的算粒称为复合算粒。Combination of computing granules: The combination, combination and nesting of several basic computing granules to form a composite computing granule to complete a complex computing function is called the combination of computing granules, and the combined computing granules are called composite computing granules .

如图4所示,算粒的串行;如图5所示,算粒的并行;如图6所示,算粒的嵌套。另外,基本算粒经串行、并行和嵌套组合而成的大算粒。As shown in Figure 4, the serialization of computing granules; as shown in Figure 5, the parallel computing of computing granules; as shown in Figure 6, the nesting of computing granules. In addition, the basic calculation grains are composed of serial, parallel and nested large calculation grains.

针对异构可重构环境,提出区分软硬件算粒的编程方法,在该方法中,一切以算粒为核心,同时基于软硬件划分的前提,把算粒分为软件算粒和硬件算粒。软硬算粒的描述组成元素如图7和8所示。Aiming at the heterogeneous reconfigurable environment, a programming method that distinguishes software and hardware computing granules is proposed. In this method, all computing granules are centered on computing granules, and based on the premise of software and hardware division, computing granules are divided into software computing granules and hardware computing granules. . The description composition elements of soft and hard computing grains are shown in Figures 7 and 8.

Claims (3)

1. under heterogeneous reconfigurable environment, distinguish the information processing method that soft or hard calculates grain, it is characterized in that, comprise the following steps:
1) definition of grain is calculated;
2) computing machine calculating grain describes;
3) when using XML to describe calculation grain, the software and hardware characteristic distinguishing all calculation grains carries out the description of software and hardware calculation grain;
4) combination and the execution of grain is calculated;
Described step 1) in the definition of calculation grain comprise:
Calculate, this is calculated as and realizes the series of computation method that this calculates grain;
Store, this is stored as the data participating in calculating;
Communication, this communication is all data transmission comprising input, export involved in computation process;
Calculate, store, communicating exists possible wheel between this three and transfer the registration of Party membership, etc. from one unit to another;
Calculate the concurrency relation that grain is relevant;
The combination of described calculation grain comprises the serial of calculation grain, calculation grain is parallel nested with calculation grain.
2. a kind of information processing method distinguishing soft or hard calculation grain under heterogeneous reconfigurable environment according to claim 1, it is characterized in that, it is parallel that the concurrency relation that described calculation grain is relevant comprises spatial parallelism, time parallel, isomerism parallel and reconfigured geometry.
3. a kind of information processing method distinguishing soft or hard calculation grain under heterogeneous reconfigurable environment according to claim 1, it is characterized in that, the computing machine of described calculation grain is described as describing calculation grain by C Plus Plus.
CN201110440693.2A 2011-12-23 2011-12-23 The information processing method that soft or hard calculates grain is distinguished under heterogeneous reconfigurable environment Active CN102902569B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110440693.2A CN102902569B (en) 2011-12-23 2011-12-23 The information processing method that soft or hard calculates grain is distinguished under heterogeneous reconfigurable environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110440693.2A CN102902569B (en) 2011-12-23 2011-12-23 The information processing method that soft or hard calculates grain is distinguished under heterogeneous reconfigurable environment

Publications (2)

Publication Number Publication Date
CN102902569A CN102902569A (en) 2013-01-30
CN102902569B true CN102902569B (en) 2015-10-28

Family

ID=47574815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110440693.2A Active CN102902569B (en) 2011-12-23 2011-12-23 The information processing method that soft or hard calculates grain is distinguished under heterogeneous reconfigurable environment

Country Status (1)

Country Link
CN (1) CN102902569B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1065611A2 (en) * 1995-10-23 2001-01-03 Interuniversitair Microelektronica Centrum Vzw A design environment for hardware/software co-design
CN101493862A (en) * 2009-01-15 2009-07-29 北京航空航天大学 Software and hardware cooperating design method for arithmetic acceleration
CN101763265A (en) * 2010-01-19 2010-06-30 湖南大学 Procedure level software and hardware collaborative design automatized development method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234609B2 (en) * 2007-12-21 2012-07-31 Cadence Design Systems, Inc. Method and system for implementing top down design and verification of an electronic design

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1065611A2 (en) * 1995-10-23 2001-01-03 Interuniversitair Microelektronica Centrum Vzw A design environment for hardware/software co-design
CN101493862A (en) * 2009-01-15 2009-07-29 北京航空航天大学 Software and hardware cooperating design method for arithmetic acceleration
CN101763265A (en) * 2010-01-19 2010-06-30 湖南大学 Procedure level software and hardware collaborative design automatized development method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于SystemC的系统级软硬件协同设计新模型;王泉等;《计算机技术与应用》;20090831(第8期);第148-151页 *
基于过程级编程模型的软硬件协同设计框架;刘滔等;《计算机工程》;20100228;第36卷(第4期);第259-261,264页 *

Also Published As

Publication number Publication date
CN102902569A (en) 2013-01-30

Similar Documents

Publication Publication Date Title
van der Wolf et al. Design and programming of embedded multiprocessors: an interface-centric approach
CN104142845B (en) CT image reconstructions back projection accelerated method based on OpenCL-To-FPGA
Wolf et al. Multiprocessor system-on-chip (MPSoC) technology
TWI768383B (en) Instructions for operating accelerator circuit
Kim et al. FPGA-based CNN inference accelerator synthesized from multi-threaded C software
CN113256475A (en) Graph computation optimization
Wang et al. SODA: Software defined FPGA based accelerators for big data
CN104375805A (en) Method for simulating parallel computation process of reconfigurable processor through multi-core processor
CN102708088A (en) CPU/GPU (Central Processing Unit/ Graphic Processing Unit) cooperative processing method oriented to mass data high-performance computation
WO2012155010A1 (en) Automatic load balancing for heterogeneous cores
CN114981777A (en) Techniques for Power Balancing Multiple Chips
Bosilca et al. Performance portability of a GPU enabled factorization with the DAGuE framework
CN107194864A (en) CT 3-dimensional reconstructions accelerated method and its device based on heterogeneous platform
CN113495865A (en) Asynchronous data movement pipeline
Arevalo et al. Programming the Cell Broadband Engine
CN113282880A (en) Application programming interface for accelerating matrix operations
CN115543641A (en) synchronization barrier
CN116830101A (en) Tensor modification based on processing resources
Sun et al. Application-specific heterogeneous multiprocessor synthesis using extensible processors
Fell et al. The marenostrum experimental exascale platform (meep)
Liu et al. Parallel implementation and optimization of regional ocean modeling system (roms) based on sunway sw26010 many-core processor
CN102902569B (en) The information processing method that soft or hard calculates grain is distinguished under heterogeneous reconfigurable environment
Alaei et al. A survey on heterogeneous CPU–GPU architectures and simulators
Paulin Programming challenges & solutions for multi-processor SoCs: an industrial perspective
CN116400926A (en) Scalar engine processing method and device for artificial intelligence chip

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20130130

Assignee: Shanghai red array Mdt InfoTech Ltd

Assignor: Shanghai RedNeurons Information Technology Co., Ltd.

Contract record no.: 2018410000007

Denomination of invention: Information processing method for distinguishing software and hardware calculation grains in heterogeneous reconfigurable environment

Granted publication date: 20151028

License type: Common License

Record date: 20181009

EC01 Cancellation of recordation of patent licensing contract
EC01 Cancellation of recordation of patent licensing contract

Assignee: Shanghai Hongzhen Information Science & Technology Co.,Ltd.

Assignor: Shanghai Red Neurons Co.,Ltd.

Contract record no.: 2018410000007

Date of cancellation: 20210209