CN102165428B - 软件应用性能增强 - Google Patents
软件应用性能增强 Download PDFInfo
- Publication number
- CN102165428B CN102165428B CN200980131425.3A CN200980131425A CN102165428B CN 102165428 B CN102165428 B CN 102165428B CN 200980131425 A CN200980131425 A CN 200980131425A CN 102165428 B CN102165428 B CN 102165428B
- Authority
- CN
- China
- Prior art keywords
- code
- input code
- intermediate representation
- performance analysis
- analysis comprises
- 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
Links
Classifications
-
- 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/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
-
- 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/52—Binary to binary
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18890508P | 2008-08-13 | 2008-08-13 | |
| US61/188905 | 2008-08-13 | ||
| PCT/US2009/004649 WO2010019254A1 (en) | 2008-08-13 | 2009-08-13 | Software application performance enhancement |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN102165428A CN102165428A (zh) | 2011-08-24 |
| CN102165428B true CN102165428B (zh) | 2015-05-20 |
Family
ID=41669151
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN200980131425.3A Expired - Fee Related CN102165428B (zh) | 2008-08-13 | 2009-08-13 | 软件应用性能增强 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8799884B2 (enExample) |
| EP (1) | EP2329389A4 (enExample) |
| JP (2) | JP2011530768A (enExample) |
| CN (1) | CN102165428B (enExample) |
| WO (1) | WO2010019254A1 (enExample) |
Families Citing this family (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10713069B2 (en) * | 2008-09-04 | 2020-07-14 | Synopsys, Inc. | Software and hardware emulation system |
| US10621092B2 (en) | 2008-11-24 | 2020-04-14 | Intel Corporation | Merging level cache and data cache units having indicator bits related to speculative execution |
| US9189233B2 (en) | 2008-11-24 | 2015-11-17 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
| US9672019B2 (en) | 2008-11-24 | 2017-06-06 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
| US9081928B2 (en) * | 2009-06-02 | 2015-07-14 | Vector Fabrics, B.V. | Embedded system development |
| US8832663B2 (en) * | 2009-11-23 | 2014-09-09 | International Business Machines Corporation | Thread serialization and disablement tool |
| US8549523B2 (en) | 2009-11-23 | 2013-10-01 | International Business Machines Corporation | Performing runtime analysis and control of folding identified threads by assuming context of another thread and executing in lieu of another thread folding tool |
| US8881106B2 (en) * | 2009-12-26 | 2014-11-04 | Intel Corporation | Debugging parallel software using speculatively executed code sequences in a multiple core environment |
| WO2011133030A1 (en) | 2010-04-23 | 2011-10-27 | Vector Fabrics B.V. | Improved embedded system performance |
| US8645934B2 (en) * | 2010-05-06 | 2014-02-04 | International Business Machines Corporation | Simultaneous compiler binary optimizations |
| CN101853183B (zh) * | 2010-05-14 | 2012-11-21 | 中国科学院声学研究所 | 一种用于动态管理片上指令便签存储器的方法 |
| US8412744B2 (en) * | 2010-06-23 | 2013-04-02 | Microsoft Corporation | Visualization of runtime analysis across dynamic boundaries |
| US8938721B2 (en) * | 2010-07-21 | 2015-01-20 | Microsoft Corporation | Measuring actual end user performance and availability of web applications |
| US8661424B2 (en) * | 2010-09-02 | 2014-02-25 | Honeywell International Inc. | Auto-generation of concurrent code for multi-core applications |
| US9678747B2 (en) | 2011-02-08 | 2017-06-13 | Openspan, Inc. | Code injection and code interception in an operating system with multiple subsystem environments |
| US9785470B2 (en) * | 2011-06-20 | 2017-10-10 | Microsoft Technology Licensing, Llc | Memory management model and interface for unmodified applications |
| US10466989B2 (en) | 2011-09-02 | 2019-11-05 | Microsoft Technology Licensing, Llc. | Fast presentation of markup content having script code |
| WO2013048468A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Instruction and logic to perform dynamic binary translation |
| CN103365668B (zh) * | 2012-03-26 | 2017-12-26 | 联想(北京)有限公司 | 一种动态链接库装载和链接的方法、装置 |
| US9038054B1 (en) * | 2012-06-01 | 2015-05-19 | Google Inc. | System and method for automated product version rollback |
| US8909990B2 (en) | 2012-08-04 | 2014-12-09 | Microsoft Corporation | Historical software diagnostics using lightweight process snapshots |
| US9411715B2 (en) * | 2012-12-12 | 2016-08-09 | Nvidia Corporation | System, method, and computer program product for optimizing the management of thread stack memory |
| US9292898B2 (en) * | 2013-03-15 | 2016-03-22 | Intel Corporation | Conditional end of thread mechanism |
| US9880842B2 (en) | 2013-03-15 | 2018-01-30 | Intel Corporation | Using control flow data structures to direct and track instruction execution |
| US9891936B2 (en) | 2013-09-27 | 2018-02-13 | Intel Corporation | Method and apparatus for page-level monitoring |
| WO2015060850A1 (en) * | 2013-10-24 | 2015-04-30 | Intel Corporation | Conjugate code generation for efficient dynamic optimizations |
| US10289411B2 (en) | 2013-11-18 | 2019-05-14 | Microsoft Technology Licensing, Llc | Diagnosing production applications |
| JP6322968B2 (ja) * | 2013-11-19 | 2018-05-16 | 日本電気株式会社 | 情報処理装置、情報処理方法およびプログラム |
| US9448788B1 (en) * | 2014-01-22 | 2016-09-20 | SecondWrite LLC | Binary rewriting system |
| US9632915B2 (en) | 2014-10-29 | 2017-04-25 | Microsoft Technology Licensing, Llc. | Historical control flow visualization in production diagnostics |
| US9513832B2 (en) | 2015-03-25 | 2016-12-06 | International Business Machines Corporation | Accessing global data from accelerator devices |
| CN105242929B (zh) * | 2015-10-13 | 2018-07-17 | 西安交通大学 | 一种针对多核平台的二进制程序自动并行化的设计方法 |
| KR20170047957A (ko) * | 2015-10-26 | 2017-05-08 | 삼성전자주식회사 | 반도체 장치의 동작 방법 및 반도체 시스템 |
| US9823998B2 (en) * | 2015-12-02 | 2017-11-21 | International Business Machines Corporation | Trace recovery via statistical reasoning |
| CN106933642B (zh) * | 2015-12-29 | 2021-04-27 | 阿里巴巴集团控股有限公司 | 应用程序的处理方法及处理装置 |
| US10509634B2 (en) | 2016-03-30 | 2019-12-17 | International Business Machines Corporation | Data flow analysis for dynamic application, skipping views |
| US10078505B2 (en) * | 2016-07-20 | 2018-09-18 | International Business Machines Corporation | Partial connection of iterations during loop unrolling |
| US10481876B2 (en) | 2017-01-11 | 2019-11-19 | Microsoft Technology Licensing, Llc | Methods and systems for application rendering |
| KR102327913B1 (ko) * | 2017-04-28 | 2021-11-19 | 엔에이치엔 주식회사 | 블록 기반 데이터 분석 방법 및 시스템 |
| US10503626B2 (en) | 2018-01-29 | 2019-12-10 | Oracle International Corporation | Hybrid instrumentation framework for multicore low power processors |
| US11113059B1 (en) * | 2021-02-10 | 2021-09-07 | Next Silicon Ltd | Dynamic allocation of executable code for multi-architecture heterogeneous computing |
| CN112988593B (zh) * | 2021-04-13 | 2024-02-06 | 苏州沁游网络科技有限公司 | 代码分析方法、装置、计算机设备及存储介质 |
| CN119938309B (zh) * | 2024-12-09 | 2025-12-05 | 浙江大学 | 一种自动提取并行应用程序热点代码的方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030110481A1 (en) * | 2001-12-06 | 2003-06-12 | Kiyomi Wada | Program tuning method |
| US20080005547A1 (en) * | 2006-06-20 | 2008-01-03 | Papakipos Matthew N | Systems and methods for generating reference results using a parallel-processing computer system |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9600823D0 (en) * | 1996-01-16 | 1996-03-20 | British Telecomm | Distributed processing |
| US5966537A (en) * | 1997-05-28 | 1999-10-12 | Sun Microsystems, Inc. | Method and apparatus for dynamically optimizing an executable computer program using input data |
| US8121828B2 (en) * | 1999-01-28 | 2012-02-21 | Ati Technologies Ulc | Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions |
| US8127121B2 (en) * | 1999-01-28 | 2012-02-28 | Ati Technologies Ulc | Apparatus for executing programs for a first computer architechture on a computer of a second architechture |
| JP2001075802A (ja) * | 1999-09-08 | 2001-03-23 | Fujitsu Ltd | 投機的実行装置および検証装置 |
| US6986128B2 (en) * | 2000-01-07 | 2006-01-10 | Sony Computer Entertainment Inc. | Multiple stage program recompiler and method |
| US7516446B2 (en) * | 2002-06-25 | 2009-04-07 | International Business Machines Corporation | Method and apparatus for efficient and precise datarace detection for multithreaded object-oriented programs |
| US6970985B2 (en) * | 2002-07-09 | 2005-11-29 | Bluerisc Inc. | Statically speculative memory accessing |
| US7805710B2 (en) * | 2003-07-15 | 2010-09-28 | International Business Machines Corporation | Shared code caching for program code conversion |
| KR101244069B1 (ko) * | 2005-04-20 | 2013-03-18 | 인터내셔널 비지네스 머신즈 코포레이션 | 프로그램 코드 변환시 정밀한 예외 핸들링을 위한 방법 및장치 |
| US8037465B2 (en) * | 2005-09-30 | 2011-10-11 | Intel Corporation | Thread-data affinity optimization using compiler |
| US8271943B2 (en) * | 2007-04-24 | 2012-09-18 | National Instruments Corporation | Automatically generating a graphical program with a plurality of models of computation |
-
2009
- 2009-08-13 CN CN200980131425.3A patent/CN102165428B/zh not_active Expired - Fee Related
- 2009-08-13 EP EP09806977A patent/EP2329389A4/en not_active Withdrawn
- 2009-08-13 JP JP2011522999A patent/JP2011530768A/ja active Pending
- 2009-08-13 US US12/583,188 patent/US8799884B2/en not_active Expired - Fee Related
- 2009-08-13 WO PCT/US2009/004649 patent/WO2010019254A1/en not_active Ceased
-
2015
- 2015-01-05 JP JP2015000240A patent/JP2015084251A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030110481A1 (en) * | 2001-12-06 | 2003-06-12 | Kiyomi Wada | Program tuning method |
| US20080005547A1 (en) * | 2006-06-20 | 2008-01-03 | Papakipos Matthew N | Systems and methods for generating reference results using a parallel-processing computer system |
Non-Patent Citations (1)
| Title |
|---|
| Dynamic Parallelization and Vectorization of Binary Executables on Hierarchical Platforms;Efe Yardimci,etc;《Journal of Instruction-Level Parallelism》;20080608;第10卷;说明书5-15页,附图1 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US20100042981A1 (en) | 2010-02-18 |
| EP2329389A4 (en) | 2013-02-27 |
| EP2329389A1 (en) | 2011-06-08 |
| JP2011530768A (ja) | 2011-12-22 |
| CN102165428A (zh) | 2011-08-24 |
| WO2010019254A1 (en) | 2010-02-18 |
| JP2015084251A (ja) | 2015-04-30 |
| US8799884B2 (en) | 2014-08-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102165428B (zh) | 软件应用性能增强 | |
| Yan et al. | JCUDA: A programmer-friendly interface for accelerating Java programs with CUDA | |
| US8448156B2 (en) | Systems and methods for caching compute kernels for an application running on a parallel-processing computer system | |
| US7814486B2 (en) | Multi-thread runtime system | |
| US8443349B2 (en) | Systems and methods for determining compute kernels for an application in a parallel-processing computer system | |
| US8458680B2 (en) | Systems and methods for dynamically choosing a processing element for a compute kernel | |
| US8584106B2 (en) | Systems and methods for compiling an application for a parallel-processing computer system | |
| US8443348B2 (en) | Application program interface of a parallel-processing computer system that supports multiple programming languages | |
| US20070294681A1 (en) | Systems and methods for profiling an application running on a parallel-processing computer system | |
| Sheikh et al. | Control-flow decoupling | |
| Yardimci et al. | Dynamic parallelization and mapping of binary executables on hierarchical platforms | |
| Jensen et al. | Improving loop dependence analysis | |
| Oh et al. | A generalized framework for automatic scripting language parallelization | |
| Kazi et al. | Coarse-grained thread pipelining: A speculative parallel execution model for shared-memory multiprocessors | |
| Spear et al. | Fastpath speculative parallelization | |
| Yu et al. | General data structure expansion for multi-threading | |
| Ravi et al. | Semi-automatic restructuring of offloadable tasks for many-core accelerators | |
| Chuang et al. | Dynamic profile driven code version selection | |
| Yardımcı et al. | Dynamic parallelization and vectorization of binary executables on hierarchical platforms | |
| Kumar et al. | A Modern Parallel Register Sharing Architecture for Code Compilation | |
| Lashgar et al. | IPMACC: Translating OpenACC API to OpenCL | |
| Jansson | Enabling Profile Guided Optimizations (PGO) for Graphics | |
| Gaspar | Automatic Selection of Software Code Regions for Migrating to GPUs | |
| Sun | Speculative vectorization with selective replay | |
| Clarkson | Compiler and Runtime Support for Heterogeneous Programming |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| ASS | Succession or assignment of patent right |
Owner name: QUALCOMM INC. Free format text: FORMER OWNER: TRANSCELLA INC. Effective date: 20130128 |
|
| C41 | Transfer of patent application or patent right or utility model | ||
| TA01 | Transfer of patent application right |
Effective date of registration: 20130128 Address after: American California Applicant after: Qualcomm Inc. Address before: American California Applicant before: Transcella Inc. |
|
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150520 Termination date: 20190813 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |