This is the mail archive of the
mailing list for the GCC project.
RE: AutoFDO profile toolchain is open-sourced
- From: Aditya K <hiraditya at msn dot com>
- To: Dehao Chen <dehao at google dot com>, Ilya Palachev <i dot palachev at samsung dot com>
- Cc: Xinliang David Li <davidxl at google dot com>, Jan Hubicka <hubicka at ucw dot cz>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, Vyacheslav Barinov <v dot barinov at samsung dot com>, Diego Novillo <dnovillo at google dot com>, Sebastian Pop <sebpop at gmail dot com>
- Date: Fri, 8 May 2015 20:34:48 +0000
- Subject: RE: AutoFDO profile toolchain is open-sourced
- Authentication-results: sourceware.org; auth=none
- References: <CAO2gOZWydpiBXb=1QDyCRt-ybDieqy8X4S_+uRZk2Y2v+cFdYQ at mail dot gmail dot com> <5523ED98 dot 8080007 at samsung dot com> <CAFk3UF8To5Qcz8NN5rUF3z6j8CCg_89A+62P=1U9YrtbZ5=mLg at mail dot gmail dot com> <20150410203927 dot GA18980 at atrey dot karlin dot mff dot cuni dot cz> <CAAkRFZ+2RK=-qKo4eCRmq0N1QjENm0tAe2PbX3xnC76UyuFrJA at mail dot gmail dot com> <CAAkRFZLMP3SvGZqCdyLbnZqfY6RUqwRJ3tpVRYKMA+ZCVt2u9A at mail dot gmail dot com> <20150410224327 dot GA87750 at kam dot mff dot cuni dot cz> <CAAkRFZJ4MPCqCMJ7z9WK50e3HPJWnmZHoiWU0m-e2b915GSU9g at mail dot gmail dot com> <554C7B20 dot 8020007 at samsung dot com>,<CAO2gOZW2_0VJdHnwvH8pGM9aM9TD2p0ii0coMgR9JWTuHuCEqQ at mail dot gmail dot com>
> Date: Fri, 8 May 2015 11:19:12 -0700
> Subject: Re: AutoFDO profile toolchain is open-sourced
> From: firstname.lastname@example.org
> To: email@example.com
> CC: firstname.lastname@example.org; email@example.com; firstname.lastname@example.org; email@example.com; firstname.lastname@example.org; email@example.com
> On Fri, May 8, 2015 at 2:00 AM, Ilya Palachev <firstname.lastname@example.org> wrote:
>> On 11.04.2015 01:49, Xinliang David Li wrote:
>>> On Fri, Apr 10, 2015 at 3:43 PM, Jan Hubicka <email@example.com> wrote:
>>>>> LBR is used for both cfg edge profiling and indirect call Target value
>>>> I see, that makes sense ;) I guess if we want to support profile
>>>> on targets w/o this feature we could still use one of the algorithms that
>>>> try to guess edge profile from BB profile.
>>> Our experience with sampling cycles or retired instructions to guess
>>> BB profile has not been great -- the profile quality is significantly
>>> worse than LBR (which can almost match instrumentation based profile).
>> Suppose that I have no opportunity to collect profile on x86 architecture
>> with LBR support and the only available architecture is arm/aarch64 (since
>> the application code is significantly different when compiled for different
>> architectures because of manual optimizations and different function names
>> and structure).
> If it's already manually tuned towards architecture (or even
> hand-written inlined-assembly), then I don't think FDO/AutoFDO can
> help much.
>> Honza has mentioned that it's possible to guess edge profile from BB
>> profile. How do you think, can this help in the above described situation?
>> Yes, this will be much worse than LBR, but can it give any performance
>> benefit compared with no edge profile at all?
> Yes, it will. But it's not well tuned at all. I will start tuning it
> if I have free cycles. It would be great if opensource community can
> also contribute to this tuning effort.
If you could outline portions of code which needs tuning, rewriting, that will help get started in this effort.