1688a027d8
- additional miscellaneous tweaks to workflows and docker scripts, e.g. install perfetto python bindings - improves the stability of MPI finalization - reduces some debug messages within timemory when `OMNITRACE_DEBUG=ON` - fixes issue found in RHEL where libunwind is using mutex and omnitrace was not treating this as an internal mutex call - this may have been affecting the causal profiling slightly (tests seem a bit more stable now) - fix data race in timemory * Add RedHat CI and release packaging - additional miscellaneous tweaks to workflows and docker scripts, e.g. install perfetto python bindings * Fix URL for ROCm packages in redhat workflow * Fix dnf --enable-repo for ROCm perl packages * Dockerfile.rhel and redhat.yml updates - Fix dnf repo for ROCm PERL packages - Disable python in CI (interpreter segfaults) - Exclude parallel-overhead-locks tests due to inclusion of internal locks - This needs to be remedied in the future * Exclude _dl_relocate_static_pie from instrumentation * Testing updates - OMNITRACE_SAMPLING_KEEP_INTERNAL=OFF for parallel-overhead-locks * Fix redhat workflow * redhat.yml update - remove if condition on config/build/test step * Update timemory submodule - tweaks to verbosity messages * Set thread state before unw_step - on Redhat, unw_step calls mutex * Update timemory submodule - verbosity changes - gotcha uses spin_lock/spin_mutex * Remove using gsplit-dwarf unless OMNITRACE_BUILD_NUMBER > 2 * Re-enable parallel-overhead-locks tests in redhat workflow * Always disable timemory manager metadata auto output * testing updates - tweak parallel-overhead-locks-timemory to higher instruction count min - OMNITRACE_SAMPLING_KEEP_INTERNAL=OFF for parallel-overhead-locks-perfetto * Update timemory submodule - quiet realpath queries * omnitrace exe updates - detect text files - improved bin/lib locating * cmake format * test-install.sh and redhat workflow updates - handle testing when ls is script - re-enable python testing on redhat workflow - invoke test-install.sh in redhat workflow * Misc guards for finalization * omnitrace-exe, testing updates - test-install.sh: LS_EXEC -> LS_NAME - handle /usr/bin/ls being script in source/bin/tests - improve locating the binary * Fix mpi_gotcha compile error * omnitrace-exe updates - improve file locating * formatting * Misc fixes - remove -static-libstdc++ for RHEL packaging (rocky-linux doesn't distribute static lib) * omnitrace-exe paths * Replace realpath with absolute - using absolute path to symlink fixes issues with locating libdyninstAPI_RT at runtime * omnitrace exe updates - judicious use of realpath * Update timemory submodule - fix update main hash ids/aliases data race in merge * bin tests update - change working directory of omnitrace-exe-simulate-lib-basename * omnitrace exe updates - Update resolved exe/lib messaging * bin tests update - change working directory of omnitrace-exe-simulate-lib-basename
53 lines
1.9 KiB
Docker
53 lines
1.9 KiB
Docker
ARG DISTRO=rockylinux
|
|
ARG VERSION=8
|
|
FROM ${DISTRO}:${VERSION}
|
|
|
|
ENV HOME /root
|
|
ENV SHELL /bin/bash
|
|
ENV BASH_ENV /etc/bash.bashrc
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
|
|
WORKDIR /tmp
|
|
SHELL [ "/bin/bash", "-c" ]
|
|
|
|
ENV PATH /usr/local/bin:${PATH}
|
|
|
|
RUN yum update -y && \
|
|
yum groupinstall -y "Development Tools" && \
|
|
yum install -y epel-release && \
|
|
yum install -y --allowerasing curl dpkg-devel numactl-devel openmpi-devel papi-devel python3-pip wget zlib-devel && \
|
|
yum clean all && \
|
|
python3 -m pip install 'cmake==3.21.4'
|
|
|
|
ARG ROCM_VERSION=0.0
|
|
ARG AMDGPU_RPM=5.4/rhel/8.7/amdgpu-install-5.4.50400-1.el8.noarch.rpm
|
|
|
|
RUN if [ "${ROCM_VERSION}" != "0.0" ]; then \
|
|
OS_VERSION_MAJOR=$(cat /etc/os-release | grep 'VERSION_ID' | sed 's/=/ /1' | awk '{print $NF}' | sed 's/"//g' | sed 's/\./ /g' | awk '{print $1}') && \
|
|
yum update -y && \
|
|
if [ "${OS_VERSION_MAJOR}" -eq 8 ]; then PERL_REPO=powertools; else PERL_REPO=crb; fi && \
|
|
dnf -y --enablerepo=${PERL_REPO} install perl-File-BaseDir && \
|
|
yum install -y https://repo.radeon.com/amdgpu-install/${AMDGPU_RPM} && \
|
|
amdgpu-install --usecase=rocm,hip,hiplibsdk --no-dkms --skip-broken -y && \
|
|
yum install -y rocm-hip-sdk rocm-smi-lib roctracer-dev rocprofiler-dev && \
|
|
yum update -y && \
|
|
yum clean all; \
|
|
fi
|
|
|
|
ARG PYTHON_VERSIONS="6 7 8 9 10"
|
|
|
|
RUN wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \
|
|
bash miniconda.sh -b -p /opt/conda && \
|
|
export PATH="/opt/conda/bin:${PATH}" && \
|
|
conda config --set always_yes yes --set changeps1 no && \
|
|
conda update -c defaults -n base conda && \
|
|
for i in ${PYTHON_VERSIONS}; do conda create -n py3.${i} -c defaults python=3.${i} pip; done && \
|
|
conda clean -a -y && \
|
|
conda init
|
|
|
|
RUN if [ "${ROCM_VERSION}" != "0.0" ]; then ln -sf /opt/rocm-${ROCM_VERSION}* /opt/rocm; fi
|
|
|
|
WORKDIR /home
|
|
ENV LC_ALL C.UTF-8
|
|
SHELL [ "/bin/bash", "--login", "-c" ]
|