similar to: PGO in jit

Displaying 20 results from an estimated 30000 matches similar to: "PGO in jit"

2019 Mar 30
2
Minimal PGO for ORC JIT
Hi David, Thanks for your reply. I find that I need to add some new types of profile data that are specific to JIT environment like Function Ordering. Function Ordering is similar to dynamic call graph which records the execution of functions at runtime along with the order in which they are called. Eg: Suppose they are 5 functions (F1..F5). F1 calls other functions in the order described
2019 Mar 29
2
Minimal PGO for ORC JIT
Hi all, I need to do dynamic profiling in ORC JIT between the runs. Is it possible to re-use parts of the static pgo code in llvm for the purpose given that JIT uses llvm codegen. Or I need to write my own implementation to support profile guide optimization in JIT ? Please tell me if you want information. -- Have a great day! PreeJackie -------------- next part -------------- An HTML
2019 Mar 29
2
Higher level program analysis
preejackie via llvm-dev <llvm-dev at lists.llvm.org> writes: > Are you suggesting that static analysis is much inferior than > profiling in finding "next executing function" ? I'm stuck at > deciding which one to prefer & implement during this summer project, > Could you please help me? I suspect this is highly code-dependent. For example, it's probably
2015 May 28
0
[LLVMdev] RFC - Improvements to PGO profile support
Dario Domizioli <dario.domizioli at gmail.com> writes: > Hi Diego, > > thanks for clarifying the difference between the two formats. I have noticed > the new note in the "Sample Profile Format" section of the Clang guide > clarifying that it is different from the coverage format. > > So, my further question is... Am I right in understanding that both formats
2015 May 28
3
[LLVMdev] RFC - Improvements to PGO profile support
Hi Diego, thanks for clarifying the difference between the two formats. I have noticed the new note in the "Sample Profile Format" section of the Clang guide clarifying that it is different from the coverage format. So, my further question is... Am I right in understanding that both formats can be used for PGO purposes then? I have tried the following, as in the Clang user guide: $
2015 Aug 19
3
RFC: PGO Late instrumentation for LLVM
We collected more data to address some of the questions from the reviewers. Note this time we use clang itself as the benchmark. We choose clang because we think it's a typical C++ program and the reviewers here have good knowledge of the code base. What we measure is running time for clang to compile a large preprocessed source file (4.98M lines of .ii file), using different compilation
2016 Mar 09
3
PGO question
Hi, I have a question regarding PGO. I collected profile data with the instrumentation build (-fprofile-instr-generate) and provided for PGO optimization in the second build (with -fprofile-instr-use=xxx.profdata). This works fine. Then I tried to provide the profile data to opt using the option -pgo-instr-use, but this causes an error with the message: "Not an IR level instrumentation
2015 Sep 01
3
RFC: PGO Late instrumentation for LLVM
Justin, Sean and other people interested in this proposal, I'm wondering if you have chances to read the new experiment results in my last email sent 2 weeks ago. Can you share you thoughts, or you have other tests that you want to to run? I'm in the final stage of preparing the patch. If you are OK, I can sent out the patch soon. Thanks, -Rong On Wed, Aug 19, 2015 at 5:18 PM, Philip
2015 Sep 01
2
RFC: PGO Late instrumentation for LLVM
On Tue, Sep 1, 2015 at 2:32 PM, Sean Silva <chisophugis at gmail.com> wrote: > > > On Tue, Sep 1, 2015 at 2:10 PM, Xinliang David Li <davidxl at google.com> > wrote: >> >> This is a late reply -- the email somehow skipped my inbox. >> >> > Philip and Sanjoy, out of curiosity do you guys use your own >> > instrumentation >> >
2020 Oct 06
2
LLVM Developers Meeting JIT BoF -- Request for Topics of Interest
Hi All, I've listed the current topics of interest below, along with some notes on each. We only have 30 minutes so we'll barely scratch the surface of these during the BoF itself. My main aims are for you to meet each other, identify potential areas of collaboration, identify things that I can do to unblock you, and get the ball rolling on some conversations that we can continue on the
2019 Mar 28
2
Higher level program analysis
Hi, David: Good point, it will be interesting to see speculative compilation in this context applying on devirtualization, with high level (type) information if applicable. > On Mar 28, 2019, at 2:35 PM, preejackie <praveenvelliengiri at gmail.com> wrote: > > Hi David & Bekket, > > Thanks your replies :) > > David, Indent here is: ORC v2 JIT APIs has
2015 Aug 08
2
RFC: PGO Late instrumentation for LLVM
Accidentally sent to uiuc server. On Fri, Aug 7, 2015 at 10:49 PM, Sean Silva <chisophugis at gmail.com> wrote: > Can you compare your results with another approach: simply do not > instrument the top 1% hottest functions (by function entry count)? If this > simple approach provides most of the benefits (my measurements on one > codebase I tested show that it would eliminate
2019 Sep 16
2
PGO is ineffective for Rust - but why?
Can you clarify if performance difference is caused by using different linkers at instrumentation build? If that is the case, try dump the sections of the resulting binary and compare __llvm_prf_** sections. Also check the arguments passed to the linker. It should have -u__llvm_profile_runtime to force the profile runtime to be linked in. David On Mon, Sep 16, 2019 at 8:42 AM Michael
2019 Sep 17
2
PGO is ineffective for Rust - but why?
Interestingly, a C version of the same test program [1] compiled with Clang 8 does not have any problems with GNU ld: The `__llvm_prf_data` section is the same size for all three linkers. It must be something specific to the Rust compiler that's going wrong here. [1] https://github.com/michaelwoerister/rust-pgo-test-programs/tree/master/cpp_branch_weights On Tue, Sep 17, 2019 at 3:26 PM
2019 Mar 25
3
GSoC- Speculative compilation support in ORC v2 , looking for mentors!
Hi Bekket, Thank you for your reply. Earlier I came across a paper called "Dynamic Look Ahead Compilation: Hide JIT compilation latencies", it devised some methods for JIT compilation of functions before the actual call takes place by using call graph analysis, branch probabilities to generate a list of functions with high likelihood of execution in near future. In my opinion it
2015 Aug 11
4
RFC: PGO Late instrumentation for LLVM
One aspect of this that I have not seen discussed is that middle-end instrumentation enables PGO optimizations to front-ends other than Clang. While I agree that FE instrumentation could be improved, it still requires every FE to implement essentially the same common functionality. Having PGO instrumentation generated in the middle-end, allows us every FE to automatically take advantage of PGO.
2016 Mar 22
3
Instrumented BB in PGO
Hello, I have a question regarding PGO instrumented BBs (I use IR-level instrumentation). It seems that instrumented BBs do not match between the two compilations for profile-gen and profile-use for some cases. Here is an example from SPECcpu 2006 lbm (a simple case consisting of just two modules). In the first compilation, we have 5 instrumentation points for the main function as follows: $
2020 Aug 07
2
[RFC] Context-sensitive Sample PGO with Pseudo-Instrumentation
Thanks for the thoughtful questions, David. See my answers inline. Thanks, Wenlei From: Xinliang David Li <davidxl at google.com> Date: Friday, August 7, 2020 at 1:24 PM To: Wenlei He <wenlei at fb.com> Cc: "llvm-dev at lists.llvm.org" <llvm-dev at lists.llvm.org>, Wei Mi <wmi at google.com>, Hongtao Yu <hoy at fb.com> Subject: Re: [RFC] Context-sensitive
2015 Aug 08
3
RFC: PGO Late instrumentation for LLVM
Instrumentation based Profile Guided Optimization (PGO) is a compiler technique that leverages important program runtime information, such as precise edge counts and frequent value information, to make frequently executed code run faster. It's proven to be one of the most effective ways to improve program performance. An important design point of PGO is to decide where to place the
2019 Sep 16
2
PGO is ineffective for Rust - but why?
Interesting. By ld do you mean GNU ld? I know GNU ld does "work" with LLVM's gold plugin, but it's an untested combination and not recommended. I wouldn't be surprised if there were some issues around it not passing necessary info to the gold plugin. Teresa On Mon, Sep 16, 2019 at 8:41 AM Michael Woerister <mwoerister at mozilla.com> wrote: > So one interesting