ROCm / roctracer

ROCm Tracer Callback/Activity Library for Performance tracing AMD GPUs
https://rocm.docs.amd.com/projects/roctracer/en/latest/
Other
64 stars 30 forks source link

Why rocm-4.1.0 release on 2018-2-28? #51

Closed xuhuisheng closed 3 years ago

xuhuisheng commented 3 years ago

It is weired that roctrace release a tag which is 3 years ago. https://github.com/ROCm-Developer-Tools/roctracer/releases/tag/rocm-4.1.0

I am afraid roctrace and rocprofilter upload wrong codes. Both of them upload rocm-4.1.0 tag on 2018-02-28. And codes are same.

Actually I meet some compile problems.

Reading package lists... Done
Building dependency tree
Reading state information... Done
python-is-python3 is already the newest version (3.8.2-4).
python3-pip is already the newest version (20.0.2-5ubuntu1.1).
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Requirement already satisfied: cppheaderparser in /home/work/.local/lib/python3.8/site-packages (2.7.4)
Requirement already satisfied: ply in /home/work/.local/lib/python3.8/site-packages (from cppheaderparser) (3.11)
~/rocm-build/build/roctracer ~/rocm-build/build/roctracer
----------------NBIT: 64
-----------BuildType: release
------------Compiler: /usr/bin/c++
----Compiler-Version: 9.3.0
-----HSA-Runtime-Inc: /opt/rocm/hsa/include/hsa
-----HSA-Runtime-Lib: /opt/rocm/lib
------------API-path: /opt/rocm/hsa/include/hsa
-----CMAKE_CXX_FLAGS: -std=c++11 -Wall -Werror -Werror=return-type -fexceptions -fvisibility=hidden -fno-math-errno -fno-threadsafe-statics -fmerge-all-constants -fms-extensions -fmerge-all-constants -fPIC -m64  -msse -msse2
---CMAKE_PREFIX_PATH: /opt/rocm
-- LIB-VERSION: 1.0.0
-- Configuring done
-- Generating done
-- Build files have been written to: /home/work/rocm-build/build/roctracer
[1/4] Building CXX object CMakeFiles/rocprofiler64.dir/src/core/intercept_queue.cpp.o
FAILED: CMakeFiles/rocprofiler64.dir/src/core/intercept_queue.cpp.o
/usr/bin/c++  -DAMD_INTERNAL_BUILD -DHSA_DEPRECATED="" -DHSA_LARGE_MODEL="" -DLINUX -DLITTLEENDIAN_CPU=1 -DROCP_HSA_INTERCEPT=1 -DROCP_HSA_PROXY=1 -DUNIX_OS -D__AMD64__ -D__linux__ -D__x86_64__ -Drocprofiler64_EXPORTS -I/home/work/ROCm/roctracer/src -I/home/work/ROCm/roctracer -I/opt/rocm/hsa/include/hsa -std=c++11 -Wall -Werror -Werror=return-type -fexceptions -fvisibility=hidden -fno-math-errno -fno-threadsafe-statics -fmerge-all-constants -fms-extensions -fmerge-all-constants -fPIC -m64  -msse -msse2 -O3 -DNDEBUG -fPIC -MD -MT CMakeFiles/rocprofiler64.dir/src/core/intercept_queue.cpp.o -MF CMakeFiles/rocprofiler64.dir/src/core/intercept_queue.cpp.o.d -o CMakeFiles/rocprofiler64.dir/src/core/intercept_queue.cpp.o -c /home/work/ROCm/roctracer/src/core/intercept_queue.cpp
In file included from /home/work/ROCm/roctracer/src/core/metrics.h:15,
                 from /home/work/ROCm/roctracer/src/core/context.h:11,
                 from /home/work/ROCm/roctracer/src/core/intercept_queue.h:13,
                 from /home/work/ROCm/roctracer/src/core/intercept_queue.cpp:1:
/home/work/ROCm/roctracer/src/core/profile.h: In destructor 'virtual rocprofiler::Profile::~Profile()':
/home/work/ROCm/roctracer/src/util/exception.h:14:56: error: throw will always call terminate() [-Werror=terminate]
   14 |     throw rocprofiler::util::exception(error, oss.str());                                          \
      |                                                        ^
/home/work/ROCm/roctracer/src/core/profile.h:97:41: note: in expansion of macro 'EXC_RAISING'
   97 |       if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "signal_destroy " << std::hex << status);
      |                                         ^~~~~~~~~~~
/home/work/ROCm/roctracer/src/util/exception.h:14:56: note: in C++11 destructors default to noexcept
   14 |     throw rocprofiler::util::exception(error, oss.str());                                          \
      |                                                        ^
/home/work/ROCm/roctracer/src/core/profile.h:97:41: note: in expansion of macro 'EXC_RAISING'
   97 |       if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "signal_destroy " << std::hex << status);
      |                                         ^~~~~~~~~~~
In file included from /home/work/ROCm/roctracer/src/core/context.h:12,
                 from /home/work/ROCm/roctracer/src/core/intercept_queue.h:13,
                 from /home/work/ROCm/roctracer/src/core/intercept_queue.cpp:1:
/home/work/ROCm/roctracer/src/core/profile.h: In constructor 'rocprofiler::SqttProfile::SqttProfile(const rocprofiler::util::AgentInfo*)':
/home/work/ROCm/roctracer/src/core/profile.h:216:21: error: 'HSA_VEN_AMD_AQLPROFILE_EVENT_TYPE_SQTT' was not declared in this scope; did you mean 'HSA_VEN_AMD_AQLPROFILE_EVENT_TYPE_PMC'?
  216 |     profile_.type = HSA_VEN_AMD_AQLPROFILE_EVENT_TYPE_SQTT;
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                     HSA_VEN_AMD_AQLPROFILE_EVENT_TYPE_PMC
In file included from /home/work/ROCm/roctracer/src/core/intercept_queue.h:13,
                 from /home/work/ROCm/roctracer/src/core/intercept_queue.cpp:1:
/home/work/ROCm/roctracer/src/core/context.h: In static member function 'static hsa_status_t rocprofiler::Context::DataCallback(hsa_ven_amd_aqlprofile_info_type_t, hsa_ven_amd_aqlprofile_info_data_t*, void*)':
/home/work/ROCm/roctracer/src/core/context.h:423:32: error: 'HSA_VEN_AMD_AQLPROFILE_INFO_SQTT_DATA' was not declared in this scope; did you mean 'HSA_VEN_AMD_AQLPROFILE_INFO_PMC_DATA'?
  423 |       } else if (ainfo_type == HSA_VEN_AMD_AQLPROFILE_INFO_SQTT_DATA) {
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                HSA_VEN_AMD_AQLPROFILE_INFO_PMC_DATA
/home/work/ROCm/roctracer/src/core/context.h:437:65: error: 'struct hsa_ven_amd_aqlprofile_info_data_t' has no member named 'sqtt_data'
  437 |           const char* src = reinterpret_cast<char*>(ainfo_data->sqtt_data.ptr);
      |                                                                 ^~~~~~~~~
/home/work/ROCm/roctracer/src/core/context.h:438:45: error: 'struct hsa_ven_amd_aqlprofile_info_data_t' has no member named 'sqtt_data'
  438 |           const uint32_t size = ainfo_data->sqtt_data.size;
      |                                             ^~~~~~~~~
/home/work/ROCm/roctracer/src/core/context.h:455:56: error: 'struct hsa_ven_amd_aqlprofile_info_data_t' has no member named 'sqtt_data'
  455 |             rinfo->data.result_bytes.ptr = ainfo_data->sqtt_data.ptr;
      |                                                        ^~~~~~~~~
cc1plus: all warnings being treated as errors
[2/4] Building CXX object CMakeFiles/rocprofiler64.dir/src/core/rocprofiler.cpp.o
FAILED: CMakeFiles/rocprofiler64.dir/src/core/rocprofiler.cpp.o
/usr/bin/c++  -DAMD_INTERNAL_BUILD -DHSA_DEPRECATED="" -DHSA_LARGE_MODEL="" -DLINUX -DLITTLEENDIAN_CPU=1 -DROCP_HSA_INTERCEPT=1 -DROCP_HSA_PROXY=1 -DUNIX_OS -D__AMD64__ -D__linux__ -D__x86_64__ -Drocprofiler64_EXPORTS -I/home/work/ROCm/roctracer/src -I/home/work/ROCm/roctracer -I/opt/rocm/hsa/include/hsa -std=c++11 -Wall -Werror -Werror=return-type -fexceptions -fvisibility=hidden -fno-math-errno -fno-threadsafe-statics -fmerge-all-constants -fms-extensions -fmerge-all-constants -fPIC -m64  -msse -msse2 -O3 -DNDEBUG -fPIC -MD -MT CMakeFiles/rocprofiler64.dir/src/core/rocprofiler.cpp.o -MF CMakeFiles/rocprofiler64.dir/src/core/rocprofiler.cpp.o.d -o CMakeFiles/rocprofiler64.dir/src/core/rocprofiler.cpp.o -c /home/work/ROCm/roctracer/src/core/rocprofiler.cpp
In file included from /home/work/ROCm/roctracer/src/core/metrics.h:15,
                 from /home/work/ROCm/roctracer/src/core/context.h:11,
                 from /home/work/ROCm/roctracer/src/core/rocprofiler.cpp:8:
/home/work/ROCm/roctracer/src/core/profile.h: In destructor 'virtual rocprofiler::Profile::~Profile()':
/home/work/ROCm/roctracer/src/util/exception.h:14:56: error: throw will always call terminate() [-Werror=terminate]
   14 |     throw rocprofiler::util::exception(error, oss.str());                                          \
      |                                                        ^
/home/work/ROCm/roctracer/src/core/profile.h:97:41: note: in expansion of macro 'EXC_RAISING'
   97 |       if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "signal_destroy " << std::hex << status);
      |                                         ^~~~~~~~~~~
/home/work/ROCm/roctracer/src/util/exception.h:14:56: note: in C++11 destructors default to noexcept
   14 |     throw rocprofiler::util::exception(error, oss.str());                                          \
      |                                                        ^
/home/work/ROCm/roctracer/src/core/profile.h:97:41: note: in expansion of macro 'EXC_RAISING'
   97 |       if (status != HSA_STATUS_SUCCESS) EXC_RAISING(status, "signal_destroy " << std::hex << status);
      |                                         ^~~~~~~~~~~
In file included from /home/work/ROCm/roctracer/src/core/context.h:12,
                 from /home/work/ROCm/roctracer/src/core/rocprofiler.cpp:8:
/home/work/ROCm/roctracer/src/core/profile.h: In constructor 'rocprofiler::SqttProfile::SqttProfile(const rocprofiler::util::AgentInfo*)':
/home/work/ROCm/roctracer/src/core/profile.h:216:21: error: 'HSA_VEN_AMD_AQLPROFILE_EVENT_TYPE_SQTT' was not declared in this scope; did you mean 'HSA_VEN_AMD_AQLPROFILE_EVENT_TYPE_PMC'?
  216 |     profile_.type = HSA_VEN_AMD_AQLPROFILE_EVENT_TYPE_SQTT;
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                     HSA_VEN_AMD_AQLPROFILE_EVENT_TYPE_PMC
In file included from /home/work/ROCm/roctracer/src/core/rocprofiler.cpp:8:
/home/work/ROCm/roctracer/src/core/context.h: In static member function 'static hsa_status_t rocprofiler::Context::DataCallback(hsa_ven_amd_aqlprofile_info_type_t, hsa_ven_amd_aqlprofile_info_data_t*, void*)':
/home/work/ROCm/roctracer/src/core/context.h:423:32: error: 'HSA_VEN_AMD_AQLPROFILE_INFO_SQTT_DATA' was not declared in this scope; did you mean 'HSA_VEN_AMD_AQLPROFILE_INFO_PMC_DATA'?
  423 |       } else if (ainfo_type == HSA_VEN_AMD_AQLPROFILE_INFO_SQTT_DATA) {
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                HSA_VEN_AMD_AQLPROFILE_INFO_PMC_DATA
/home/work/ROCm/roctracer/src/core/context.h:437:65: error: 'struct hsa_ven_amd_aqlprofile_info_data_t' has no member named 'sqtt_data'
  437 |           const char* src = reinterpret_cast<char*>(ainfo_data->sqtt_data.ptr);
      |                                                                 ^~~~~~~~~
/home/work/ROCm/roctracer/src/core/context.h:438:45: error: 'struct hsa_ven_amd_aqlprofile_info_data_t' has no member named 'sqtt_data'
  438 |           const uint32_t size = ainfo_data->sqtt_data.size;
      |                                             ^~~~~~~~~
/home/work/ROCm/roctracer/src/core/context.h:455:56: error: 'struct hsa_ven_amd_aqlprofile_info_data_t' has no member named 'sqtt_data'
  455 |             rinfo->data.result_bytes.ptr = ainfo_data->sqtt_data.ptr;
      |                                                        ^~~~~~~~~
cc1plus: all warnings being treated as errors
ninja: build stopped: subcommand failed.
tpkessler commented 3 years ago

I can confirm the build error with ROCm 4.1.0

xuhuisheng commented 3 years ago

Thanks eshcherb for re-upload rocm-4.1.0 tag. Now it can compile successful.