CN111026443B - 一种基于算法特征的simt系统 - Google Patents

一种基于算法特征的simt系统 Download PDF

Info

Publication number
CN111026443B
CN111026443B CN201911125573.6A CN201911125573A CN111026443B CN 111026443 B CN111026443 B CN 111026443B CN 201911125573 A CN201911125573 A CN 201911125573A CN 111026443 B CN111026443 B CN 111026443B
Authority
CN
China
Prior art keywords
module
variable
simt
task
feature extraction
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
CN201911125573.6A
Other languages
English (en)
Other versions
CN111026443A (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.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
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 Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201911125573.6A priority Critical patent/CN111026443B/zh
Publication of CN111026443A publication Critical patent/CN111026443A/zh
Application granted granted Critical
Publication of CN111026443B publication Critical patent/CN111026443B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种基于算法特征的SIMT系统,该系统包括SIMT硬件结构约束模块(1)、算法多线程任务分解模块(2)、单线程任务树的生成模块(3)、任务变量特征提取模块(4)、任务控制特征提取模块(5)、变量的存储映射模块(6)和高效算法实现模块(7)。该系统为复杂算法在SIMT结构上的程序设计提供了有效的解决方案,该系统能够快速、高效的指导算法设计,保证算法实现在SIMT结构上执行的高性能和高可靠性。

Description

一种基于算法特征的SIMT系统
技术领域
本发明属于计算机应用领域,涉及一种基于算法特征的SIMT系统。
背景技术
随着视频图像处理、大数据、人工智能、云计算等应用需求的增长,数据量级无限增加,越来越多的处理器采用了SIMT结构,如何设计软件,将以上应用中涉及的复杂算法正确、高效、稳定的运行在SIMT结构上,成为这些热门应用可实施化的关键因素,但是,已公开资料中,尚未发现有关基于算法特征的SIMT系统。
发明内容
发明目的:本发明的目的是提供一种基于算法特征的SIMT系统,面对图像处理、大数据、人工智能、云计算等应用需求中的复杂算法,能够快速、高效的指导算法设计,保证算法实现在SIMT结构上执行的高性能和高可靠性。
技术方案:本发明提供了一种基于算法特征的SIMT系统,该系统包括SIMT硬件结构约束模块(1)、算法多线程任务分解模块(2)、单线程任务树的生成模块(3)、任务变量特征提取模块(4)、任务控制特征提取模块(5)、变量的存储映射模块(6)和高效算法实现模块(7)。
进一步的,所述SIMT硬件结构约束模块(1)根据SIMT硬件结构本身,对软件设计提出一系列约束条件,所述约束条件包括可支持的数据类型,基本操作库,存储模型,线程数量和指令集;
所述数据类型:如果复杂算法中的数据类型SIMT硬件结构不支持,则必须进行类型转换,否则无法在该结构上运行,对于有些无法转换的类型,如双精度浮点型,如果硬件本身不支持,则无法在该结构上运行;
所述基本操作库用于限制SIMT支持的操作;如加减乘除、移位、循环控制、超越函数等,超出基本库支持的操作则无法支持;
所述存储模型用于对数据的存储映射产生影响;
所述线程数量用于限制单次可处理的最大任务量;
所述指令集影响指令的选取及优化。
进一步的,所述算法多线程任务分解模块(2),基于SIMT硬件结构约束模块(1)中的线程数量,将输入的复杂算法任务进行分解,构造多线程任务,多个线程并行执行,处理多个数据任务,多个线程共用一套指令程序,任务分解完成后,输出到(3)单线程任务的生成模块。
进一步的,所述单线程任务树的生成模块(3),用于接收(2)多线程任务分解模块输出的多个线程,针对单一线程,结合SIMT硬件结构约束模块(1)中的可支持的数据类型,基本操作库,构造数据流图,生成变量树,为变量特征提取模块(4)和控制特征提取模块(5)提供依据。
进一步的,所述任务变量特征提取模块(4),基于SIMT硬件结构约束模块(1)中的可支持的数据类型,基本操作库,存储模型,对变量类型、变量关联性及变量的生命周期进行重点分析;
所述变量类型是指确定变量包括浮点、定点、向量和整型中的一种或多种;
所述变量关联性是指变量和变量之间的关联;
所述变量的生命周期是指变量在整个任务执行过程中的有效期。
进一步的,所述任务控制特征提取模块(5),基于SIMT硬件结构约束模块(1)中的基本操作库和存储模型,根据单线程变量树生成模块(3)所得的变量树,确定当前任务的流程控制结构、公共操作以及输入和输出变量;
所述流程控制结构包括顺序结构、分支结构和循环结构;
所述公共操作为提取出当前任务可以先行计算的公共操作。
所述输入和输出变量:明确当前任务的输入和输出变量,为(6)变量的存储映射模块中输入变量映射和输出变量映射提供依据。
进一步的,所述变量的存储映射模块(6),基于SIMT硬件结构约束模块(1)中的存储模型,根据变量特征提取模块(4)和控制特征提取模块(5)所得结果,将变量映射到SIMT的存储结构中,分别确定全局变量、常量、局部变量、输入变量和输出变量的存储地址、大小、访问方式。
进一步的,所述高效算法实现模块(7)基于SIMT硬件结构约束模块(1)中的指令集限制,根据控制特征提取模块(5)以及变量的存储映射模块(6)的结果,实现汇编代码的编写。
进一步的,所述高效算法实现模块(7)包括如下单元:选取最优指令单元、指令排布单元和寄存器约束约束单元。
有益效果:
本发明面对图像处理、大数据、人工智能、云计算等应用需求中的复杂算法,针对SIMT本身的硬件结构约束,提出了一种基于算法特征的SIMT系统,为复杂算法在SIMT结构上的程序设计提供了有效的解决方案,该系统能够快速、高效的指导算法设计,保证算法实现在SIMT结构上执行的高性能和高可靠性。
附图说明
图1为本发明具体实施原理图。
具体实施方式
下面对本发明做进一步详细说明。
如图1所示,提供了一种基于算法特征的SIMT系统,该系统包括SIMT硬件结构约束模块(1)、算法多线程任务分解模块(2)、单线程任务树的生成模块(3)、任务变量特征提取模块(4)、任务控制特征提取模块(5)、变量的存储映射模块(6)和高效算法实现模块(7)。
所述SIMT硬件结构约束模块(1)根据SIMT硬件结构本身,对软件设计提出一系列约束条件,所述约束条件包括可支持的数据类型,基本操作库,存储模型,线程数量和指令集;
所述基本操作库用于限制SIMT支持的操作;
所述存储模型用于对数据的存储映射产生影响;
所述线程数量用于限制单次可处理的最大任务量;
所述指令集影响指令的选取及优化。
所述算法多线程任务分解模块(2),基于SIMT硬件结构约束模块(1)中的线程数量,将输入的复杂算法任务进行分解,构造多线程任务,多个线程并行执行,处理多个数据任务,多个线程共用一套指令程序,任务分解完成后,输出到(3)单线程任务的生成模块。
所述单线程任务树的生成模块(3),用于接收(2)多线程任务分解模块输出的多个线程,针对单一线程,结合SIMT硬件结构约束模块(1)中的可支持的数据类型,基本操作库,构造数据流图,生成变量树,为变量特征提取模块(4)和控制特征提取模块(5)提供依据。
所述任务变量特征提取模块(4),基于SIMT硬件结构约束模块(1)中的可支持的数据类型,基本操作库,存储模型,对变量类型、变量关联性及变量的生命周期进行重点分析;
所述变量类型是指确定变量包括浮点、定点、向量和整型中的一种或多种;
所述变量关联性是指变量和变量之间的关联;
所述变量的生命周期是指变量在整个任务执行过程中的有效期。
所述任务控制特征提取模块(5),基于SIMT硬件结构约束模块(1)中的基本操作库和存储模型,根据单线程变量树生成模块(3)所得的变量树,确定当前任务的流程控制结构、公共操作以及输入和输出变量;
所述流程控制结构包括顺序结构、分支结构和循环结构;
所述公共操作为提取出当前任务可以先行计算的公共操作。
所述变量的存储映射模块(6),基于SIMT硬件结构约束模块(1)中的存储模型,根据变量特征提取模块(4)和控制特征提取模块(5)所得结果,将变量映射到SIMT的存储结构中,分别确定全局变量、常量、局部变量、输入变量和输出变量的存储地址、大小、访问方式。
所述高效算法实现模块(7)基于SIMT硬件结构约束模块(1)中的指令集限制,根据控制特征提取模块(5)以及变量的存储映射模块(6)的结果,实现汇编代码的编写。
所述高效算法实现模块(7)包括如下单元:选取最优指令单元、指令排布单元和寄存器约束约束单元。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (5)

1.一种基于算法特征的SIMT系统,其特征在于,所述系统包括SIMT硬件结构约束模块(1)、算法多线程任务分解模块(2)、单线程任务树的生成模块(3)、任务变量特征提取模块(4)、任务控制特征提取模块(5)、变量的存储映射模块(6)和高效算法实现模块(7),
所述SIMT硬件结构约束模块(1)根据SIMT硬件结构本身,对软件设计提出一系列约束条件;
所述算法多线程任务分解模块(2),基于SIMT硬件结构约束模块(1)中的线程数量,将输入的复杂算法任务进行分解,构造多线程任务,多个线程并行执行,处理多个数据任务,多个线程共用一套指令程序,任务分解完成后,输出到单线程任务的生成模块(3);
所述单线程任务树的生成模块(3),用于接收多线程任务分解模块(2)输出的多个线程,针对单一线程,结合SIMT硬件结构约束模块(1)中的可支持的数据类型,基本操作库,构造数据流图,生成变量树,为变量特征提取模块(4)和控制特征提取模块(5)提供依据;
所述任务变量特征提取模块(4),基于SIMT硬件结构约束模块(1)中的可支持的数据类型,基本操作库,存储模型,对变量类型、变量关联性及变量的生命周期进行重点分析;
所述任务控制特征提取模块(5),基于SIMT硬件结构约束模块(1)中的基本操作库和存储模型,根据单线程变量树生成模块(3)所得的变量树,确定当前任务的流程控制结构、公共操作以及输入和输出变量;
所述变量的存储映射模块(6),基于SIMT硬件结构约束模块(1)中的存储模型,根据变量特征提取模块(4)和控制特征提取模块(5)所得结果,将变量映射到SIMT的存储结构中,分别确定全局变量、常量、局部变量、输入变量和输出变量的存储地址、大小、访问方式;
所述高效算法实现模块(7)基于SIMT硬件结构约束模块(1)中的指令集限制,根据控制特征提取模块(5)以及变量的存储映射模块(6)的结果,实现汇编代码的编写。
2.根据权利要求1所述的基于算法特征的SIMT系统,其特征在于,
所述基本操作库用于限制SIMT支持的操作;
所述存储模型用于对数据的存储映射产生影响;
所述线程数量用于限制单次可处理的最大任务量;
所述指令集影响指令的选取及优化。
3.根据权利要求2所述的基于算法特征的SIMT系统,其特征在于,
所述变量类型是指确定变量包括浮点、定点、向量和整型中的一种或多种;
所述变量关联性是指变量和变量之间的关联;
所述变量的生命周期是指变量在整个任务执行过程中的有效期。
4.根据权利要求2所述的基于算法特征的SIMT系统,其特征在于,
所述流程控制结构包括顺序结构、分支结构和循环结构;
所述公共操作为提取出当前任务可以先行计算的公共操作。
5.根据权利要求1所述的基于算法特征的SIMT系统,其特征在于,所述高效算法实现模块(7)包括如下单元:选取最优指令单元、指令排布单元和寄存器约束约束单元。
CN201911125573.6A 2019-11-18 2019-11-18 一种基于算法特征的simt系统 Active CN111026443B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911125573.6A CN111026443B (zh) 2019-11-18 2019-11-18 一种基于算法特征的simt系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911125573.6A CN111026443B (zh) 2019-11-18 2019-11-18 一种基于算法特征的simt系统

Publications (2)

Publication Number Publication Date
CN111026443A CN111026443A (zh) 2020-04-17
CN111026443B true CN111026443B (zh) 2023-05-05

Family

ID=70205726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911125573.6A Active CN111026443B (zh) 2019-11-18 2019-11-18 一种基于算法特征的simt系统

Country Status (1)

Country Link
CN (1) CN111026443B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567583A (zh) * 2011-12-30 2012-07-11 中国科学院自动化研究所 一种视频算法和硬件实现联合开发的方法
CN103677761A (zh) * 2013-12-11 2014-03-26 中国资源卫星应用中心 一种卫星遥感数据快速处理系统
CN104111818A (zh) * 2013-04-22 2014-10-22 三星电子株式会社 用于批量线程处理的处理器、处理方法和代码生成设备
CN106462556A (zh) * 2015-05-08 2017-02-22 华为技术有限公司 处理信号的方法及装置
CN108920412A (zh) * 2018-06-20 2018-11-30 中国科学院计算技术研究所 针对异构计算机体系结构的算法自动调优方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9111059B2 (en) * 2012-11-01 2015-08-18 Stc.Unm System and methods for dynamic management of hardware resources

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567583A (zh) * 2011-12-30 2012-07-11 中国科学院自动化研究所 一种视频算法和硬件实现联合开发的方法
CN104111818A (zh) * 2013-04-22 2014-10-22 三星电子株式会社 用于批量线程处理的处理器、处理方法和代码生成设备
CN103677761A (zh) * 2013-12-11 2014-03-26 中国资源卫星应用中心 一种卫星遥感数据快速处理系统
CN106462556A (zh) * 2015-05-08 2017-02-22 华为技术有限公司 处理信号的方法及装置
CN108920412A (zh) * 2018-06-20 2018-11-30 中国科学院计算技术研究所 针对异构计算机体系结构的算法自动调优方法

Also Published As

Publication number Publication date
CN111026443A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
Ho et al. Exploiting half precision arithmetic in Nvidia GPUs
US10140251B2 (en) Processor and method for executing matrix multiplication operation on processor
CN105487838A (zh) 一种动态可重构处理器的任务级并行调度方法与系统
JP2014106715A (ja) 演算処理装置の制御プログラム、演算処理装置の制御方法および演算処理装置
US20140244968A1 (en) Mapping vector representations onto a predicated scalar multi-threaded system
CN110717584A (zh) 神经网络编译方法、编译器、计算机设备及可读存储介质
CN112559053B (zh) 可重构处理器数据同步处理方法及装置
RU2644535C2 (ru) Архитектура параллельной вычислительной системы
Vokorokos et al. A multicore architecture focused on accelerating computer vision computations
CN111026443B (zh) 一种基于算法特征的simt系统
US20170269931A1 (en) Method and Computing System for Handling Instruction Execution Using Affine Register File on Graphic Processing Unit
CN112051981B (zh) 一种数据流水线计算路径结构及单线程数据流水线系统
Monil et al. Laris: Targeting portability and productivity for lapack codes on extreme heterogeneous systems by using iris
CN111886593A (zh) 数据处理系统和数据处理方法
US10235167B2 (en) Microprocessor with supplementary commands for binary search and associated search method
de Dinechin et al. Deep learning inference on the mppa3 manycore processor
US20130166887A1 (en) Data processing apparatus and data processing method
Murthy et al. A compiler transformation to overlap communication with dependent computation
Catalán et al. Scalable hybrid loop-and task-parallel matrix inversion for multicore processors
Mi et al. An automatic parallelizer for Coarse-Grained Reconfigurable processor
Shao et al. Map-reduce inspired loop parallelization on CGRA
Wang et al. Energy efficient affine register file for GPU microarchitecture
US11714653B1 (en) Fine-grained pipelining using index space mapping
JP2004021890A (ja) データ処理装置
Yang et al. Acceleration of feature subset selection using CUDA

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant