[Bug tree-optimization/109154] New: [13 regression] aarch64 -mcpu=neoverse-v1 microbude performance regression
pgodbole at nvidia dot com
gcc-bugzilla@gcc.gnu.org
Thu Mar 16 11:57:47 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109154
Bug ID: 109154
Summary: [13 regression] aarch64 -mcpu=neoverse-v1 microbude
performance regression
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: pgodbole at nvidia dot com
CC: ramana at gcc dot gnu.org
Target Milestone: ---
Created attachment 54681
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54681&action=edit
Reduced microbude test case
We're observing a significant performance drop (~30%) in an application when
comparing gcc trunk against gcc 12, observed with -mcpu=neoverse-v1 on an
aarch64 Neoverse-V1. With OMP_NUM_THREADS=1 we see a regression of nearly 60%
between gcc12 and gcc13. The test case attached is reduced from a test shared
here https://github.com/UoB-HPC/microBUDE and has been made more suitable for a
gcc bug report.
$ install-gcc-12/bin/g++ --version
g++ (GCC) 12.2.1 20221222 [master r13-4850-g74544bdadc4]
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ install-gcc-trunk/bin/g++ --version
g++ (GCC) 13.0.1 20230315 (experimental)
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Command line used :
$ install-gcc-12/bin/g++ -std=c++17 -Wall -Wno-sign-compare
-Wno-unused-variable -Ofast -mcpu=neoverse-v1 -fopenmp -g3
reduced_microbude.cpp -o microbude-12-neoverse-v1
$ ./microbude-12-neoverse-v1
$ install-gcc-trunk/bin/g++ -std=c++17 -Wall -Wno-sign-compare
-Wno-unused-variable -Ofast -mcpu=neoverse-v1 -fopenmp -g3
reduced_microbude.cpp -o microbude-trunk-neoverse-v1
Bisecting suggests that commit
https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=4fbe3e6a could be a possible
candidate. Thank you Tom Lin for the help here with the bisection.
Thanks
More information about the Gcc-bugs
mailing list