Comments (6)
@bingxinliu If you can share out gmx
and loop1.perf
that you are passing to create_gcov
, I can investigate your failure.
from autofdo.
@bingxinliu If you can share out
gmx
andloop1.perf
that you are passing tocreate_gcov
, I can investigate your failure.
@erozenfeld Hi, sorry for replying late, the log file is too large (~300MB) to share it via github, so I uploaded it to onedrive and shared it. The url is here and password is autofdo
if necessary. Really appreciate for your help. THX!
from autofdo.
@bingxinliu It looks like your profile doesn't have events for binary with buildid 9e166341c96797559485bb5c2e656da4c9b4e078
:
/home/erozen/bin/perf buildid-list -i ./loop1.perf
a6243ce6e9e5f490e7107d9e428b097150e55bb2 [kernel.kallsyms]
fb6b031703ec138b7bd76acdb1c3372dafe45472 [vdso]
901c89cff01d23aa026a99b31bcacf240b96e332 /home/liubx/Development/codes/gromacs/gromacs-2023.2-original-src/build-original/lib/libgromacs.so.8.0.0
51657f818beb1ae70372216a99b7412b8a100a20 /usr/lib/x86_64-linux-gnu/libc.so.6
e845af0c38643152c9cc58dab8540e6f57677eb4 /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
from autofdo.
@bingxinliu Looks like most of the samples are in libgromacs.so.8.0.0
. Do you want to optimize gmx
or libgromacs.so.8.0.0
with AutoFDO?
from autofdo.
@erozenfeld Thank you for your replying!
@bingxinliu Looks like most of the samples are in
libgromacs.so.8.0.0
. Do you want to optimizegmx
orlibgromacs.so.8.0.0
with AutoFDO?
I think gmx
depends on libgromacs
which is generated by the cmake option -DBUILD_SHARED_LIBS=ON
, so they are basically the same in my opinion. Does this mean that AutoFDO does not support profiling shared library?
@bingxinliu It looks like your profile doesn't have events for binary with buildid
9e166341c96797559485bb5c2e656da4c9b4e078
:/home/erozen/bin/perf buildid-list -i ./loop1.perf a6243ce6e9e5f490e7107d9e428b097150e55bb2 [kernel.kallsyms] fb6b031703ec138b7bd76acdb1c3372dafe45472 [vdso] 901c89cff01d23aa026a99b31bcacf240b96e332 /home/liubx/Development/codes/gromacs/gromacs-2023.2-original-src/build-original/lib/libgromacs.so.8.0.0 51657f818beb1ae70372216a99b7412b8a100a20 /usr/lib/x86_64-linux-gnu/libc.so.6 e845af0c38643152c9cc58dab8540e6f57677eb4 /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
Another problem is that I did perf the gmx
as shown below. It should be ok to find the binary with buildid 9e166341c96797559485bb5c2e656da4c9b4e078
perf record -o ${PERF_PATH}/loop$1.perf \
-b -e br_inst_retired.near_taken:pp -- \
${GMX_PATH}/bin/gmx mdrun \
-resethway -npme 0 -notunepme -noconfout -nsteps 1000 -v -s bench.tpr \
> output.result$1
And the gmx
indeed has the same buildid. Maybe most of gmx
's code is just calling libgromacs
so that no event is tagged with gmx
. The problem may be caused by how I perf the program?
from autofdo.
@bingxinliu Yes, it doesn't look like any events are associated with gmx
. All the work is done in libgromacs.so.8.0.0
. create_gcov
works on a per-binary basis. You probably want to optimize libgromacs.so.8.0.0
with AutoFDO since the work is done there. In that case you'll need to pass --binary=<path_to_libgromacs.so.8.0.0>
and then make sure that the resulting .gcov file is used during libgromacs.so.8.0.0
build.
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
- Propeller slows down clang ~20% HOT 4
- When support path cloning in propeller
- Build autofdo tool failed for llvm-master HOT 1
- 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.