-
公开(公告)号:US20220214866A1
公开(公告)日:2022-07-07
申请号:US17144065
申请日:2021-01-07
Applicant: Microsoft Technology Licensing, LLC
Inventor: Xiang LI
Abstract: A computer device is provided that includes a processor configured to receive a source code for a program including at least two code files, and process the source code for the program to generate a machine-level code file for each of the at least two code files of the source code. The processor is further configured to generate control flow graph data for each machine-level code file generated for the at least two code files of the source code, generate a machine-level intermediate representation for each machine-level code file using a machine-level code file and the generated control flow graph data for that machine-level code file, merge the machine-level intermediate representations into a merged machine-level intermediate representation, and perform machine-level optimizations on the merged machine-level intermediate representation and output an optimized merged machine-level intermediate representation.
-
公开(公告)号:US20200004515A1
公开(公告)日:2020-01-02
申请号:US16443392
申请日:2019-06-17
Applicant: Microsoft Technology Licensing, LLC
Inventor: Marcelo LOPEZ RUIZ , Ivan NEVRAEV , David M. PEIXOTTO , Xiang LI
IPC: G06F8/41
Abstract: Methods and devices for generating program code representations may include receiving program code or edited program code for an application executing on the computer device. The methods and devices may include receiving an identification of a selected pipeline from a plurality of pipelines that defines a plurality of passes of actions to execute on the program code or the edited program code to optimize the program code or the edited program code. The methods and devices may include running the selected pipeline and generate optimizer output with a program code representation of the program code.
-
公开(公告)号:US20210311708A1
公开(公告)日:2021-10-07
申请号:US16837590
申请日:2020-04-01
Applicant: Microsoft Technology Licensing, LLC
Inventor: Xiang LI , David McCarthy PEIXOTTO , Michael Alan DOUGHERTY
IPC: G06F8/41 , G06F16/901
Abstract: The present disclosure relates to devices and methods for transforming program source code using a rematerialization operation. The devices and methods may identify at least one hot spot with high register pressure in a program source code for an application and identify a plurality of live variables within the at least one hot spot. The devices and methods may group the plurality of live variables by a basic block that has contained a define or single use of the plurality of live variables. The devices and methods may build a directed acyclic graph (DAG) for each basic block that has a grouped plurality of live variables. The devices and methods may save the DAG as a candidate instruction to move in the program source code and may generate transformed program source code for the application by moving the candidate instruction.
-
公开(公告)号:US20250086202A1
公开(公告)日:2025-03-13
申请号:US18466524
申请日:2023-09-13
Applicant: Microsoft Technology Licensing, LLC
Inventor: Yiwen ZHU , Subramaniam Venkatraman KRISHNAN , Weihan TANG , Tengfei HUANG , Rui FANG , Rahul Kumar CHALLAPALLI , Mo LIU , Long TIAN , Karuna Sagar KRISHNA , Estera Zaneta KOT , Xin HE , Ashit R. GOSALIA , Dario Kikuchi BERNAL , Aditya LAKRA , Arshdeep SEKHON , Sule KAHRAMAN , Carlo Aldo CURINO , Brian Paul KROTH , Rathijit SEN , Andreas Christian MUELLER , Shaily Jignesh FOZDAR , Dhruv Harendra RELWANI , Xiang LI , Sergiy MATUSEVYCH
IPC: G06F16/28 , G06F11/34 , G06F16/2455
Abstract: Systems, methods and computer-readable memory devices are provided for greater efficiency in the configuration of a database cluster for performing a query workload. A database cluster configuration system is provided that includes a database cluster comprising one or more compute resources configured to perform database queries. A query workload comprising a plurality of queries is received. An initial workload-level configuration is applied. For each query of the query workload, a query-level configuration is generated using a query configuration model corresponding to each query in a contextual Bayesian optimization with centroid learning while also leveraging the query plan for each executing query for query characterization and including application of virtual operators. Query events are collected and used to update the corresponding query configuration model. The workload-level configuration is updated based on the query events and cached for use during a subsequent execution of the workload.
-
公开(公告)号:US20210149673A1
公开(公告)日:2021-05-20
申请号:US16780676
申请日:2020-02-03
Applicant: Microsoft Technology Licensing, LLC
Inventor: Xiang LI , Michael Alan DOUGHERTY , David McCarthy PEIXOTTO
Abstract: Examples are disclosed herein that relate to performing rematerialization operation(s) on program source code prior to instruction scheduling. In one example, a method includes prior to performing instruction scheduling on program source code, for each basic block of the program source code, determining a register pressure at a boundary of the basic block, determining whether the register pressure at the boundary is greater than a target register pressure, based on the register pressure at the boundary being greater than the target register pressure, identifying one or more candidate instructions in the basic block suitable for rematerialization to reduce the register pressure at the boundary, and performing a rematerialization operation on at least one of the one or more candidate instructions to reduce the register pressure at the boundary to be less than the target register pressure.
-
公开(公告)号:US20200210194A1
公开(公告)日:2020-07-02
申请号:US16237012
申请日:2018-12-31
Applicant: Microsoft Technology Licensing, LLC
Inventor: Xiang LI , Michael Alan DOUGHERTY , David McCarthy PEIXOTTO
Abstract: Examples described herein generally relate to generating, from a listing of source code, a plurality of basic blocks for compiling into intermediate language, determining, for a first basic block of the plurality of basic blocks, first heuristics related to applying a first plurality of optimizations to the first basic block, determining, for a second basic block of the plurality of basic blocks, second heuristics related to applying a second plurality of optimizations to the second basic block, and applying, based on the first heuristics and the second heuristics, one of the first plurality of optimizations to the first basic block to schedule first instructions for the first basic block and one of the second plurality of optimizations to the second basic block to schedule second instructions for the second basic block.
-
公开(公告)号:US20190102152A1
公开(公告)日:2019-04-04
申请号:US15882529
申请日:2018-01-29
Applicant: Microsoft Technology Licensing, LLC
Inventor: Marcelo LOPEZ RUIZ , Ivan NEVRAEV , David M. PEIXOTTO , Xiang LI
IPC: G06F8/41
Abstract: Methods and devices for generating program code representations may include receiving program code or edited program code for an application executing on the computer device. The methods and devices may include receiving an identification of a selected pipeline from a plurality of pipelines that defines a plurality of passes of actions to execute on the program code or the edited program code to optimize the program code or the edited program code. The methods and devices may include running the selected pipeline and generate optimizer output with a program code representation of the program code.
-
-
-
-
-
-