CN106164862A - 用于编译器优化的存储器参考元数据 - Google Patents
用于编译器优化的存储器参考元数据 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
- G06F9/45525—Optimisation or modification within the same instruction set architecture, e.g. HP Dynamo
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
- G06F8/434—Pointers; Aliasing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime 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)
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)
| 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)
| 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)
| 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)
| 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 |
-
2014
- 2014-04-04 US US14/245,946 patent/US9710245B2/en not_active Expired - Fee Related
-
2015
- 2015-03-19 JP JP2016559414A patent/JP6329274B2/ja not_active Expired - Fee Related
- 2015-03-19 EP EP15716222.3A patent/EP3132347A1/en not_active Withdrawn
- 2015-03-19 CN CN201580016245.6A patent/CN106164862A/zh active Pending
- 2015-03-19 KR KR1020167028388A patent/KR101832656B1/ko not_active Expired - Fee Related
- 2015-03-19 WO PCT/US2015/021585 patent/WO2015153143A1/en not_active Ceased
Patent Citations (7)
| 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)
| 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)
| 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 |