CN106164862A - 用于编译器优化的存储器参考元数据 - Google Patents

用于编译器优化的存储器参考元数据 Download PDF

Info

Publication number
CN106164862A
CN106164862A CN201580016245.6A CN201580016245A CN106164862A CN 106164862 A CN106164862 A CN 106164862A CN 201580016245 A CN201580016245 A CN 201580016245A CN 106164862 A CN106164862 A CN 106164862A
Authority
CN
China
Prior art keywords
memory
kernel
compiler
processor
runtime
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
CN201580016245.6A
Other languages
English (en)
Chinese (zh)
Inventor
C·C·利姆
D·S·布拉克曼
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 CN106164862A publication Critical patent/CN106164862A/zh
Pending legal-status Critical Current

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation
    • G06F9/45525Optimisation or modification within the same instruction set architecture, e.g. HP Dynamo
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • G06F8/434Pointers; Aliasing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
CN201580016245.6A 2014-04-04 2015-03-19 用于编译器优化的存储器参考元数据 Pending CN106164862A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/245,946 2014-04-04
US14/245,946 US9710245B2 (en) 2014-04-04 2014-04-04 Memory reference metadata for compiler optimization
PCT/US2015/021585 WO2015153143A1 (en) 2014-04-04 2015-03-19 Memory reference metadata for compiler optimization

Publications (1)

Publication Number Publication Date
CN106164862A true CN106164862A (zh) 2016-11-23

Family

ID=52829334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580016245.6A Pending CN106164862A (zh) 2014-04-04 2015-03-19 用于编译器优化的存储器参考元数据

Country Status (6)

Country Link
US (1) US9710245B2 (https=)
EP (1) EP3132347A1 (https=)
JP (1) JP6329274B2 (https=)
KR (1) KR101832656B1 (https=)
CN (1) CN106164862A (https=)
WO (1) WO2015153143A1 (https=)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108470072A (zh) * 2018-03-30 2018-08-31 迅讯科技(北京)有限公司 一种查询编译方法和装置
CN113168399A (zh) * 2019-03-14 2021-07-23 西部数据技术公司 可执行存储器单元
CN114398011A (zh) * 2022-01-17 2022-04-26 安谋科技(中国)有限公司 数据存储方法、设备和介质

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009686B2 (en) * 2011-11-07 2015-04-14 Nvidia Corporation Algorithm for 64-bit address mode optimization
GB2514618B (en) * 2013-05-31 2020-11-11 Advanced Risc Mach Ltd Data processing systems
US9785413B2 (en) 2015-03-06 2017-10-10 Intel Corporation Methods and apparatus to eliminate partial-redundant vector loads
US9824419B2 (en) * 2015-11-20 2017-11-21 International Business Machines Corporation Automatically enabling a read-only cache in a language in which two arrays in two different variables may alias each other
WO2017209876A1 (en) * 2016-05-31 2017-12-07 Brocade Communications Systems, Inc. Buffer manager
US9934009B2 (en) * 2016-06-01 2018-04-03 International Business Machines Corporation Processor that includes a special store instruction used in regions of a computer program where memory aliasing may occur
US10169009B2 (en) 2016-06-01 2019-01-01 International Business Machines Corporation Processor that detects memory aliasing in hardware and assures correct operation when memory aliasing occurs
US10169010B2 (en) 2016-06-01 2019-01-01 International Business Machines Corporation Performing register promotion optimizations in a computer program in regions where memory aliasing may occur and executing the computer program on processor hardware that detects memory aliasing
JP6810380B2 (ja) * 2016-10-07 2021-01-06 日本電気株式会社 ソースプログラム変換システム、ソースプログラム変換方法、及びソースプログラム変換プログラム
US10108404B2 (en) * 2016-10-24 2018-10-23 International Business Machines Corporation Compiling optimized entry points for local-use-only function pointers
CN110121703B (zh) * 2016-12-28 2023-08-01 英特尔公司 用于向量通信的系统和方法
US10547491B2 (en) * 2017-08-28 2020-01-28 Genband Us Llc Transcoding with a vector processing unit
US10540194B2 (en) * 2017-12-21 2020-01-21 International Business Machines Corporation Runtime GPU/CPU selection
US11367160B2 (en) * 2018-08-02 2022-06-21 Nvidia Corporation Simultaneous compute and graphics scheduling
US10884720B2 (en) * 2018-10-04 2021-01-05 Microsoft Technology Licensing, Llc Memory ordering annotations for binary emulation
CN111340678A (zh) * 2018-12-19 2020-06-26 华为技术有限公司 一种数据缓存系统、图形处理器及数据缓存方法
US10872057B1 (en) * 2019-05-23 2020-12-22 Xilinx, Inc. Partitioning in a compiler flow for a heterogeneous multi-core architecture
JP7460902B2 (ja) 2020-06-09 2024-04-03 富士通株式会社 コンパイラプログラム、コンパイル方法、情報処理装置
WO2022031181A1 (en) * 2020-08-03 2022-02-10 Huawei Technologies Co., Ltd Application service metadata encoding and initialization
JP7164267B2 (ja) * 2020-12-07 2022-11-01 インテル・コーポレーション ヘテロジニアスコンピューティングのためのシステム、方法及び装置
EP4276602A1 (de) * 2022-05-12 2023-11-15 Siemens Aktiengesellschaft System mit quellcodeumwandler-spezifizierten speicherbereichen
US20240095024A1 (en) * 2022-06-09 2024-03-21 Nvidia Corporation Program code versions
US12591433B2 (en) * 2023-11-02 2026-03-31 Qualcomm Incorporated Compiler algorithm for GPU prefetching
US20250224938A1 (en) * 2024-01-09 2025-07-10 International Business Machines Corporation Runtime check compiler optimization
CN118409755A (zh) * 2024-05-22 2024-07-30 中山大学 一种基于机器学习的编译优化方法、系统及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205740A1 (en) * 2001-03-29 2004-10-14 Lavery Daniel M. Method for collection of memory reference information and memory disambiguation
US20060059326A1 (en) * 2002-11-21 2006-03-16 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
CN102314342A (zh) * 2010-06-18 2012-01-11 微软公司 用于数据并行编程模型的编译器生成的调用存根
CN102460376A (zh) * 2009-06-26 2012-05-16 英特尔公司 无约束事务存储器(utm)系统的优化
CN103116513A (zh) * 2012-07-13 2013-05-22 北京时代民芯科技有限公司 一种异构多核处理器编译器
US20130132684A1 (en) * 2011-11-18 2013-05-23 Microsoft Organization Automatic optimization for programming of many-core architectures
US8458671B1 (en) * 2008-02-12 2013-06-04 Tilera Corporation Method and system for stack back-tracing in computer programs

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6877088B2 (en) * 2001-08-08 2005-04-05 Sun Microsystems, Inc. Methods and apparatus for controlling speculative execution of instructions based on a multiaccess memory condition
CA2372034A1 (en) 2002-02-14 2003-08-14 Cloakware Corporation Foiling buffer-overflow and alien-code attacks by encoding
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
US7565631B1 (en) 2004-07-02 2009-07-21 Northwestern University Method and system for translating software binaries and assembly code onto hardware
US8886887B2 (en) * 2007-03-15 2014-11-11 International Business Machines Corporation Uniform external and internal interfaces for delinquent memory operations to facilitate cache optimization
US8413126B2 (en) * 2007-06-15 2013-04-02 Cray Inc. Scalar code reduction using shortest path routing
US20090070753A1 (en) 2007-09-07 2009-03-12 International Business Machines Corporation Increase the coverage of profiling feedback with data flow analysis
US8209525B2 (en) 2008-08-15 2012-06-26 Apple Inc. Method and apparatus for executing program code
US8527737B2 (en) * 2010-06-23 2013-09-03 Apple Inc. Using addresses to detect overlapping memory regions
US20120259843A1 (en) * 2011-04-11 2012-10-11 Timothy Child Database acceleration using gpu and multicore cpu systems and methods
US8935683B2 (en) * 2011-04-20 2015-01-13 Qualcomm Incorporated Inline function linking
US8468507B2 (en) 2011-06-10 2013-06-18 Microsoft Corporation Binding executable code at runtime
US20130141443A1 (en) * 2011-12-01 2013-06-06 Michael L. Schmit Software libraries for heterogeneous parallel processing platforms
US9256915B2 (en) * 2012-01-27 2016-02-09 Qualcomm Incorporated Graphics processing unit buffer management
US9734333B2 (en) * 2012-04-17 2017-08-15 Heat Software Usa Inc. Information security techniques including detection, interdiction and/or mitigation of memory injection attacks

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205740A1 (en) * 2001-03-29 2004-10-14 Lavery Daniel M. Method for collection of memory reference information and memory disambiguation
US20060059326A1 (en) * 2002-11-21 2006-03-16 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
US8458671B1 (en) * 2008-02-12 2013-06-04 Tilera Corporation Method and system for stack back-tracing in computer programs
CN102460376A (zh) * 2009-06-26 2012-05-16 英特尔公司 无约束事务存储器(utm)系统的优化
CN102314342A (zh) * 2010-06-18 2012-01-11 微软公司 用于数据并行编程模型的编译器生成的调用存根
US20130132684A1 (en) * 2011-11-18 2013-05-23 Microsoft Organization Automatic optimization for programming of many-core architectures
CN103116513A (zh) * 2012-07-13 2013-05-22 北京时代民芯科技有限公司 一种异构多核处理器编译器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHRISTOS MARGIOLAS等: "HYDA:A Hybrid Dependence Analysis for the adaptive", 《ADAPT "14 PROCEEDINGS OFINTERNATIONAL WORKSHOP ON ADAPTIVE SELF-TUNING COMPUTING SYSTEMS》 *
DMITRY MIKUSHIN等: "KernelGen the design and implementation of a next generation compiler platform for accelerating numerical models on GPUs", 《USI TECHNICAL REPORT SERIES IN INFORMATICS》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108470072A (zh) * 2018-03-30 2018-08-31 迅讯科技(北京)有限公司 一种查询编译方法和装置
CN108470072B (zh) * 2018-03-30 2019-07-09 迅讯科技(北京)有限公司 一种查询编译方法和装置
CN113168399A (zh) * 2019-03-14 2021-07-23 西部数据技术公司 可执行存储器单元
CN113168399B (zh) * 2019-03-14 2023-09-19 西部数据技术公司 可执行存储器单元
CN114398011A (zh) * 2022-01-17 2022-04-26 安谋科技(中国)有限公司 数据存储方法、设备和介质
CN114398011B (zh) * 2022-01-17 2023-09-22 安谋科技(中国)有限公司 数据存储方法、设备和介质

