From: "Martin Liška" <mliska@suse.cz>
To: Qing Zhao <qing.zhao@oracle.com>
Cc: Jan Hubicka <hubicka@ucw.cz>, gcc Patches <gcc-patches@gcc.gnu.org>
Subject: Re: Question on patch -fprofile-partial-training
Date: Thu, 4 May 2023 15:05:22 +0200 [thread overview]
Message-ID: <83fbeb1d-9bf8-1434-d8cb-a9827b1af266@suse.cz> (raw)
In-Reply-To: <5FEEC8EF-85A8-4A94-ABE0-3E783F0C8A7C@oracle.com>
On 5/4/23 14:54, Qing Zhao wrote:
>
>
>> On May 4, 2023, at 4:30 AM, Martin Liška <mliska@suse.cz> wrote:
>>
>> On 5/3/23 21:10, Qing Zhao via Gcc-patches wrote:
>>> Hi, Jan,
>>>
>>> You added the following patch into gcc10:
>>>
>>> From 34fbe3f0946f88828765184ed6581bda62cdf49f Mon Sep 17 00:00:00 2001
>>> From: Jan Hubicka <hubicka@ucw.cz>
>>> Date: Thu, 5 Dec 2019 19:12:51 +0100
>>> Subject: [PATCH] cgraphclones.c (localize_profile): New function.
>>>
>>> * cgraphclones.c (localize_profile): New function.
>>> (cgraph_node::create_clone): Use it for partial profiles.
>>> * common.opt (fprofile-partial-training): New flag.
>>> * doc/invoke.texi (-fprofile-partial-training): Document.
>>> * ipa-cp.c (update_profiling_info): For partial profiles do not
>>> set function profile to zero.
>>> * profile.c (compute_branch_probabilities): With partial profile
>>> watch if edge count is zero and turn all probabilities to guessed.
>>> (compute_branch_probabilities): For partial profiles do not apply
>>> profile when entry count is zero.
>>> * tree-profile.c (tree_profiling): Only do value_profile_transformations
>>> when profile is read.
>>>
>>> My question is:
>>
>> Hello.
>>
>> Why would anybody backport such change to unsupported code-stream of GCC 8?
>> Generally speaking, I discourage from doing that.
>
> Yes, I agree.
> However, many users still use GCC8 right now, and some of them are asking for more performance
> from PGO recently. That’s the reason I am studying this right now.
I understand there are products that are based on GCC8, but as the branch is officially unsupported, I don't
see a reason to backport a new feature from newer release. It's just asking for troubles. If your clients are
interested in more performance, then they should use a recent supported release.
>
> From my understanding, -fprofile-partial-training is one important option for PGO performance.
I don't think so, speed benefit would be rather small I guess.
> I’d like
> to see any big technique difficult to prevent it from being back ported to GCC8.
There might be of course some patch dependencies and I don't see a point why should we waste
time with that.
Cheers,
Martin
>
> Thanks.
>
> Qing
>
>>
>> Martin
>>
>>>
>>> Can this patch be back ported to GCC8 easily? I am wondering any significant
>>> Change between GCC8 and GCC10 that might make the backporting very hard>
>>> Thanks a lot for your help.
>>>
>>> Qing
>
next prev parent reply other threads:[~2023-05-04 13:05 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-03 19:10 Qing Zhao
2023-05-04 8:30 ` Martin Liška
2023-05-04 12:54 ` Qing Zhao
2023-05-04 13:05 ` Martin Liška [this message]
2023-05-04 13:37 ` Qing Zhao
2023-05-09 10:06 ` Martin Liška
2023-05-09 10:22 ` Jan Hubicka
2023-05-09 20:11 ` Qing Zhao
2023-05-10 13:15 ` Jan Hubicka
2023-05-11 16:08 ` Qing Zhao
2023-05-15 18:14 ` Qing Zhao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83fbeb1d-9bf8-1434-d8cb-a9827b1af266@suse.cz \
--to=mliska@suse.cz \
--cc=gcc-patches@gcc.gnu.org \
--cc=hubicka@ucw.cz \
--cc=qing.zhao@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).