Unlock instant, AI-driven research and patent intelligence for your innovation.

A framework for user-directed profile-driven optimizations

A user and initialization technology, applied in the direction of instrumentation, calculation, electrical digital data processing, etc., can solve the problems of not allowing users to analyze and optimize, labor-intensive, etc.

Active Publication Date: 2016-06-01
GOOGLE LLC
View PDF4 Cites 0 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

However, in common runtime libraries these parameters are not tuned, or parameters are tuned for the average application, because customary FDO procedures do not allow user-defined profiling optimizations
While some developers choose to manually tune their code for a specific application, the manual process can be labor intensive

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • A framework for user-directed profile-driven optimizations
  • A framework for user-directed profile-driven optimizations
  • A framework for user-directed profile-driven optimizations

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0021] According to an example embodiment, an architecture may facilitate user-directed profiling-driven optimization by allowing a software developer to profile selected portions of an application and directing the compiler to perform value-profiling transformations based on the profiling results, such as figure 2 shown in . User-defined information can be included in both instrumentation and optimizing compilation of the feedback loop.

[0022] An example method for using profiling to obtain application-specific, preferred parameter values ​​for an application begins by identifying a parameter for which an application-specific value is to be obtained (301), such as image 3 shown in . The enhancement code can then be parsed (302) for application specificity of parameters. In some embodiments, the code to be enhanced may be application code. In other embodiments, the code to be enhanced may be a library used by the application code. This parameter is then parsed specific...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

A method for using profiling to obtain application-specific, preferred parameter values for an application is disclosed. First, a parameter for which to obtain an application-specific value is identified (301). Code is then augmented for application-specific profiling of the parameter (302). The parameter is profiled and profile data is collected (303). The profile data is then analyzed to determine the application's preferred parameter value for the profile parameter (304, 305).

Description

Background technique [0001] Feedback-Directed Optimization (FDO) is a technique used to tune application execution based on application runtime behavior in order to improve performance. FDO is also known as profile-guided optimization (PGO) and profile-based optimization (PBO). To tune an application, FDO profiles the application. Profiling is the process of gathering information about how an application behaves during runtime. This profiling information is used to drive decisions about various application optimizations. [0002] Such as figure 1 As shown in , the conventional feedback-guided optimization is a dual-build model technique using static instrumentation to collect edge and value profiles. Instrumentation generation (101) allows the compiler to insert code into the application's binary to create a instrumented version of the binary (102). This insertion code typically counts edges or collects value profiles. The instrumented binaries (102) are run on a typical...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
IPC IPC(8): G06F9/45
CPCG06F8/4434G06F8/4441G06F8/443
Inventor 特雷莎·路易斯·约翰逊欣亮·戴维·李
Owner GOOGLE LLC