Comments (4)
Using old driver 17.50 (18.10 won't do), the perfcounters appear. I hope this info helps.
from radeon_compute_profiler.
If you get a chance, can you please try this with RCP v5.6 which was released last week, and let me know if this issues still reproduces. There were a few issues fixed with regards to using legacy OpenCL in amdgpu-pro
Thanks
from radeon_compute_profiler.
I have issues building it. I had the same issues with previous builds, but I don't remember how to fix them.
First I have to remove all -Werror (new gccs add new warnings all the time).
Second sprofile fails to build with the error
ParseCmdLine.cpp:(.text.startup+0x2): undefined reference to boost::system::generic_category()' /usr/bin/ld: ParseCmdLine.cpp:(.text.startup+0x7): undefined reference to
boost::system::generic_category()'
/usr/bin/ld: ParseCmdLine.cpp:(.text.startup+0xc): undefined reference to `boost::system::system_category()'
from radeon_compute_profiler.
I have issues building it. I had the same issues with previous builds, but I don't remember how to fix them.
First I have to remove all -Werror (new gccs add new warnings all the time).
Second sprofile fails to build with the error:ParseCmdLine.cpp:(.text.startup+0x2): undefined reference to boost::system::generic_category()'
/usr/bin/ld: ParseCmdLine.cpp:(.text.startup+0x7): undefined reference to boost::system::generic_category()'
/usr/bin/ld: ParseCmdLine.cpp:(.text.startup+0xc): undefined reference to `boost::system::system_category()'
I encountered the same problem. It seems that this software package is no longer maintained, there are many outdated identifiers, missing library includes, and other problems. These problems are relatively easy to fix, but I was completely puzzled by the final Boost linking undefined reference problem, it's the most tricky one that took me several hours to find the answer: it turned out to be a C++ ABI compatibility problem because rcprof was building using the bundled Boost headers from Boost 1.59, but at link time I was using the system Boost library binaries, creating ABI conflicts. This is clearly not guaranteed to work. To fix that, there are two ways.
-
The proper way. Change
BOOST_DIR = $(COMMON_LIB_EXT)/Boost/boost_1_59_0
to the Boost source tree, the version should be the same as your system's version, for exampleBOOST_DIR = /home/user/boost_1_83_0/
. If your system doesn't provide static.a
files for Boost, just compile Boost from source, then setBOOST_LIB_DIR
to be the build output of the same Boost version, such asBOOST_LIB_DIR = /home/user/boost_1_83_0/stage/lib
. Otherwise, there will be undefined references toboost::filesystem::path_traits
. -
The coincidence. My experiment showed that if Boost 1.76 is built using
--std=c++11
, linking against Boost 1.76 would work even if the source is compiled with Boost 1.59. But this is entirely a coincidence. If Boost is built using a higher C++ standard, there will beundefined reference to boost::system::generic_category()
.
Unfortunately, upon further investigation, even the "fixed" build still has problems. Only HSA profiling works, but not OpenCL or occupancy profiling. It turned out that rocprof is just a wrapper for various underlying modules, such as HSAFdnTrace
, HSAFdnPMC
, CLOccupancyAgent
, CLProfileAgent
, CLTraceAgent
- all rocprof does is registers these modules and writes a configuration file before the user application runs, it's up to the modules themselves to do the actual work. This is why rocprof only reports Failed to generate profile result
at the very end - it only reads an output file and has no idea about how the modules work by themselves - in this case, they're never executed.
For HSA and OpenCL, different loading mechanisms are used. For OpenCL and occupancy, it uses a method similar to LD_PRELOAD
by replacing the OpenCL functions with instrumented versions. However, for reason unknown, the entry point is no longer invoked (possibility due to incompatible SDK change)? So now CLOccupancyAgent
, CLProfileAgent
, CLTraceAgent
can no longer be invoked anywhere, their entry point cl_int CL_CALLBACK clAgent_OnLoad(cl_agent* agent)
never executes.
Without someone who has a deeper understand about how the library preloading actually works, I'm afraid that this problem cannot be fixed. If anyone's interested and wishes to continue the investigation, reply to this thread and I can send a list of patches to replicate my build.
from radeon_compute_profiler.
Related Issues (20)
- dump ISA HOT 1
- build problem HOT 2
- Is there a workaround for "Version mismatch between HSA runtime and libhsa-runtime-tools64.so.1"?" HOT 3
- When will we get a ROCm 1.9 compatible release? HOT 2
- Incompatible git command HOT 1
- Failed to generate profile result HOT 9
- [Build failure] [HSAFdnTrace] Missing header and wrong definition HOT 1
- Navi10 support on launch day?
- Build failure in AMDTActivityLoggerProfileControl HOT 4
- Incorrectly parse arguments with spaces
- Missing basic counters from full list of performance counters
- Build RCP for Gentoo Linux using GCC 9.1 - problems and solutions
- Building RCP-5.6 - HSAFdnCommon misses "amd_hsa_tools_interfaces.h"
- Build Instructions - Linux - arguments to build_rcp.sh
- Build failure in scons HOT 2
- kernel output with all fails to generate the output profile HOT 1
- build failed according to instuction
- Build failure in AMDTActivityLoggerProfileControl.cpp HOT 1
- Doesn't find amd_comgr.h automatically
- RCP can support rocm4.0.0/4.0.1 ?
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 radeon_compute_profiler.