Page MenuHomePhabricator

GGanesh (Ganesh Gopalasubramanian)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 25 2016, 3:58 AM (360 w, 12 h)

Recent Activity

Wed, Mar 8

GGanesh committed rGffdd5a330c05: [X86] AMD Genoa (znver4) Scheduler model update (authored by GGanesh).
[X86] AMD Genoa (znver4) Scheduler model update
Wed, Mar 8, 11:35 AM · Restricted Project, Restricted Project

Tue, Mar 7

GGanesh updated the diff for D144010: [X86] AMD Znver4 (Genoa) Scheduler enablement.

Updated for Vector integer classes (ZMM variants) as per @RKSimon comments!

Tue, Mar 7, 11:34 PM · Restricted Project, Restricted Project
GGanesh updated the diff for D144010: [X86] AMD Znver4 (Genoa) Scheduler enablement.

Adjusted the resource cycles and retained the micro-ops as is as per @RKSimon comments!

Tue, Mar 7, 12:12 AM · Restricted Project, Restricted Project

Mon, Mar 6

GGanesh updated the diff for D144010: [X86] AMD Znver4 (Genoa) Scheduler enablement.

Updated for review comments!

Mon, Mar 6, 9:32 AM · Restricted Project, Restricted Project

Thu, Mar 2

GGanesh updated the diff for D144010: [X86] AMD Znver4 (Genoa) Scheduler enablement.

Updated for RKSimon's review comments as below.

Thu, Mar 2, 12:37 AM · Restricted Project, Restricted Project

Feb 14 2023

GGanesh requested review of D144010: [X86] AMD Znver4 (Genoa) Scheduler enablement.
Feb 14 2023, 6:40 AM · Restricted Project, Restricted Project

Feb 5 2023

GGanesh committed rG10b7c47e8255: [X86] Add RMPQUERY to SNP instructions (authored by GGanesh).
[X86] Add RMPQUERY to SNP instructions
Feb 5 2023, 9:17 PM · Restricted Project, Restricted Project
GGanesh closed D141458: [X86] Add RMPQUERY to SNP instructions.
Feb 5 2023, 9:17 PM · Restricted Project, Restricted Project

Feb 3 2023

GGanesh updated the diff for D141458: [X86] Add RMPQUERY to SNP instructions.

Modified RMPADJUST instruction definition.

Feb 3 2023, 8:18 PM · Restricted Project, Restricted Project

Feb 1 2023

GGanesh updated the diff for D141458: [X86] Add RMPQUERY to SNP instructions.

Updated the SNP instructions for the review comments!

Feb 1 2023, 11:49 AM · Restricted Project, Restricted Project

Jan 11 2023

GGanesh added a comment to D141458: [X86] Add RMPQUERY to SNP instructions.

Is it worth adding a SNP feature predicate to X86.td? Are they ever going to be exposed as intrinsics or just asm?

Jan 11 2023, 9:49 PM · Restricted Project, Restricted Project

Jan 10 2023

GGanesh requested review of D141458: [X86] Add RMPQUERY to SNP instructions.
Jan 10 2023, 9:31 PM · Restricted Project, Restricted Project
GGanesh added a reverting change for rG313b747c5bf2: [X86] Add RMPQUERY to SNP instructions: rG506ef97dc87e: Revert "[X86] Add RMPQUERY to SNP instructions".
Jan 10 2023, 5:44 AM · Restricted Project, Restricted Project
GGanesh committed rG506ef97dc87e: Revert "[X86] Add RMPQUERY to SNP instructions" (authored by GGanesh).
Revert "[X86] Add RMPQUERY to SNP instructions"
Jan 10 2023, 5:44 AM · Restricted Project, Restricted Project
GGanesh committed rG313b747c5bf2: [X86] Add RMPQUERY to SNP instructions (authored by GGanesh).
[X86] Add RMPQUERY to SNP instructions
Jan 10 2023, 5:35 AM · Restricted Project, Restricted Project

Dec 17 2022

GGanesh committed rG1f057e365f1f: [X86] AMD Zen 4 Initial enablement (authored by GGanesh).
[X86] AMD Zen 4 Initial enablement
Dec 17 2022, 3:04 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
GGanesh closed D139073: [X86] AMD Zen 4 Initial enablement.
Dec 17 2022, 3:04 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Dec 15 2022

