ae8f72fa79
* Use native tool for counter collection
* Add native counter collection tool which uses rocprofiler-sdk C++
library public API to get counter collection data
* This is enabled by default, unless --no-native-tool option is
provided or ROCPROF=rocprofv3 env. var. is provided
* This tool is only supported for ROCm version >=7.x.x
* This tool is not supported for attach/detach scenario
* Build native tool shared object during build time
* If using rocprof-compute without building then runtime compilation of
t push native tool shared object is performed
* rocprofiler-sdk tools is still used for services other than counter
collection and data collected by native tool is merged into the
rocpd/csv output of rocprofiler-sdk tool
* Make `rocpd` choice the default choice for `--format-rocprof-output`
option
* If `rocpd` public API from rocprofiler-sdk library is not present,
then fallback to `csv` choice
* In this case only `pmc_perf.csv` is written in workload folder
instead of multiple `csv` files for each profiling run
* Remove `json` choice from `--format-rocprof-output` option since it
functions identical to `csv` option
* Rename option `--rocprofiler-sdk-library-path` to
`--rocprofiler-sdk-tool-path` since we LD_PRELOAD the
rocprofiler-sdk tool shared object and not the rocprofiler-sdk library
shared object
* Fix the meaning of `--dispatch` option in `profile` mode to mention
dispatch iteration filtering instead of dispatch id filtering
* --dispatch option in analyze mode does dispatch id filtering
* Move standalone binary creation logic from cmake file to docker file
* fix native counter collection tool during attach/detach
* improve logging
* fix attach detach with native tool
* fix attach detach with native tool
* do not support attach/detach in native tool
* Update changelog
* add standalone binary creation functionality in cmake
* address review comments
* address review comments
* fix formatting
* address review comments
* Adding paths for cmake to search. Also updated min. cmake requirement to 3.21 as this was when hip was supported.
Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
* Update hip compiler ID check, sometimes comes up as Clang, sometimes ROCMClang- depends on setup.
Updated formatting.
Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
* RHEL8.10 unable to compile due to defaulting to old c++ version, need to force c++17
Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
* Updating changelog per docs team recommendations
Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
* Apply suggestions from code review to changelog
Co-authored-by: Pratik Basyal <pratik.basyal@amd.com>
* Do not required HIP complier to build native counter collection tool
* fix cmake
* gersemi formatting on latest cmake change
Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
* ex ci updated dependencies to include rocprofiler-sdk, but cmake was still not capturing the path- there was a commit that added to the cmake_prefix_path entry that specified rocprof-sdk's cmake location ut was too specific for the search paths in find_package's config mode.
removing the cmake_prefix_path var and adding hints to find_package call instead, and specifying config mode so it knows how to construct the search paths
Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
* gersemi run for formatting
Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
* Still need prefix path, should not have been removed in last commit but does need to be shortened to just the rocm path to allow for find_package config mode to do the job
Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
* include cstdint for uint32_t
* Run formatting on helper.cpp
Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
* Remove rocm 7.2 release stuff from version and changelog and handle it in separate pr
* fix version
* fix changelog
* fix changelog
* run ruff formatter
Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
* fix rocprofiler-sdk attach so path
---------
Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
Co-authored-by: Carrie Fallows <Carrie.Fallows@amd.com>
Co-authored-by: Pratik Basyal <pratik.basyal@amd.com>
39 lines
1.6 KiB
Docker
39 lines
1.6 KiB
Docker
FROM redhat/ubi8:8.10
|
|
|
|
WORKDIR /app/projects/rocprofiler-compute
|
|
|
|
RUN yum install -y curl git cmake gcc-c++
|
|
|
|
# Allows running git commands in /app
|
|
RUN git config --global --add safe.directory /app
|
|
|
|
RUN yum install -y python39 python39-devel && \
|
|
yum clean all && \
|
|
rm -rf /var/cache/yum && \
|
|
curl -sS https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
|
|
python3 get-pip.py
|
|
|
|
CMD ["/bin/bash", "-c", "\
|
|
python3 -m pip install -r requirements.txt \
|
|
&& python3 -m pip install nuitka patchelf \
|
|
&& git rev-parse HEAD > VERSION.sha \
|
|
&& python3 -m nuitka --mode=onefile --no-deployment-flag=self-execution \
|
|
--enable-plugin=no-qt \
|
|
--include-data-files=VERSION*=./ \
|
|
--include-data-files=src/lib/rocprofiler_compute_tool.cpp=lib/rocprofiler_compute_tool.cpp \
|
|
--include-package=dash_svg --include-package-data=dash_svg \
|
|
--include-package=dash_bootstrap_components \
|
|
--include-package-data=dash_bootstrap_components \
|
|
--include-package=plotly --include-package-data=plotly \
|
|
--include-package=kaleido --include-package-data=kaleido \
|
|
--include-package=rocprof_compute_analyze \
|
|
--include-package-data=rocprof_compute_analyze \
|
|
--include-package=rocprof_compute_profile \
|
|
--include-package-data=rocprof_compute_profile \
|
|
--include-package=rocprof_compute_tui --include-package-data=rocprof_compute_tui \
|
|
--include-package=rocprof_compute_soc --include-package-data=rocprof_compute_soc \
|
|
--include-package=utils --include-package-data=utils \
|
|
src/rocprof-compute \
|
|
&& patchelf --remove-rpath rocprof-compute.bin \
|
|
"]
|