Comments (4)
llvm18 use Fixed MBB ID(llvm/llvm-project@3d6841b). While autofdo now revert the code which support 'Fixed MBB ID' (ad3e924). I think it may be the reason.
from autofdo.
Unfortunately, I reproduced that result on AMD Ryzen 7700.
BASELINE:
Performance counter stats for 'bash -c ninja clang && ninja clean' (5 runs):
30,795,048,649,078 instructions # 0.78 insn per cycle ( +- 0.00% ) (75.02%)
39,645,798,620,353 cycles ( +- 0.01% ) (75.02%)
82,058,692,208 L1-icache-misses ( +- 0.01% ) (75.02%)
48,600,346,966 iTLB-misses ( +- 0.03% ) (75.03%)
512.3711 +- 0.0459 seconds time elapsed ( +- 0.01% )
PROPELLER:
Performance counter stats for 'bash -c ninja clang && ninja clean' (5 runs):
31,738,767,572,617 instructions # 0.62 insn per cycle ( +- 0.00% ) (75.02%)
51,114,393,709,732 cycles ( +- 0.02% ) (75.02%)
93,464,053,895 L1-icache-misses ( +- 0.01% ) (75.02%)
66,714,207,526 iTLB-misses ( +- 0.02% ) (75.01%)
654.6605 +- 0.0541 seconds time elapsed ( +- 0.01% )
Processor:
# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 48 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Vendor ID: AuthenticAMD
BIOS Vendor ID: Advanced Micro Devices, Inc.
Model name: AMD Ryzen 7 7700 8-Core Processor
Used OS:
# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux trixie/sid"
NAME="Debian GNU/Linux"
VERSION_CODENAME=trixie
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Kernel:
Linux XXX.XXX.XXX.XXX 6.5.0-1-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.5.6-2.1 (2023-10-08) x86_64 GNU/Linux
Perf version:
# perf --version
perf version 6.5.6
from autofdo.
Has this issue been resolved?
Use trunk to build (changed two places to solve coredump #190 ), and reproduced the results on the Intel machine.
And setting PATH_TO_TRUNK_LLVM_INSTALL=llvm17
is still slow. Does autofdo also need to switch to llvm17? @lifengxiang1025
base_line:
Performance counter stats for 'bash -c ninja -j48 clang && ninja clean' (5 runs):
31,416,027,077,187 instructions # 0.71 insn per cycle ( +- 0.03% ) (95.99%)
44,129,300,535,322 cycles ( +- 0.03% ) (95.89%)
2,417,617,615,381 L1-icache-misses ( +- 0.06% ) (95.80%)
18,663,312,138 iTLB-misses ( +- 0.05% ) (95.69%)
353.482 +- 0.258 seconds time elapsed ( +- 0.07% )
propeller
32,310,032,286,299 instructions # 0.63 insn per cycle ( +- 0.02% ) (96.32%)
51,216,471,339,669 cycles ( +- 0.04% ) (96.23%)
3,250,199,372,974 L1-icache-misses ( +- 0.05% ) (96.14%)
20,012,345,482 iTLB-misses ( +- 0.05% ) (96.05%)
406.699 +- 0.304 seconds time elapsed ( +- 0.07% )
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 64
On-line CPU(s) list: 0-63
Thread(s) per core: 2
Core(s) per socket: 16
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) Gold 5218 CPU @ 2.30GHz
from autofdo.
Has this issue been resolved? Use trunk to build (changed two places to solve coredump #190 ), and reproduced the results on the Intel machine. And setting
PATH_TO_TRUNK_LLVM_INSTALL=llvm17
is still slow. Does autofdo also need to switch to llvm17? @lifengxiang1025
I use this code snap(llvm/llvm-project@3d6841b) and propeller seems work well with llvm16(I think llvm17 is ok). The reason is:
llvm18 use Fixed MBB ID(llvm/llvm-project@3d6841b). While autofdo now revert the code which support 'Fixed MBB ID' (ad3e924). I think it may be the reason.
from autofdo.
Related Issues (20)
- dwarf2reader.cc:835: Unhandled form type HOT 2
- Huge memory consumption
- couldn't ninja HOT 2
- Disscussion: Does autofdo support .zdebug_{info,line}...
- llvm-16-compile-fix
- Apply PGO to the AutoFDO itself HOT 3
- [bug] No checking about "requires the first loadable segment to be executable". HOT 5
- Don't emit in output profile when sample count is 0. HOT 2
- excessive total_count HOT 1
- sample_reader.cc:102] Error reading from perf_inject_etm_test_loop.data&profile_creator.cc:138] Error reading profile.
- Please allow using system abseil (over bundled abseil)
- Completely broken, will not compile on Clear Linux or other distros I've tried HOT 22
- autofdo needs libprotofbuf-dev
- AutoFDO can not be built with LLVM trunk (LLVM-18)
- Optimization clang with Propeller: create_llvm_prof fails
- When support path cloning in propeller
- Build autofdo tool failed for llvm-master HOT 1
- create_gcov can not find binary with buildid and profile_creator can not read profile HOT 6
- create_llvm_prof can not found build id in propeller format HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from autofdo.