Files
rocm-systems/projects/rocprofiler-compute/docker/Dockerfile.standalone
T
vedithal-amd ac640c13d6 [rocprofiler-compute] Allow to specify path for standalone binary extraction (#2162)
* Allow to specify path for standalone binary extraction

* Add cmake option -D STANDALONEBINARY_EXTRACT_DIR=<path> to specify extraction dir. for binary

* fix formatting

---------

Co-authored-by: Fei Zheng <44449748+feizheng10@users.noreply.github.com>
2025-12-04 10:13:18 -05:00

44 строки
1.9 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
# Should be absolute path to where the standalone binary will extract its contents
ENV ROCPROF_COMPUTE_BINARY_EXTRACT_DIR=/tmp
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 \
--product-name=${ROCPROF_COMPUTE_BINARY_EXTRACT_DIR} \
--onefile-tempdir-spec=/{PRODUCT}/rocprof_compute_standalonebinary_{PID} \
--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 \
"]