GGanesh updated the summary of D139073: [X86] AMD Zen 4 Initial enablement.
Dec 15 2022, 5:29 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
GGanesh updated the diff for D139073: [X86] AMD Zen 4 Initial enablement.

Fixed the tests

Dec 15 2022, 5:28 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
GGanesh added a comment to D139073: [X86] AMD Zen 4 Initial enablement.

Thanks @GGanesh - LGTM with one minor - the orphan ZNVER4 checks from the llvm-mca tests need removing

Dec 15 2022, 3:25 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
GGanesh updated the diff for D139073: [X86] AMD Zen 4 Initial enablement.

Update to use 'no' processor model.
Fixed the below tests
tools/llvm-mca/X86/cpus.s
tools/llvm-mca/X86/read-after-ld-1.s
tools/llvm-mca/X86/register-file-statistics.s
tools/llvm-mca/X86/scheduler-queue-usage.s

Dec 15 2022, 1:31 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Dec 14 2022

GGanesh added a comment to D139073: [X86] AMD Zen 4 Initial enablement.

@GGanesh reverse-ping

Dec 14 2022, 6:59 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Nov 30 2022

GGanesh requested review of D139073: [X86] AMD Zen 4 Initial enablement.
Nov 30 2022, 9:32 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Nov 9 2022

GGanesh added a comment to D137695: [X86] Add missing Zen3 model subtypes.

The following are the AMD Zen3 models.

Nov 9 2022, 2:43 AM · Restricted Project, Restricted Project, Restricted Project

May 1 2021

GGanesh added a comment to D94395: [X86] AMD Zen 3 Scheduler Model.

@GGanesh thank you for taking a look.
1 nit addressed

@GGanesh i plan on landing this next monday, may 3'rd, in 3 days, unless some blocking feedback is provided.

I am fine mostly. Will give it another look and check the details.

Was that it?

May 1 2021, 11:13 AM · Restricted Project

Apr 30 2021

GGanesh added a comment to D94395: [X86] AMD Zen 3 Scheduler Model.

@GGanesh i plan on landing this next monday, may 3'rd, in 3 days, unless some blocking feedback is provided.

Apr 30 2021, 8:56 AM · Restricted Project

Apr 26 2021

GGanesh added a comment to D94395: [X86] AMD Zen 3 Scheduler Model.

Regarding the pipe events, the patch in kernel.org had just copy pasted events from zen1 and zen2. Apparently, I learnt that these events are restricted and at present not really ready for public for znver3. That is what is reflected in the kernel patch as well. If we notice, PMCx000 is incorrectly mapped and doesn't really count the 6 pipes.

Is that something that might be fixed via/in next microcode updates, or it's a hardware bug?

Apr 26 2021, 11:33 AM · Restricted Project
GGanesh added a comment to D94395: [X86] AMD Zen 3 Scheduler Model.

Regarding the pipe events, the patch in kernel.org had just copy pasted events from zen1 and zen2. Apparently, I learnt that these events are restricted and at present not really ready for public for znver3. That is what is reflected in the kernel patch as well. If we notice, PMCx000 is incorrectly mapped and doesn't really count the 6 pipes.
Is there any workaround that you guys suggest. I understand that these are pfm counters and are dynamic in nature. However, for the model, (at least for the throughput numbers) shall I publish our internal numbers running the internally enabled libpfm4 library? This is restricted in its immediate purpose which I understand however at present it may act as a work around for the throughput and llvm-mca numbers.
I am going through the modifications\corrections made in the by @lebedev.ri in the meantime.

Apr 26 2021, 10:27 AM · Restricted Project

Mar 24 2021

GGanesh added a comment to D94395: [X86] AMD Zen 3 Scheduler Model.

The FPU pipe counters aren't in the PPR as well. I have raised a ticket so as to get this updated in the PPR. Unfortunately, without the document getting updated, these events can't be enabled.

Mar 24 2021, 7:51 AM · Restricted Project

Mar 19 2021

