This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: AutoFDO profile toolchain is open-sourced
- From: Dehao Chen <dehao at google dot com>
- To: 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 11:19:12 -0700
- 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>
On Fri, May 8, 2015 at 2:00 AM, Ilya Palachev <i.palachev@samsung.com> wrote:
> On 11.04.2015 01:49, Xinliang David Li wrote:
>>
>> On Fri, Apr 10, 2015 at 3:43 PM, Jan Hubicka <hubicka@ucw.cz> wrote:
>>>>
>>>> LBR is used for both cfg edge profiling and indirect call Target value
>>>> profiling.
>>>
>>> I see, that makes sense ;) I guess if we want to support profile
>>> collection
>>> 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.
Cheers,
Dehao
>
> --
> Ilya