Also Published As

Publication number Publication date
JP6329274B2 (ja) 2018-05-23
EP3132347A1 (en) 2017-02-22
KR101832656B1 (ko) 2018-02-26
US9710245B2 (en) 2017-07-18
WO2015153143A1 (en) 2015-10-08
JP2017509999A (ja) 2017-04-06
KR20160141753A (ko) 2016-12-09
US20150286472A1 (en) 2015-10-08

Similar Documents

Publication Publication Date Title
US9710245B2 (en) Memory reference metadata for compiler optimization
EP3126971B1 (en) Program execution on heterogeneous platform
Baskaran et al. Optimizing sparse matrix-vector multiplication on GPUs
CN102576314B (zh) 具有横跨多个处理器的数据并行线程之映射处理逻辑
US8972698B2 (en) Vector conflict instructions
US9304749B2 (en) Method and system for instruction scheduling
US8990786B2 (en) Program optimizing apparatus, program optimizing method, and program optimizing article of manufacture
US9323508B2 (en) Method and system for compiler optimization
CN114895965B (zh) 实现工作负载的静态映射的乱序流水线执行的方法和装置
JP5906325B2 (ja) トランザクションをサポートするコンピューターアーキテクチャにおけるコード特殊化のための例外を用いるプログラム及びコンピューティングデバイス
US20150150019A1 (en) Scheduling computing tasks for multi-processor systems
JP6017586B2 (ja) グラフィックス処理ユニットのための関連するテクスチャロード命令を有する制御フロー命令のプレディケーション
Membarth et al. Code generation for embedded heterogeneous architectures on Android
US8291393B2 (en) Just-in-time compiler support for interruptible code
CN108701022A (zh) 用于图形处理单元的着色器中的统一断言
Crisci et al. Sycl-bench 2020: Benchmarking sycl 2020 on amd, intel, and nvidia gpus
US20160350088A1 (en) Fusing a sequence of operations through subdividing
US10496433B2 (en) Modification of context saving functions
US11593114B1 (en) Iterating group sum of multiple accumulate operations
US10996960B1 (en) Iterating single instruction, multiple-data (SIMD) instructions
Guide Cuda c best practices guide
US20250138827A1 (en) Methods and apparatus for processing instructions
Hanlon Final Year Project Report
P Joseph Accelerating Java on Embedded GPU
Melnyk et al. Android-built code generation modelling for heterogeneous architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20161123

WD01 Invention patent application deemed withdrawn after publication