GGanesh added a comment to D94395: [X86] AMD Zen 3 Scheduler Model.

My colleague had submitted the libpfm4 patch to the libpfm4 community. You can take this patch and enablement for exegesis for znver3. Thank you for the help!

Mar 19 2021, 11:53 PM · Restricted Project

Mar 16 2021

GGanesh added a comment to D94395: [X86] AMD Zen 3 Scheduler Model.

We have exchanged mails with Eranian for libpfm4 support. We will upload the libpfm4 patch shortly (3-4 days in time). The patch will be based on the latest PPR manual (https://www.amd.com/system/files/TechDocs/55898_pub.zip). I believe that will keep it moving for verifying the numbers and the details with exegesis.

Mar 16 2021, 1:04 PM · Restricted Project

Feb 26 2021

GGanesh added a comment to D94395: [X86] AMD Zen 3 Scheduler Model.

I can work on znver1 and znver2 models as well. I have a znver2 machine. Let me check if I can get a znver1 machine and run exegesis to correct these latency\throughput numbers.

Feb 26 2021, 10:59 AM · Restricted Project

Feb 25 2021

GGanesh added a comment to D94395: [X86] AMD Zen 3 Scheduler Model.

We have started working on the libpfm patch. We are working on getting it posted very soon! Hopefully, once that is in place, we will be able to measure these numbers in znver3 hardware and correct accordingly.

Feb 25 2021, 8:14 PM · Restricted Project

Jan 26 2021

GGanesh added a comment to D94395: [X86] AMD Zen 3 Scheduler Model.

I would like to know if this patch can be approved and later can be checked for the numbers when a cpu is accessible.
Since this is an extension and tweaks from znver1->znver2 path, I would request that if it is doable.

Jan 26 2021, 7:39 PM · Restricted Project

Jan 20 2021

GGanesh added a comment to D94395: [X86] AMD Zen 3 Scheduler Model.

Ping!

Jan 20 2021, 9:20 AM · Restricted Project

Jan 12 2021

GGanesh requested review of D94543: [DAGCombine] Optimize pow(X, (2/3)) and Pow(X,(3/2)).
Jan 12 2021, 12:33 PM · Restricted Project, Restricted Project

Jan 11 2021

GGanesh added a comment to D94436: [X86] Add the FSRM feature (Fast Short Rep Mov) to Zen3..

The enhancement applies to specific string lengths. I will check it and if need be will submit changes with respect to this prerequisite.

Jan 11 2021, 9:28 PM · Restricted Project
GGanesh requested review of D94395: [X86] AMD Zen 3 Scheduler Model.
Jan 11 2021, 2:01 AM · Restricted Project

Jan 8 2021

GGanesh committed rG9386483b7142: [X86] Add TLBSYNC, INVLPGB and SNP instructions (authored by GGanesh).
[X86] Add TLBSYNC, INVLPGB and SNP instructions
Jan 8 2021, 9:10 AM
GGanesh closed D94134: [X86] Add TLBSYNC, INVLPGB and SNP instructions.
Jan 8 2021, 9:09 AM · lld, Restricted Project

Jan 6 2021

GGanesh committed rGdbfc1ac4d86c: [X86] Update tests for znver3 (authored by GGanesh).
[X86] Update tests for znver3
Jan 6 2021, 10:24 PM
GGanesh closed D92812: [X86] Update tests for znver3.
Jan 6 2021, 10:24 PM · Restricted Project, Restricted Project, Restricted Project
GGanesh retitled D92812: [X86] Update tests for znver3 from [X86] AMD Znver3 (Family 19H) Enablement to [X86] Update tests for znver3.
Jan 6 2021, 2:29 AM · Restricted Project, Restricted Project, Restricted Project
GGanesh updated the diff for D94134: [X86] Add TLBSYNC, INVLPGB and SNP instructions.

Updated the patch for the review comments from @craig.topper and @pengfei

  1. The instructions are updated for prefix specifiers
  2. Except for pvalidate all the SNP instructions are valid only in 64-bit environment. Corrected the test accordingly.
  3. The modes (In64BitMode, In64BitMode) are updated in Instruction description.
Jan 6 2021, 1:53 AM · lld, Restricted Project

Jan 5 2021

GGanesh requested review of D94134: [X86] Add TLBSYNC, INVLPGB and SNP instructions.
Jan 5 2021, 3:51 PM · lld, Restricted Project
GGanesh updated the diff for D92812: [X86] Update tests for znver3.

Updaing the patch so that the simplified patch adds only few missing znver3 tests. The subsequent patches will comprehensively enable other znver3 features.

Jan 5 2021, 1:15 PM · Restricted Project, Restricted Project, Restricted Project

Dec 8 2020

GGanesh added a comment to D92812: [X86] Update tests for znver3.

it looks like a very bad merge imo.

Yep, Thank you! I will post smaller incremental patches.

Dec 8 2020, 12:48 PM · Restricted Project, Restricted Project, Restricted Project

Dec 7 2020

GGanesh requested review of D92812: [X86] Update tests for znver3.
Dec 7 2020, 8:49 PM · Restricted Project, Restricted Project, Restricted Project

Apr 22 2020

GGanesh added a comment to D27028: Add intrinsics for constrained floating point operations.

@andrew.w.kaylor I went through the mailing list thread regarding this change and saw "Eventually, we’ll want to go back and teach specific optimizations to understand the intrinsics so that where possible optimizations can be performed in a manner consistent with dynamic rounding modes and strict exception handling.".
Do you have any references\plans on how to teach specific optimizations on this?

Apr 22 2020, 9:12 AM

Jan 30 2020

GGanesh added a comment to D72032: [llvm-exegesis] Add pfm counters for Zen2 (znver2)..

Good with me! I am have moved some stones to get the wikichip URL updated.

Jan 30 2020, 1:33 AM · Restricted Project
GGanesh added inline comments to D72032: [llvm-exegesis] Add pfm counters for Zen2 (znver2)..
Jan 30 2020, 1:14 AM · Restricted Project
GGanesh added inline comments to D72032: [llvm-exegesis] Add pfm counters for Zen2 (znver2)..
Jan 30 2020, 12:36 AM · Restricted Project
GGanesh added a comment to D73172: [X86][Sched] A bunch of fixes to the Zen2 sched model latencies..

Yes looks good to me.

Jan 30 2020, 12:17 AM · Restricted Project

Jan 27 2020

GGanesh added a comment to D73172: [X86][Sched] A bunch of fixes to the Zen2 sched model latencies..

Changes done are obvious. Are you using libpfm with znver2 for verifying these?

Jan 27 2020, 1:37 AM · Restricted Project

Jan 9 2020

GGanesh committed rG3408940f7369: [X86] AMD Znver2 (Rome) Scheduler enablement (authored by GGanesh).
[X86] AMD Znver2 (Rome) Scheduler enablement
Jan 9 2020, 11:20 AM
GGanesh closed D66088: AMD Znver2 (Rome) Scheduler enablement.
Jan 9 2020, 11:20 AM · Restricted Project
GGanesh committed rGd7a715bebba5: [X86] AMD Znver2 (Rome) Scheduler enablement (authored by GGanesh).
[X86] AMD Znver2 (Rome) Scheduler enablement
Jan 9 2020, 6:18 AM

Jan 4 2020

GGanesh added a comment to D72032: [llvm-exegesis] Add pfm counters for Zen2 (znver2)..

RKSimon could you please commit D66088 on my behalf. I think my github account is not added.

Jan 4 2020, 6:46 AM · Restricted Project

Dec 31 2019

GGanesh added a comment to D72032: [llvm-exegesis] Add pfm counters for Zen2 (znver2)..

We are checking the libpfm enablement. I can commit D66088 if we are okay without libpfm.

Dec 31 2019, 4:22 AM · Restricted Project

Nov 18 2019

GGanesh added a comment to D66088: AMD Znver2 (Rome) Scheduler enablement.

I agree on having a patch to enable exegesis. Will post that in couple of days. As mentioned, this is part of the initial plan as well.

Nov 18 2019, 5:14 PM · Restricted Project

Nov 11 2019

GGanesh added a comment to D66088: AMD Znver2 (Rome) Scheduler enablement.

Ping!

Nov 11 2019, 12:04 AM · Restricted Project

Nov 3 2019

GGanesh added a comment to D66088: AMD Znver2 (Rome) Scheduler enablement.

Ping!

Nov 3 2019, 9:47 PM · Restricted Project

Oct 22 2019

GGanesh updated the diff for D66088: AMD Znver2 (Rome) Scheduler enablement.

Updated the patch for review comments.

Oct 22 2019, 3:18 PM · Restricted Project

Oct 16 2019

GGanesh updated the diff for D66088: AMD Znver2 (Rome) Scheduler enablement.

Updated for review comments and latency modifications for MUL, vzeroupper, CLZERO instructions.

Oct 16 2019, 3:54 PM · Restricted Project
GGanesh updated the diff for D66088: AMD Znver2 (Rome) Scheduler enablement.

The changes for review comments are incorporated.
The latency information in CLZERO, VZEROUPPER, MUL instructions are updated.

Oct 16 2019, 10:46 AM · Restricted Project

Aug 18 2019

GGanesh added a comment to D66088: AMD Znver2 (Rome) Scheduler enablement.

Ping!

Aug 18 2019, 10:58 PM · Restricted Project

Aug 12 2019

GGanesh created D66088: AMD Znver2 (Rome) Scheduler enablement.
Aug 12 2019, 6:58 AM · Restricted Project

Feb 26 2019

GGanesh committed rG4f171d276175: [X86] AMD znver2 enablement (authored by GGanesh).
[X86] AMD znver2 enablement
Feb 26 2019, 9:15 AM
GGanesh committed rGe172d7008d0c: [X86] AMD znver2 enablement (authored by GGanesh).
[X86] AMD znver2 enablement
Feb 26 2019, 8:55 AM

Feb 25 2019

GGanesh committed rGf03939fcc3ab: Test commit (remove a blank space) (authored by GGanesh).
Test commit (remove a blank space)
Feb 25 2019, 4:27 AM

Feb 19 2019

GGanesh updated the diff for D58343: Enablement for AMD znver2 architecture - skeleton patch.
Feb 19 2019, 9:04 AM · Restricted Project, Restricted Project
GGanesh updated the diff for D58343: Enablement for AMD znver2 architecture - skeleton patch.
Feb 19 2019, 8:59 AM · Restricted Project, Restricted Project
GGanesh updated the diff for D58343: Enablement for AMD znver2 architecture - skeleton patch.

Addressed the comments from Craig Topper

Feb 19 2019, 3:29 AM · Restricted Project, Restricted Project

Feb 18 2019

GGanesh created D58343: Enablement for AMD znver2 architecture - skeleton patch.
Feb 18 2019, 4:26 AM · Restricted Project, Restricted Project

Jul 23 2018

GGanesh accepted D49392: [NFC][MCA] ZnVer1: add partial-reg-update tests.

LGTM!

Jul 23 2018, 2:50 AM
GGanesh accepted D49393: [NFC][MCA] ZnVer1: Update RegisterFile to identify false dependencies on partially written registers..

I am fine!

Jul 23 2018, 2:47 AM

Jun 19 2018

GGanesh accepted D47676: [X86][Znver1] Specify Register Files, RCU; FP scheduler capacity..
Jun 19 2018, 11:16 PM
GGanesh added a comment to D47676: [X86][Znver1] Specify Register Files, RCU; FP scheduler capacity..

LGTM!

Jun 19 2018, 9:09 PM

Jun 3 2018

GGanesh added inline comments to D47676: [X86][Znver1] Specify Register Files, RCU; FP scheduler capacity..
Jun 3 2018, 10:31 PM

May 3 2018

GGanesh added a comment to D46229: [X86][AVX] Tag VPMOVSX/VPMOVZX ymm instructions as WriteShuffle256..

Sorry! Missed this thread completely!
LGTM!

May 3 2018, 10:41 AM

May 1 2018

GGanesh added a comment to D46314: [X86][AMD][Bulldozer] Fix Bulldozer Model 2 detection..

gcc uses feature bits. That would be a differential ISA with respect to the previous gen. I think the idea is to get the ISA list as close to the underlying arch. When an older version of the compiler gets used which doesn't have the arch enabled, the compiler can fallback to the closest arch which enables the ISA list.

May 1 2018, 9:26 AM

Apr 8 2018

GGanesh added inline comments to D45380: [X86] Add SchedWrites for CMOV and SETCC. Use them to remove InstRWs..
Apr 8 2018, 3:07 AM

Apr 7 2018

GGanesh added a comment to D44841: [X86][Znver1] Remove InstRWs for BLENDVPS/PD.

It shouldn't differ.
The xmm version has 1 cycle latency and ymm version has 2 cycle latency for both AVX and SSE.

Apr 7 2018, 9:50 PM

Mar 29 2018

GGanesh added inline comments to D44972: [X86] Add SchedRW for PMULLD.
Mar 29 2018, 9:20 PM

Mar 27 2018

GGanesh added inline comments to D44924: [X86] Add WriteFMOVMSK/WriteVecMOVMSK/WriteMMXMOVMSK scheduler classes.
Mar 27 2018, 6:38 AM

Mar 25 2018

GGanesh added a comment to D44687: [SchedModel] Remove instregex entries that don't match any instructions (WIP).

Looks good to me!

Mar 25 2018, 7:57 PM
GGanesh added inline comments to D44879: [X86] Add WriteBitScan/WriteLZCNT/WriteTZCNT/WritePOPCNT scheduler classes (PR36881).
Mar 25 2018, 7:57 PM

Mar 21 2018

GGanesh added inline comments to D44687: [SchedModel] Remove instregex entries that don't match any instructions (WIP).
Mar 21 2018, 9:34 PM

Aug 30 2017

GGanesh updated the diff for D36617: AMD Zen Scheduler Model Update.

Updated for review comments from Craig Topper!

Aug 30 2017, 3:54 AM

Aug 22 2017

GGanesh added a comment to D36617: AMD Zen Scheduler Model Update.

Simon! If you are okay with the patch, can you please commit the patch on my behalf!

Aug 22 2017, 8:46 AM
GGanesh updated the diff for D36617: AMD Zen Scheduler Model Update.

Updated as per Javed's comments!

Aug 22 2017, 12:15 AM

Aug 20 2017

GGanesh updated the diff for D36617: AMD Zen Scheduler Model Update.

Updated the patch as per Simon's comments.
Added the FP instruction itineraries which includes SSE4A and SHA instructions.

Aug 20 2017, 12:30 PM

Aug 18 2017

GGanesh added a comment to D36617: AMD Zen Scheduler Model Update.

Yes Simon! I will include the SSE4A instructions, their itineraries in the next patch. I will include tests verifying them as well.
If this patch is okay, can you please commit this patch on my behalf.

Aug 18 2017, 7:10 AM
GGanesh added a comment to D36617: AMD Zen Scheduler Model Update.

Simon, Craig Topper! My next increment is ready. If this patch can be accepted and committed, I will rebase and submit the next patch.
Or should I submit the next patch as an incremental patch with the changes put forth in this patch? Please help!

Aug 18 2017, 3:19 AM

Aug 14 2017

GGanesh updated the diff for D36617: AMD Zen Scheduler Model Update.

Updated for the itineraries of memory variants of the instructions.

Aug 14 2017, 2:41 AM

Aug 11 2017

GGanesh created D36617: AMD Zen Scheduler Model Update.
Aug 11 2017, 7:46 AM

Jul 19 2017

GGanesh added a comment to D35293: AMD znver1 Initial Scheduler model.

Thanks all!

Jul 19 2017, 8:21 AM

Jul 18 2017

GGanesh added a comment to D35293: AMD znver1 Initial Scheduler model.

Simon! If you are fine, can you please commit the patch on my behalf. I am yet to get commit access rights. Probably, after this patch, I will try to get it.

Jul 18 2017, 4:24 AM
GGanesh updated the diff for D35293: AMD znver1 Initial Scheduler model.

Patch update: For newer testcases.

Jul 18 2017, 4:02 AM

Jul 17 2017

GGanesh updated the diff for D35293: AMD znver1 Initial Scheduler model.

Updated as per Javed's review comments!

Jul 17 2017, 3:51 AM