CN105474172B - 用于实现代码划分和在异构处理器内核上执行的高效有向非循环图模式匹配 - Google Patents

用于实现代码划分和在异构处理器内核上执行的高效有向非循环图模式匹配 Download PDF

Info

Publication number
CN105474172B
CN105474172B CN201480045480.1A CN201480045480A CN105474172B CN 105474172 B CN105474172 B CN 105474172B CN 201480045480 A CN201480045480 A CN 201480045480A CN 105474172 B CN105474172 B CN 105474172B
Authority
CN
China
Prior art keywords
processor
node
patterns
computing device
combination
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.)
Expired - Fee Related
Application number
CN201480045480.1A
Other languages
English (en)
Chinese (zh)
Other versions
CN105474172A (zh
Inventor
D·杜拉蒂
M·金
C·维克
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN105474172A publication Critical patent/CN105474172A/zh
Application granted granted Critical
Publication of CN105474172B publication Critical patent/CN105474172B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/451Code distribution
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
CN201480045480.1A 2013-08-19 2014-08-11 用于实现代码划分和在异构处理器内核上执行的高效有向非循环图模式匹配 Expired - Fee Related CN105474172B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/969,735 US9201659B2 (en) 2013-08-19 2013-08-19 Efficient directed acyclic graph pattern matching to enable code partitioning and execution on heterogeneous processor cores
US13/969,735 2013-08-19
PCT/US2014/050576 WO2015026554A1 (en) 2013-08-19 2014-08-11 Efficient directed acyclic graph pattern matching to enable code partitioning and execution on heterogeneous processor cores

Publications (2)

Publication Number Publication Date
CN105474172A CN105474172A (zh) 2016-04-06
CN105474172B true CN105474172B (zh) 2018-11-09

Family

ID=51422164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480045480.1A Expired - Fee Related CN105474172B (zh) 2013-08-19 2014-08-11 用于实现代码划分和在异构处理器内核上执行的高效有向非循环图模式匹配

Country Status (5)

Country Link
US (1) US9201659B2 (enExample)
EP (1) EP3036624A1 (enExample)
JP (1) JP2016531366A (enExample)
CN (1) CN105474172B (enExample)
WO (1) WO2015026554A1 (enExample)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10346551B2 (en) * 2013-01-24 2019-07-09 New York University Systems, methods and computer-accessible mediums for utilizing pattern matching in stringomes
US20150046679A1 (en) * 2013-08-07 2015-02-12 Qualcomm Incorporated Energy-Efficient Run-Time Offloading of Dynamically Generated Code in Heterogenuous Multiprocessor Systems
WO2015116195A1 (en) * 2014-01-31 2015-08-06 Hewlett-Packard Development Company, L. P. Performing processing tasks using an auxiliary processing unit
CN110874212B (zh) 2015-06-30 2021-08-20 华为技术有限公司 一种硬件加速方法、编译器以及设备
US20170316060A1 (en) * 2016-04-28 2017-11-02 Microsoft Technology Licensing, Llc Distributed execution of hierarchical declarative transforms
US20180032568A1 (en) * 2016-07-29 2018-02-01 Sysomos L.P. Computing System with Multi-Processor Platform for Accelerating Influence Maximization Computation and Related Methods
US10891326B2 (en) 2017-01-05 2021-01-12 International Business Machines Corporation Representation of a data analysis using a flow graph
JP7132926B2 (ja) * 2017-01-05 2022-09-07 コーニンクレッカ フィリップス エヌ ヴェ コンパイルデバイス及びコンパイル方法
US10318306B1 (en) * 2017-05-03 2019-06-11 Ambarella, Inc. Multidimensional vectors in a coprocessor
US10388039B2 (en) 2017-05-31 2019-08-20 International Business Machines Corporation Accelerating data-driven scientific discovery
US10664278B2 (en) 2017-08-17 2020-05-26 Huawei Technologies Co., Ltd. Method and apparatus for hardware acceleration in heterogeneous distributed computing
US20200249998A1 (en) * 2019-02-01 2020-08-06 Alibaba Group Holding Limited Scheduling computation graph heterogeneous computer system
US10818067B1 (en) * 2019-05-31 2020-10-27 Texas Instruments Incorporated GPU assist using DSP pre-processor system and method
CN111427582B (zh) * 2020-03-30 2023-06-09 飞腾信息技术有限公司 Rtl代码的管理方法、装置、设备及计算机可读存储介质
CN112230931B (zh) * 2020-10-22 2021-11-02 上海壁仞智能科技有限公司 适用于图形处理器的二次卸载的编译方法、装置和介质
US11494357B1 (en) * 2021-07-28 2022-11-08 Practical Posets Llc Directed acyclic graph path addressing
US11580357B1 (en) * 2021-07-28 2023-02-14 Practical Posets Llc Self-organizing generalization hierarchy with bindings of propositions
US12175211B2 (en) * 2021-12-13 2024-12-24 Bank Of America Corporation System and method for creating configurational blocks used for building continuous real-time software logical sequences
CN116264566B (zh) * 2022-08-16 2025-08-26 中移(苏州)软件技术有限公司 一种网络流的硬件辅助加速方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5202975A (en) * 1990-06-11 1993-04-13 Supercomputer Systems Limited Partnership Method for optimizing instruction scheduling for a processor having multiple functional resources
US5613117A (en) * 1991-02-27 1997-03-18 Digital Equipment Corporation Optimizing compiler using templates corresponding to portions of an intermediate language graph to determine an order of evaluation and to allocate lifetimes to temporary names for variables
US6292938B1 (en) * 1998-12-02 2001-09-18 International Business Machines Corporation Retargeting optimized code by matching tree patterns in directed acyclic graphs
CN100377087C (zh) * 2003-05-02 2008-03-26 可递有限公司 生成用于程序代码转换的中间表示的方法和转换器装置
CN101421729A (zh) * 2006-03-03 2009-04-29 奥多比公司 有效表示和搜索数据库中的有向无环图结构的系统和方法
CN102707952A (zh) * 2012-05-16 2012-10-03 上海大学 嵌入式异构多核处理器上基于用户描述的程序设计方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL100987A (en) * 1991-02-27 1995-10-31 Digital Equipment Corp Method and apparatus for compiling code
EP0926594B1 (en) * 1997-12-17 2007-05-23 Hewlett-Packard Company, A Delaware Corporation Method of using primary and secondary processors
GB2380825B (en) * 2001-10-12 2004-07-14 Siroyan Ltd Processors and compiling methods for processors
US20040025151A1 (en) * 2002-07-31 2004-02-05 Shan-Chyun Ku Method for improving instruction selection efficiency in a DSP/RISC compiler
US9038040B2 (en) 2006-01-25 2015-05-19 International Business Machines Corporation Method for partitioning programs between a general purpose core and one or more accelerators
US20100156888A1 (en) * 2008-12-23 2010-06-24 Intel Corporation Adaptive mapping for heterogeneous processing systems
US8458676B2 (en) 2009-06-30 2013-06-04 International Business Machines Corporation Executing platform-independent code on multi-core heterogeneous processors
US8495129B2 (en) 2010-03-16 2013-07-23 Microsoft Corporation Energy-aware code offload for mobile devices
US20110289519A1 (en) * 2010-05-21 2011-11-24 Frost Gary R Distributing workloads in a computing platform
US8918770B2 (en) 2011-08-25 2014-12-23 Nec Laboratories America, Inc. Compiler for X86-based many-core coprocessors
US9098309B2 (en) 2011-09-23 2015-08-04 Qualcomm Incorporated Power consumption optimized translation of object code partitioned for hardware component based on identified operations

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5202975A (en) * 1990-06-11 1993-04-13 Supercomputer Systems Limited Partnership Method for optimizing instruction scheduling for a processor having multiple functional resources
US5613117A (en) * 1991-02-27 1997-03-18 Digital Equipment Corporation Optimizing compiler using templates corresponding to portions of an intermediate language graph to determine an order of evaluation and to allocate lifetimes to temporary names for variables
US6292938B1 (en) * 1998-12-02 2001-09-18 International Business Machines Corporation Retargeting optimized code by matching tree patterns in directed acyclic graphs
CN100377087C (zh) * 2003-05-02 2008-03-26 可递有限公司 生成用于程序代码转换的中间表示的方法和转换器装置
CN101421729A (zh) * 2006-03-03 2009-04-29 奥多比公司 有效表示和搜索数据库中的有向无环图结构的系统和方法
CN102707952A (zh) * 2012-05-16 2012-10-03 上海大学 嵌入式异构多核处理器上基于用户描述的程序设计方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
"Generalized Instruction Selection using SSA-Graphs";Dietmar Ebner等;《LCTES’08: Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems》;20080613;第31-40页 *
"Near-Optimal Instruction Selection on DAGs";David Ryan Koes等;《CGO’08: Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization》;20080410;第45-54页 *
"Optimal Code Selection in DAGs";M.Anton Ertl;《POPL’99:Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages》;19990131;第242-249页 *
"可配置可扩展处理器编译器设计";钟松延;《中国优秀硕士学位论文全文数据库(电子期刊) 信息科技辑》;20120815;I137-15 *
"基于DAG图的自适应代码划分优化算法";周静等;《计算机工程》;20071020;第33卷(第20期);第15-17页 *
"基于可重构处理器的并行优化算法";刘石柱等;《计算机工程》;20121105;第38卷(第21期);第286-289页 *

Also Published As

Publication number Publication date
WO2015026554A1 (en) 2015-02-26
US20150052331A1 (en) 2015-02-19
JP2016531366A (ja) 2016-10-06
US9201659B2 (en) 2015-12-01
EP3036624A1 (en) 2016-06-29
CN105474172A (zh) 2016-04-06

Similar Documents

Publication Publication Date Title
CN105474172B (zh) 用于实现代码划分和在异构处理器内核上执行的高效有向非循环图模式匹配
US11941400B2 (en) Methods and apparatus for intentional programming for heterogeneous systems
US10824420B2 (en) Caching build graphs
CN106716361B (zh) 用于运行时例程冗余跟踪的编译器高速缓存
US9720667B2 (en) Automatic loop vectorization using hardware transactional memory
US11068247B2 (en) Vectorizing conditional min-max sequence reduction loops
US9104434B2 (en) Property accesses in dynamically typed programming languages
US10268454B2 (en) Methods and apparatus to eliminate partial-redundant vector loads
US20170123775A1 (en) Compilation of application into multiple instruction sets for a heterogeneous processor
US20160357531A1 (en) Cross-library framework architecture feature sets
US11733981B2 (en) Methods, systems, articles of manufacture and apparatus to automatically optimize software programs
CN106462584B (zh) 存储过程中多查询乱序执行的系统和方法
Chowdhury et al. Autogen: Automatic discovery of efficient recursive divide-8-conquer algorithms for solving dynamic programming problems
CN114385180A (zh) 一种数据处理方法、装置、设备及计算机存储介质
Tripathy et al. Localityguru: A ptx analyzer for extracting thread block-level locality in gpgpus
US9182960B2 (en) Loop distribution detection program and loop distribution detection method
Varadarajan Polyhedral optimizations of RNA-RNA interaction computations
CN119311278A (zh) 一种自适应循环优化方法、可重构处理器及装置
CN113168327B (zh) 一种多分支跳转处理装置和方法、处理器
JPWO2017204139A1 (ja) データ処理装置、データ処理方法、およびプログラム記録媒体
US20150082443A1 (en) System to automate compliance with licenses of software third-party content
TW202219842A (zh) 產生原始程式碼以為邊緣設備和現有工具鏈構建安全的機器學習引擎
CN109389157A (zh) 一种用户群识别方法和装置及对象群识别方法和装置
CN119088664A (zh) 编译优化选项分组方法、计算机设备及存储介质
Amarasinghe Arachchilage A framework for identification of similarities between multiple algorithms

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181109

Termination date: 20210811