Some content of this application is unavailable at the moment.
If this situation persist, please contact us atFeedback&Contact
1. (WO2017205118) SAMPLE DRIVEN PROFILE GUIDED OPTIMIZATION WITH PRECISE CORRELATION
Latest bibliographic data on file with the International Bureau    Submit observation

Pub. No.: WO/2017/205118 International Application No.: PCT/US2017/032990
Publication Date: 30.11.2017 International Filing Date: 17.05.2017
IPC:
G06F 9/45 (2006.01) ,G06F 11/34 (2006.01)
G PHYSICS
06
COMPUTING; CALCULATING; COUNTING
F
ELECTRIC DIGITAL DATA PROCESSING
9
Arrangements for programme control, e.g. control unit
06
using stored programme, i.e. using internal store of processing equipment to receive and retain programme
44
Arrangements for executing specific programmes
45
Compilation or interpretation of high level programme languages
G PHYSICS
06
COMPUTING; CALCULATING; COUNTING
F
ELECTRIC DIGITAL DATA PROCESSING
11
Error detection; Error correction; Monitoring
30
Monitoring
34
Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation
Applicants:
MICROSOFT TECHNOLOGY LICENSING, LLC [US/US]; Attn: Patent Group Docketing (Bldg. 8/1000) One Microsoft Way Redmond, Washington 98052-6399, US
Inventors:
HE, Wenlei; US
TZEN, Ten; US
CHANDAR, Pratap Joseph; US
Agent:
MINHAS, Sandip; US
CHEN, Wei-Chen Nicholas; US
DRAKOS, Katherine J.; US
KADOURA, Judy M.; US
HOLMES, Danielle J.; US
SWAIN, Cassandra T.; US
WONG, Thomas S.; US
CHOI, Daniel; US
HWANG, William C.; US
Priority Data:
15/163,68425.05.2016US
Title (EN) SAMPLE DRIVEN PROFILE GUIDED OPTIMIZATION WITH PRECISE CORRELATION
(FR) OPTIMISATION GUIDÉE PAR PROFIL, PILOTÉE PAR ÉCHANTILLON, AVEC CORRÉLATION PRÉCISE
Abstract:
(EN) A profile guided optimization compiler utilizes sample profile data including a control flow representation of a program having block counts associated with each basic block of the program, and edge counts associated with each control flow edge estimated from the block counts. The sample profile data utilizes correlation data to map the address of a sampled instruction from a fully optimized binary directly into a corresponding basic block of source code control flow of the program using a relative virtual address (RVA) that is associated with each source code basic block and the sampled instruction. The correlation data is able to differentiate multiple blocks on the same source code line and handle inlining and optimizations with greater precision and efficiency. The block counts are then used to guide the optimization of the program.
(FR) L'invention concerne un compilateur d'optimisation guidé par profil qui utilise des données de profil d'échantillon contenant une représentation de flux de commande d'un programme ayant des dénombrements de bloc associés à chaque bloc de base du programme, et des dénombrements de contour associés à chaque contour de flux de commande estimé à partir des dénombrements de blocs. Les données de profil d'échantillon utilisent des données de corrélation pour mettre en correspondance l'adresse d'une instruction échantillonnée à partir d'un binaire totalement optimisé directement avec un bloc de base correspondant du flux de commande de code source du programme en utilisant une adresse virtuelle relative (RVA) qui est associée à chaque bloc de base de code source et à l'instruction échantillonnée. Les données de corrélation sont capables de différencier de multiples blocs sur la même ligne de code source et de gérer l'inclusion par référence et les optimisations avec une plus grande précision et une plus grande efficacité. Les dénombrements de blocs sont ensuite utilisés pour guider l'optimisation du programme.
front page image
Designated States: AE, AG, AL, AM, AO, AT, AU, AZ, BA, BB, BG, BH, BN, BR, BW, BY, BZ, CA, CH, CL, CN, CO, CR, CU, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, ES, FI, GB, GD, GE, GH, GM, GT, HN, HR, HU, ID, IL, IN, IR, IS, JP, KE, KG, KH, KN, KP, KR, KW, KZ, LA, LC, LK, LR, LS, LU, LY, MA, MD, ME, MG, MK, MN, MW, MX, MY, MZ, NA, NG, NI, NO, NZ, OM, PA, PE, PG, PH, PL, PT, QA, RO, RS, RU, RW, SA, SC, SD, SE, SG, SK, SL, SM, ST, SV, SY, TH, TJ, TM, TN, TR, TT, TZ, UA, UG, US, UZ, VC, VN, ZA, ZM, ZW
African Regional Intellectual Property Organization (ARIPO) (BW, GH, GM, KE, LR, LS, MW, MZ, NA, RW, SD, SL, ST, SZ, TZ, UG, ZM, ZW)
Eurasian Patent Office (AM, AZ, BY, KG, KZ, RU, TJ, TM)
European Patent Office (EPO) (AL, AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IS, IT, LT, LU, LV, MC, MK, MT, NL, NO, PL, PT, RO, RS, SE, SI, SK, SM, TR)
African Intellectual Property Organization (BF, BJ, CF, CG, CI, CM, GA, GN, GQ, GW, KM, ML, MR, NE, SN, TD, TG)
Publication Language: English (EN)
Filing Language: English (EN)