Split workflows + docker usage (#31)
* Split workflows + docker usage
* Fix omnitrace-ci-ubuntu-focal-external
* fix env
* Update path to action
* fix entrypoint
* Updated cancelling, disabled formatting
* fix entrypoint
* rework
* try using container
* relocate container
* fix image name
* shell expand
* external and external-rocm
* install libopenmpi-dev
* remove github.workspace
* github.workspace for rocm
* Update bionic, etc. + docker CI
* Remove self-hosted + bionic fix
* GIT_DISCOVERY_ACROSS_FILESYSTEM for bionic
* TIMEMORY_INSTALL_LIBRARIES + exe RPATH updates
- fix RPATH for omnitrace, omnitrace-avail, and omnitrace-critical-trace
* ubuntu bionic update
* bionic and focal-dyninst-package updates
* Disable lulesh MPI by default + timeouts
- increase openmp CG timeout
- decrease openmp CG runtime
[ROCm/rocprofiler-systems commit: 138d16d16a]
Esse commit está contido em:
@@ -24,6 +24,8 @@ parse:
|
||||
TARGET: '*'
|
||||
MPI: '*'
|
||||
NUM_PROCS: '*'
|
||||
REWRITE_TIMEOUT: '*'
|
||||
RUNTIME_TIMEOUT: '*'
|
||||
REWRITE_ARGS: '*'
|
||||
RUNTIME_ARGS: '*'
|
||||
RUN_ARGS: '*'
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
name: cancel-builds-on-update
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: ['linux-ci', 'formatting']
|
||||
# workflows: ['formatting', 'ubuntu-bionic', 'ubuntu-focal-dyninst-package', 'ubuntu-focal-external-rocm', 'ubuntu-focal-external', 'ubuntu-focal']
|
||||
workflows: ['formatting', 'ubuntu-focal-external', 'ubuntu-focal-external-rocm']
|
||||
types: ['requested']
|
||||
|
||||
jobs:
|
||||
|
||||
@@ -1,553 +0,0 @@
|
||||
name: linux-ci
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
pull_request:
|
||||
branches: [ main, develop ]
|
||||
|
||||
env:
|
||||
BUILD_TYPE: Release
|
||||
ELFUTILS_DOWNLOAD_VERSION: 0.183
|
||||
OMNITRACE_DEBUG_FINALIZE: ON
|
||||
OMNITRACE_VERBOSE: 1
|
||||
OMNITRACE_CI: ON
|
||||
|
||||
jobs:
|
||||
ubuntu-focal:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
compiler: ['g++']
|
||||
mpi: [ '', 'libmpich-dev mpich', 'libopenmpi-dev openmpi-bin libfabric-dev' ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
sudo apt-get update &&
|
||||
sudo apt-get install -y build-essential m4 autoconf libtool python3-pip libtbb-dev libboost-{atomic,system,thread,date-time,filesystem,timer}-dev clang libomp-dev ${{ matrix.compiler }} ${{ matrix.mpi }} &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install 'cmake==3.16.3'
|
||||
|
||||
- name: Configure Env
|
||||
run:
|
||||
echo "CC=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')" >> $GITHUB_ENV &&
|
||||
echo "CXX=${{ matrix.compiler }}" >> $GITHUB_ENV &&
|
||||
echo "/opt/omnitrace/bin:${HOME}/.local/bin" >> $GITHUB_PATH &&
|
||||
echo "LD_LIBRARY_PATH=/opt/omnitrace/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Configure CMake
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
cmake --version &&
|
||||
if [ -z "${{ matrix.mpi }}" ]; then USE_MPI=OFF; else USE_MPI=ON; fi &&
|
||||
cmake -B ${{ github.workspace }}/build
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
|
||||
-DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
-DOMNITRACE_BUILD_TESTING=ON
|
||||
-DOMNITRACE_BUILD_DYNINST=ON
|
||||
-DOMNITRACE_USE_MPI=${USE_MPI}
|
||||
-DOMNITRACE_USE_HIP=OFF
|
||||
-DDYNINST_BUILD_ELFUTILS=ON
|
||||
-DDYNINST_BUILD_LIBIBERTY=ON
|
||||
-DDYNINST_BUILD_SHARED_LIBS=ON
|
||||
-DDYNINST_BUILD_STATIC_LIBS=OFF
|
||||
|
||||
- name: Build
|
||||
timeout-minutes: 45
|
||||
run:
|
||||
cmake --build ${{ github.workspace }}/build --target all --parallel 2 -- VERBOSE=1
|
||||
|
||||
- name: Install
|
||||
run:
|
||||
cmake --build ${{ github.workspace }}/build --target install --parallel 2
|
||||
|
||||
- name: Test
|
||||
timeout-minutes: 30
|
||||
working-directory: ${{ github.workspace }}/build
|
||||
run:
|
||||
ctest -V --output-log ${{ github.workspace }}/build/omnitrace-ctest-ubuntu-focal.log
|
||||
|
||||
- name: Test Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export OMNITRACE_DEBUG=ON
|
||||
which omnitrace-avail
|
||||
ldd $(which omnitrace-avail)
|
||||
omnitrace-avail --help
|
||||
omnitrace-avail -a
|
||||
which omnitrace-critical-trace
|
||||
ldd $(which omnitrace-critical-trace)
|
||||
which omnitrace
|
||||
ldd $(which omnitrace)
|
||||
omnitrace --help
|
||||
omnitrace -e -v 1 -o ls.inst --simulate -- ls
|
||||
for i in omnitrace-ls.inst-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -o ls.inst -- ls
|
||||
./ls.inst
|
||||
omnitrace -e -v 1 --simulate -- ls
|
||||
for i in omnitrace-ls-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -- ls
|
||||
|
||||
- name: CTest Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ctest-log
|
||||
path: |
|
||||
${{ github.workspace }}/build/*.log
|
||||
|
||||
- name: Data Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: data-files
|
||||
path: |
|
||||
${{ github.workspace }}/build/omnitrace-tests-output/**/*.txt
|
||||
|
||||
ubuntu-bionic:
|
||||
runs-on: ubuntu-18.04
|
||||
strategy:
|
||||
matrix:
|
||||
compiler: ['g++-7', 'g++-8']
|
||||
mpi: [ '', 'libmpich-dev mpich' ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
sudo apt-get update &&
|
||||
sudo apt-get install -y build-essential m4 autoconf libtool python3-pip ${{ matrix.compiler }} ${{ matrix.mpi }} &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install 'cmake==3.16.3'
|
||||
|
||||
- name: Configure Env
|
||||
run:
|
||||
echo "CC=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')" >> $GITHUB_ENV &&
|
||||
echo "CXX=${{ matrix.compiler }}" >> $GITHUB_ENV &&
|
||||
echo "/opt/omnitrace/bin:${HOME}/.local/bin" >> $GITHUB_PATH &&
|
||||
echo "LD_LIBRARY_PATH=/opt/omnitrace/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Configure CMake
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
cmake --version &&
|
||||
if [ -z "${{ matrix.mpi }}" ]; then USE_MPI=OFF; else USE_MPI=ON; fi &&
|
||||
cmake -B ${{ github.workspace }}/build
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
|
||||
-DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
-DOMNITRACE_BUILD_TESTING=ON
|
||||
-DOMNITRACE_BUILD_DYNINST=ON
|
||||
-DOMNITRACE_USE_MPI=${USE_MPI}
|
||||
-DOMNITRACE_USE_HIP=OFF
|
||||
-DDYNINST_BUILD_TBB=ON
|
||||
-DDYNINST_BUILD_BOOST=ON
|
||||
-DDYNINST_BUILD_ELFUTILS=ON
|
||||
-DDYNINST_BUILD_LIBIBERTY=ON
|
||||
|
||||
- name: Build
|
||||
timeout-minutes: 45
|
||||
run:
|
||||
cmake --build ${{ github.workspace }}/build --target all --parallel 2 -- VERBOSE=1
|
||||
|
||||
- name: Install
|
||||
run:
|
||||
cmake --build ${{ github.workspace }}/build --target install --parallel 2
|
||||
|
||||
- name: Test
|
||||
timeout-minutes: 30
|
||||
working-directory: ${{ github.workspace }}/build
|
||||
run:
|
||||
ctest -V --output-log ${{ github.workspace }}/build/omnitrace-ctest-ubuntu-bionic.log
|
||||
|
||||
- name: Test Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export OMNITRACE_DEBUG=ON
|
||||
which omnitrace-avail
|
||||
ldd $(which omnitrace-avail)
|
||||
omnitrace-avail --help
|
||||
omnitrace-avail -a
|
||||
which omnitrace-critical-trace
|
||||
ldd $(which omnitrace-critical-trace)
|
||||
which omnitrace
|
||||
ldd $(which omnitrace)
|
||||
omnitrace --help
|
||||
omnitrace -e -v 1 -o ls.inst --simulate -- ls
|
||||
for i in omnitrace-ls.inst-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -o ls.inst -- ls
|
||||
./ls.inst
|
||||
omnitrace -e -v 1 --simulate -- ls
|
||||
for i in omnitrace-ls-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -- ls
|
||||
|
||||
- name: CTest Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ctest-log
|
||||
path: |
|
||||
${{ github.workspace }}/build/*.log
|
||||
|
||||
- name: Data Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: data-files
|
||||
path: |
|
||||
${{ github.workspace }}/build/omnitrace-tests-output/**/*.txt
|
||||
|
||||
ubuntu-focal-external:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
compiler: ['g++-7', 'g++-8', 'g++-9', 'g++-10']
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
sudo apt-get update &&
|
||||
sudo apt-get install -y build-essential m4 autoconf libtool python3-pip libboost-{atomic,system,thread,date-time,filesystem,timer}-dev libtbb-dev libiberty-dev clang libomp-dev ${{ matrix.compiler }} &&
|
||||
sudo python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install 'cmake==3.16.3'
|
||||
|
||||
- name: Configure Env
|
||||
run:
|
||||
echo "CC=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')" >> $GITHUB_ENV &&
|
||||
echo "CXX=${{ matrix.compiler }}" >> $GITHUB_ENV &&
|
||||
echo "CMAKE_PREFIX_PATH=/opt/dyninst:/opt/elfutils:${CMAKE_PREFIX_PATH}" >> $GITHUB_ENV &&
|
||||
echo "/opt/omnitrace/bin:/opt/dyninst/bin:/opt/elfutils/bin:${HOME}/.local/bin" >> $GITHUB_PATH &&
|
||||
echo "LD_LIBRARY_PATH=/opt/omnitrace/lib:/opt/dyninst/lib:/opt/elfutils/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Install ElfUtils
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
pushd external &&
|
||||
wget https://sourceware.org/elfutils/ftp/${ELFUTILS_DOWNLOAD_VERSION}/elfutils-${ELFUTILS_DOWNLOAD_VERSION}.tar.bz2 &&
|
||||
tar xjf elfutils-${ELFUTILS_DOWNLOAD_VERSION}.tar.bz2 &&
|
||||
pushd elfutils-${ELFUTILS_DOWNLOAD_VERSION} &&
|
||||
CFLAGS="-g -O2" ./configure --enable-install-elfh --prefix=/opt/elfutils --disable-libdebuginfod --disable-debuginfod &&
|
||||
make -j2 &&
|
||||
make install -j2 &&
|
||||
popd &&
|
||||
rm -rf elfutils*
|
||||
|
||||
- name: Install Dyninst
|
||||
timeout-minutes: 25
|
||||
run:
|
||||
cmake --version &&
|
||||
git submodule update --init external/dyninst &&
|
||||
cd external/dyninst &&
|
||||
cmake -B build
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
-DCMAKE_INSTALL_PREFIX=/opt/dyninst &&
|
||||
cmake --build build --target all --parallel 2 &&
|
||||
cmake --build build --target install --parallel 2 &&
|
||||
rm -rf build
|
||||
|
||||
- name: Configure CMake
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
cmake --version &&
|
||||
cmake -B ${{ github.workspace }}/build
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
-DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
-DOMNITRACE_BUILD_TESTING=ON
|
||||
-DOMNITRACE_USE_MPI=OFF
|
||||
-DOMNITRACE_USE_HIP=OFF
|
||||
|
||||
- name: Build
|
||||
timeout-minutes: 45
|
||||
run:
|
||||
cmake --build ${{ github.workspace }}/build --target all --parallel 2 -- VERBOSE=1
|
||||
|
||||
- name: Install
|
||||
run:
|
||||
cmake --build ${{ github.workspace }}/build --target install --parallel 2
|
||||
|
||||
- name: Test
|
||||
timeout-minutes: 30
|
||||
working-directory: ${{ github.workspace }}/build
|
||||
run:
|
||||
ldd ./omnitrace &&
|
||||
./omnitrace --help &&
|
||||
ctest -V --output-log ${{ github.workspace }}/build/omnitrace-ctest-ubuntu-focal-external.log
|
||||
|
||||
- name: Test Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export OMNITRACE_DEBUG=ON
|
||||
which omnitrace-avail
|
||||
ldd $(which omnitrace-avail)
|
||||
omnitrace-avail --help
|
||||
omnitrace-avail -a
|
||||
which omnitrace-critical-trace
|
||||
ldd $(which omnitrace-critical-trace)
|
||||
which omnitrace
|
||||
ldd $(which omnitrace)
|
||||
omnitrace --help
|
||||
omnitrace -e -v 1 -o ls.inst --simulate -- ls
|
||||
for i in omnitrace-ls.inst-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -o ls.inst -- ls
|
||||
./ls.inst
|
||||
omnitrace -e -v 1 --simulate -- ls
|
||||
for i in omnitrace-ls-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -- ls
|
||||
|
||||
- name: CTest Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ctest-log
|
||||
path: |
|
||||
${{ github.workspace }}/build/*.log
|
||||
|
||||
- name: Data Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: data-files
|
||||
path: |
|
||||
${{ github.workspace }}/build/omnitrace-tests-output/**/*.txt
|
||||
|
||||
ubuntu-focal-dyninst-package:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
compiler: ['g++']
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
sudo apt-get update &&
|
||||
sudo apt-get install -y build-essential m4 autoconf libtool python3-pip clang libomp-dev ${{ matrix.compiler }} &&
|
||||
sudo python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install 'cmake==3.16.3'
|
||||
|
||||
- name: Configure Env
|
||||
run:
|
||||
echo "CC=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')" >> $GITHUB_ENV &&
|
||||
echo "CXX=${{ matrix.compiler }}" >> $GITHUB_ENV &&
|
||||
echo "CMAKE_PREFIX_PATH=/opt/dyninst:${CMAKE_PREFIX_PATH}" >> $GITHUB_ENV &&
|
||||
echo "/opt/omnitrace/bin:/opt/dyninst/bin:${HOME}/.local/bin" >> $GITHUB_PATH &&
|
||||
echo "LD_LIBRARY_PATH=/opt/omnitrace/lib:/opt/dyninst/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Install Dyninst
|
||||
timeout-minutes: 25
|
||||
run:
|
||||
cmake --version &&
|
||||
git submodule update --init external/dyninst &&
|
||||
cd external/dyninst &&
|
||||
cmake -B build
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
|
||||
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/external/dyninst-install
|
||||
-DBUILD_TBB=ON
|
||||
-DBUILD_BOOST=ON
|
||||
-DBUILD_ELFUTILS=ON
|
||||
-DBUILD_LIBIBERTY=ON &&
|
||||
cmake --build build --target package --parallel 4 &&
|
||||
mkdir /opt/dyninst &&
|
||||
./build/Dyninst-*-Linux.sh --prefix=/opt/dyninst --exclude-subdir --skip-license &&
|
||||
rm -rf build
|
||||
|
||||
- name: Configure CMake
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
cmake --version &&
|
||||
cmake -B ${{ github.workspace }}/build
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
|
||||
-DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
-DOMNITRACE_BUILD_TESTING=ON
|
||||
-DOMNITRACE_USE_MPI=OFF
|
||||
-DOMNITRACE_USE_HIP=OFF
|
||||
|
||||
- name: Build
|
||||
timeout-minutes: 45
|
||||
run:
|
||||
cmake --build ${{ github.workspace }}/build --target all --parallel 2 -- VERBOSE=1
|
||||
|
||||
- name: Install
|
||||
run:
|
||||
cmake --build ${{ github.workspace }}/build --target install --parallel 2
|
||||
|
||||
- name: Test
|
||||
timeout-minutes: 30
|
||||
working-directory: ${{ github.workspace }}/build
|
||||
run:
|
||||
ldd ./omnitrace &&
|
||||
./omnitrace --help &&
|
||||
ctest -V --output-log ${{ github.workspace }}/build/omnitrace-ctest-ubuntu-focal-dyninst-package.log
|
||||
|
||||
- name: Test Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export OMNITRACE_DEBUG=ON
|
||||
which omnitrace-avail
|
||||
ldd $(which omnitrace-avail)
|
||||
omnitrace-avail --help
|
||||
omnitrace-avail -a
|
||||
which omnitrace-critical-trace
|
||||
ldd $(which omnitrace-critical-trace)
|
||||
which omnitrace
|
||||
ldd $(which omnitrace)
|
||||
omnitrace --help
|
||||
omnitrace -e -v 1 -o ls.inst --simulate -- ls
|
||||
for i in omnitrace-ls.inst-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -o ls.inst -- ls
|
||||
./ls.inst
|
||||
omnitrace -e -v 1 --simulate -- ls
|
||||
for i in omnitrace-ls-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -- ls
|
||||
|
||||
- name: CTest Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ctest-log
|
||||
path: |
|
||||
${{ github.workspace }}/build/*.log
|
||||
|
||||
- name: Data Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: data-files
|
||||
path: |
|
||||
${{ github.workspace }}/build/omnitrace-tests-output/**/*.txt
|
||||
|
||||
ubuntu-focal-external-rocm:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
compiler: ['g++']
|
||||
rocm_version: ['4.3', '4.3.1', '4.5']
|
||||
mpi: [ 'libmpich-dev mpich', 'libopenmpi-dev openmpi-bin libfabric-dev' ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
echo '1' | sudo tee /proc/sys/kernel/perf_event_paranoid &&
|
||||
sudo apt-get update &&
|
||||
sudo apt-get install -y software-properties-common wget gnupg2 &&
|
||||
sudo wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | sudo apt-key add - &&
|
||||
echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/${{ matrix.rocm_version }}/ ubuntu main" | sudo tee /etc/apt/sources.list.d/rocm.list &&
|
||||
sudo apt-get update &&
|
||||
sudo apt-get install -y build-essential m4 autoconf libtool python3-pip libboost-{atomic,system,thread,date-time,filesystem,timer}-dev libtbb-dev libiberty-dev clang libomp-dev ${{ matrix.compiler }} libudev-dev libnuma-dev rocm-dev rocm-utils roctracer-dev rocprofiler-dev hip-base hsa-amd-aqlprofile hsa-rocr-dev hsakmt-roct-dev ${{ matrix.mpi }} libpapi-dev &&
|
||||
sudo python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install 'cmake==3.16.3'
|
||||
|
||||
- name: Configure Env
|
||||
run:
|
||||
echo "CC=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')" >> $GITHUB_ENV &&
|
||||
echo "CXX=${{ matrix.compiler }}" >> $GITHUB_ENV &&
|
||||
echo "CMAKE_PREFIX_PATH=/opt/dyninst:/opt/elfutils:${CMAKE_PREFIX_PATH}" >> $GITHUB_ENV &&
|
||||
echo "/opt/omnitrace/bin:/opt/dyninst/bin:/opt/elfutils/bin:${HOME}/.local/bin" >> $GITHUB_PATH &&
|
||||
echo "LD_LIBRARY_PATH=/opt/omnitrace/lib:/opt/dyninst/lib:/opt/elfutils/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Install ElfUtils
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
pushd external &&
|
||||
wget https://sourceware.org/elfutils/ftp/${ELFUTILS_DOWNLOAD_VERSION}/elfutils-${ELFUTILS_DOWNLOAD_VERSION}.tar.bz2 &&
|
||||
tar xjf elfutils-${ELFUTILS_DOWNLOAD_VERSION}.tar.bz2 &&
|
||||
pushd elfutils-${ELFUTILS_DOWNLOAD_VERSION} &&
|
||||
CFLAGS="-O3" ./configure --enable-install-elfh --prefix=/opt/elfutils --disable-libdebuginfod --disable-debuginfod &&
|
||||
make -j2 &&
|
||||
make install -j2 &&
|
||||
popd &&
|
||||
rm -rf elfutils*
|
||||
|
||||
- name: Install Dyninst
|
||||
timeout-minutes: 25
|
||||
run:
|
||||
cmake --version &&
|
||||
git submodule update --init external/dyninst &&
|
||||
cd external/dyninst &&
|
||||
cmake -B build
|
||||
-DCMAKE_C_COMPILER=${CC}
|
||||
-DCMAKE_CXX_COMPILER=${CXX}
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
-DCMAKE_INSTALL_PREFIX=/opt/dyninst &&
|
||||
cmake --build build --target all --parallel 2 &&
|
||||
cmake --build build --target install --parallel 2 &&
|
||||
rm -rf build
|
||||
|
||||
- name: Configure CMake
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
cmake --version &&
|
||||
cmake -B ${{ github.workspace }}/build
|
||||
-DCMAKE_C_COMPILER=${CC}
|
||||
-DCMAKE_CXX_COMPILER=${CXX}
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
-DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
-DOMNITRACE_BUILD_TESTING=OFF
|
||||
-DOMNITRACE_BUILD_DEVELOPER=ON
|
||||
-DOMNITRACE_BUILD_EXTRA_OPTIMIZATIONS=OFF
|
||||
-DOMNITRACE_BUILD_LTO=OFF
|
||||
-DOMNITRACE_USE_MPI=OFF
|
||||
-DOMNITRACE_USE_MPI_HEADERS=ON
|
||||
-DOMNITRACE_USE_HIP=ON
|
||||
-DOMNITRACE_MAX_THREADS=256
|
||||
-DOMNITRACE_USE_SANITIZER=OFF
|
||||
-DTIMEMORY_USE_PAPI=ON
|
||||
|
||||
- name: Build
|
||||
timeout-minutes: 45
|
||||
run:
|
||||
cmake --build ${{ github.workspace }}/build --target all --parallel 2 -- VERBOSE=1
|
||||
|
||||
- name: Install
|
||||
run:
|
||||
cmake --build ${{ github.workspace }}/build --target install --parallel 2
|
||||
|
||||
- name: Test
|
||||
timeout-minutes: 30
|
||||
working-directory: ${{ github.workspace }}/build
|
||||
run:
|
||||
ldd ./omnitrace &&
|
||||
./omnitrace --help
|
||||
|
||||
- name: Test Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export OMNITRACE_DEBUG=ON
|
||||
which omnitrace-avail
|
||||
ldd $(which omnitrace-avail)
|
||||
omnitrace-avail --help
|
||||
omnitrace-avail -a
|
||||
which omnitrace-critical-trace
|
||||
ldd $(which omnitrace-critical-trace)
|
||||
which omnitrace
|
||||
ldd $(which omnitrace)
|
||||
omnitrace --help
|
||||
omnitrace -e -v 1 -o ls.inst --simulate -- ls
|
||||
for i in omnitrace-ls.inst-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -o ls.inst -- ls
|
||||
./ls.inst
|
||||
omnitrace -e -v 1 --simulate -- ls
|
||||
for i in omnitrace-ls-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -- ls
|
||||
@@ -0,0 +1,122 @@
|
||||
name: ubuntu-bionic
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
pull_request:
|
||||
branches: [ main, develop ]
|
||||
|
||||
env:
|
||||
BUILD_TYPE: Release
|
||||
ELFUTILS_DOWNLOAD_VERSION: 0.183
|
||||
OMNITRACE_DEBUG_FINALIZE: ON
|
||||
OMNITRACE_VERBOSE: 1
|
||||
OMNITRACE_CI: ON
|
||||
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
|
||||
|
||||
jobs:
|
||||
ubuntu-bionic:
|
||||
runs-on: ubuntu-18.04
|
||||
container:
|
||||
image: jrmadsen/omnitrace-ci:ubuntu-18.04
|
||||
strategy:
|
||||
matrix:
|
||||
compiler: ['g++-7', 'g++-8']
|
||||
mpi: [ '', 'libmpich-dev mpich' ]
|
||||
|
||||
steps:
|
||||
- name: Patch Git
|
||||
timeout-minutes: 5
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y software-properties-common
|
||||
add-apt-repository -y ppa:git-core/ppa
|
||||
apt-get update
|
||||
apt-get upgrade -y
|
||||
apt-get install -y git
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
apt-get update &&
|
||||
apt-get upgrade -y &&
|
||||
apt-get install -y build-essential m4 autoconf libtool python3-pip ${{ matrix.compiler }} ${{ matrix.mpi }} &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install 'cmake==3.16.3'
|
||||
|
||||
- name: Configure Env
|
||||
run:
|
||||
echo "CC=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')" >> $GITHUB_ENV &&
|
||||
echo "CXX=${{ matrix.compiler }}" >> $GITHUB_ENV &&
|
||||
echo "/opt/omnitrace/bin:${HOME}/.local/bin" >> $GITHUB_PATH &&
|
||||
echo "LD_LIBRARY_PATH=/opt/omnitrace/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Configure CMake
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
cmake --version &&
|
||||
if [ -z "${{ matrix.mpi }}" ]; then USE_MPI=OFF; else USE_MPI=ON; fi &&
|
||||
cmake -B build
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
|
||||
-DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
-DOMNITRACE_BUILD_TESTING=ON
|
||||
-DOMNITRACE_BUILD_DYNINST=OFF
|
||||
-DOMNITRACE_USE_MPI=${USE_MPI}
|
||||
-DOMNITRACE_USE_HIP=OFF
|
||||
|
||||
- name: Build
|
||||
timeout-minutes: 45
|
||||
run:
|
||||
cmake --build build --target all --parallel 2 -- VERBOSE=1
|
||||
|
||||
- name: Install
|
||||
run:
|
||||
cmake --build build --target install --parallel 2
|
||||
|
||||
- name: Test
|
||||
timeout-minutes: 30
|
||||
run:
|
||||
cd build &&
|
||||
ctest -V --output-log build/omnitrace-ctest-ubuntu-bionic.log
|
||||
|
||||
- name: Test Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export OMNITRACE_DEBUG=ON
|
||||
which omnitrace-avail
|
||||
ldd $(which omnitrace-avail)
|
||||
omnitrace-avail --help
|
||||
omnitrace-avail -a
|
||||
which omnitrace-critical-trace
|
||||
ldd $(which omnitrace-critical-trace)
|
||||
which omnitrace
|
||||
ldd $(which omnitrace)
|
||||
omnitrace --help
|
||||
omnitrace -e -v 1 -o ls.inst --simulate -- ls
|
||||
for i in omnitrace-ls.inst-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -o ls.inst -- ls
|
||||
./ls.inst
|
||||
omnitrace -e -v 1 --simulate -- ls
|
||||
for i in omnitrace-ls-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -- ls
|
||||
|
||||
- name: CTest Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ctest-log
|
||||
path: |
|
||||
build/*.log
|
||||
|
||||
- name: Data Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: data-files
|
||||
path: |
|
||||
build/omnitrace-tests-output/**/*.txt
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
name: ubuntu-focal-dyninst-package
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
pull_request:
|
||||
branches: [ main, develop ]
|
||||
|
||||
env:
|
||||
BUILD_TYPE: Release
|
||||
ELFUTILS_DOWNLOAD_VERSION: 0.183
|
||||
OMNITRACE_DEBUG_FINALIZE: ON
|
||||
OMNITRACE_VERBOSE: 1
|
||||
OMNITRACE_CI: ON
|
||||
|
||||
jobs:
|
||||
ubuntu-focal-dyninst-package:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
compiler: ['g++']
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
sudo apt-get update &&
|
||||
sudo apt-get install -y build-essential m4 autoconf libtool python3-pip clang libomp-dev libopenmpi-dev openmpi-bin libfabric-dev ${{ matrix.compiler }} &&
|
||||
sudo python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install 'cmake==3.16.3'
|
||||
|
||||
- name: Configure Env
|
||||
run:
|
||||
echo "CC=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')" >> $GITHUB_ENV &&
|
||||
echo "CXX=${{ matrix.compiler }}" >> $GITHUB_ENV &&
|
||||
echo "CMAKE_PREFIX_PATH=/opt/dyninst:${CMAKE_PREFIX_PATH}" >> $GITHUB_ENV &&
|
||||
echo "/opt/omnitrace/bin:/opt/dyninst/bin:${HOME}/.local/bin" >> $GITHUB_PATH &&
|
||||
echo "LD_LIBRARY_PATH=/opt/omnitrace/lib:/opt/dyninst/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Install Dyninst
|
||||
timeout-minutes: 25
|
||||
run:
|
||||
cmake --version &&
|
||||
git submodule update --init external/dyninst &&
|
||||
cd external/dyninst &&
|
||||
cmake -B build
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
|
||||
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/external/dyninst-install
|
||||
-DBUILD_TBB=ON
|
||||
-DBUILD_BOOST=ON
|
||||
-DBUILD_ELFUTILS=ON
|
||||
-DBUILD_LIBIBERTY=ON &&
|
||||
cmake --build build --target package --parallel 4 &&
|
||||
mkdir /opt/dyninst &&
|
||||
./build/Dyninst-*-Linux.sh --prefix=/opt/dyninst --exclude-subdir --skip-license &&
|
||||
rm -rf build
|
||||
|
||||
- name: Configure CMake
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
cmake --version &&
|
||||
cmake -B ${{ github.workspace }}/build
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
|
||||
-DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
-DOMNITRACE_BUILD_TESTING=ON
|
||||
-DOMNITRACE_USE_MPI=OFF
|
||||
-DOMNITRACE_USE_MPI_HEADERS=ON
|
||||
-DOMNITRACE_USE_HIP=OFF
|
||||
|
||||
- name: Build
|
||||
timeout-minutes: 45
|
||||
run:
|
||||
cmake --build ${{ github.workspace }}/build --target all --parallel 2 -- VERBOSE=1
|
||||
|
||||
- name: Install
|
||||
run:
|
||||
cmake --build ${{ github.workspace }}/build --target install --parallel 2
|
||||
|
||||
- name: Test
|
||||
timeout-minutes: 30
|
||||
working-directory: ${{ github.workspace }}/build
|
||||
run:
|
||||
ldd ./omnitrace &&
|
||||
./omnitrace --help &&
|
||||
ctest -V --output-log ${{ github.workspace }}/build/omnitrace-ctest-ubuntu-focal-dyninst-package.log
|
||||
|
||||
- name: Test Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export OMNITRACE_DEBUG=ON
|
||||
which omnitrace-avail
|
||||
ldd $(which omnitrace-avail)
|
||||
omnitrace-avail --help
|
||||
omnitrace-avail -a
|
||||
which omnitrace-critical-trace
|
||||
ldd $(which omnitrace-critical-trace)
|
||||
which omnitrace
|
||||
ldd $(which omnitrace)
|
||||
omnitrace --help
|
||||
omnitrace -e -v 1 -o ls.inst --simulate -- ls
|
||||
for i in omnitrace-ls.inst-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -o ls.inst -- ls
|
||||
./ls.inst
|
||||
omnitrace -e -v 1 --simulate -- ls
|
||||
for i in omnitrace-ls-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -- ls
|
||||
|
||||
- name: CTest Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ctest-log
|
||||
path: |
|
||||
${{ github.workspace }}/build/*.log
|
||||
|
||||
- name: Data Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: data-files
|
||||
path: |
|
||||
${{ github.workspace }}/build/omnitrace-tests-output/**/*.txt
|
||||
+105
@@ -0,0 +1,105 @@
|
||||
name: ubuntu-focal-external-rocm
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
pull_request:
|
||||
branches: [ main, develop ]
|
||||
|
||||
env:
|
||||
BUILD_TYPE: Release
|
||||
ELFUTILS_DOWNLOAD_VERSION: 0.183
|
||||
OMNITRACE_DEBUG_FINALIZE: ON
|
||||
OMNITRACE_VERBOSE: 1
|
||||
OMNITRACE_CI: ON
|
||||
|
||||
jobs:
|
||||
ubuntu-focal-external-rocm:
|
||||
runs-on: ubuntu-20.04
|
||||
container:
|
||||
image: jrmadsen/omnitrace-ci:ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
compiler: ['g++']
|
||||
rocm_version: ['4.3', '4.5', 'debian']
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
apt-get update &&
|
||||
apt-get install -y software-properties-common wget gnupg2 &&
|
||||
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add - &&
|
||||
echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/${{ matrix.rocm_version }}/ ubuntu main" | tee /etc/apt/sources.list.d/rocm.list &&
|
||||
apt-get update &&
|
||||
apt-get install -y build-essential m4 autoconf libtool python3-pip clang libomp-dev ${{ matrix.compiler }} libudev-dev libnuma-dev rocm-dev rocm-utils roctracer-dev rocprofiler-dev hip-base hsa-amd-aqlprofile hsa-rocr-dev hsakmt-roct-dev libpapi-dev libopenmpi-dev &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install 'cmake==3.16.3'
|
||||
|
||||
- name: Configure Env
|
||||
run:
|
||||
echo "CC=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')" >> $GITHUB_ENV &&
|
||||
echo "CXX=${{ matrix.compiler }}" >> $GITHUB_ENV &&
|
||||
echo "CMAKE_PREFIX_PATH=/opt/dyninst:/opt/elfutils:${CMAKE_PREFIX_PATH}" >> $GITHUB_ENV &&
|
||||
echo "/opt/omnitrace/bin:/opt/dyninst/bin:/opt/elfutils/bin:${HOME}/.local/bin" >> $GITHUB_PATH &&
|
||||
echo "LD_LIBRARY_PATH=/opt/omnitrace/lib:/opt/dyninst/lib:/opt/elfutils/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Configure CMake
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
cmake --version &&
|
||||
cmake -B build
|
||||
-DCMAKE_C_COMPILER=${CC}
|
||||
-DCMAKE_CXX_COMPILER=${CXX}
|
||||
-DCMAKE_BUILD_TYPE=MinSizeRel
|
||||
-DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
-DOMNITRACE_BUILD_TESTING=OFF
|
||||
-DOMNITRACE_BUILD_DEVELOPER=ON
|
||||
-DOMNITRACE_BUILD_EXTRA_OPTIMIZATIONS=OFF
|
||||
-DOMNITRACE_BUILD_LTO=OFF
|
||||
-DOMNITRACE_USE_MPI=OFF
|
||||
-DOMNITRACE_USE_MPI_HEADERS=ON
|
||||
-DOMNITRACE_USE_HIP=ON
|
||||
-DOMNITRACE_MAX_THREADS=64
|
||||
-DOMNITRACE_USE_SANITIZER=OFF
|
||||
-DTIMEMORY_USE_PAPI=OFF
|
||||
|
||||
- name: Build
|
||||
timeout-minutes: 45
|
||||
run:
|
||||
cmake --build build --target all --parallel 2 -- VERBOSE=1
|
||||
|
||||
- name: Install
|
||||
run:
|
||||
cmake --build build --target install --parallel 2
|
||||
|
||||
- name: Test
|
||||
timeout-minutes: 30
|
||||
run:
|
||||
cd build &&
|
||||
ldd ./omnitrace &&
|
||||
./omnitrace --help
|
||||
|
||||
- name: Test Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export OMNITRACE_DEBUG=ON
|
||||
which omnitrace-avail
|
||||
ldd $(which omnitrace-avail)
|
||||
omnitrace-avail --help
|
||||
omnitrace-avail -a
|
||||
which omnitrace-critical-trace
|
||||
ldd $(which omnitrace-critical-trace)
|
||||
which omnitrace
|
||||
ldd $(which omnitrace)
|
||||
omnitrace --help
|
||||
omnitrace -e -v 1 -o ls.inst --simulate -- ls
|
||||
for i in omnitrace-ls.inst-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -o ls.inst -- ls
|
||||
./ls.inst
|
||||
omnitrace -e -v 1 --simulate -- ls
|
||||
for i in omnitrace-ls-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -- ls
|
||||
@@ -0,0 +1,110 @@
|
||||
name: ubuntu-focal-external
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
pull_request:
|
||||
branches: [ main, develop ]
|
||||
|
||||
env:
|
||||
BUILD_TYPE: Release
|
||||
ELFUTILS_DOWNLOAD_VERSION: 0.183
|
||||
OMNITRACE_DEBUG_FINALIZE: ON
|
||||
OMNITRACE_VERBOSE: 1
|
||||
OMNITRACE_CI: ON
|
||||
CONTAINER_NAME: 'container-${GITHUB_SHA}'
|
||||
CONTAINER_CMD: 'docker exec "${CONTAINER_NAME}"'
|
||||
|
||||
jobs:
|
||||
ubuntu-focal-external:
|
||||
runs-on: ubuntu-20.04
|
||||
container:
|
||||
image: jrmadsen/omnitrace-ci:ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
compiler: ['g++-7', 'g++-8', 'g++-9', 'g++-10']
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
apt-get update &&
|
||||
apt-get install -y build-essential m4 autoconf libtool python3-pip libiberty-dev clang libomp-dev ${{ matrix.compiler }} &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install 'cmake==3.16.3'
|
||||
|
||||
- name: Configure Env
|
||||
run:
|
||||
echo "CC=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')" >> $GITHUB_ENV &&
|
||||
echo "CXX=${{ matrix.compiler }}" >> $GITHUB_ENV &&
|
||||
echo "/opt/omnitrace/bin:${HOME}/.local/bin" >> $GITHUB_PATH &&
|
||||
echo "LD_LIBRARY_PATH=/opt/omnitrace/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Configure CMake
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
cmake --version &&
|
||||
cmake -B build
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
-DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
-DOMNITRACE_BUILD_TESTING=ON
|
||||
-DOMNITRACE_USE_MPI=OFF
|
||||
-DOMNITRACE_USE_HIP=OFF
|
||||
|
||||
- name: Build
|
||||
timeout-minutes: 45
|
||||
run:
|
||||
cmake --build build --target all --parallel 2 -- VERBOSE=1
|
||||
|
||||
- name: Install
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
cmake --build build --target install --parallel 2
|
||||
|
||||
- name: Test
|
||||
timeout-minutes: 30
|
||||
run:
|
||||
cd build &&
|
||||
ldd ./omnitrace &&
|
||||
./omnitrace --help &&
|
||||
ctest -V --output-log build/omnitrace-ctest-ubuntu-focal-external.log
|
||||
|
||||
- name: Test Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export OMNITRACE_DEBUG=ON
|
||||
which omnitrace-avail
|
||||
ldd $(which omnitrace-avail)
|
||||
omnitrace-avail --help
|
||||
omnitrace-avail -a
|
||||
which omnitrace-critical-trace
|
||||
ldd $(which omnitrace-critical-trace)
|
||||
which omnitrace
|
||||
ldd $(which omnitrace)
|
||||
omnitrace --help
|
||||
omnitrace -e -v 1 -o ls.inst --simulate -- ls
|
||||
for i in omnitrace-ls.inst-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -o ls.inst -- ls
|
||||
./ls.inst
|
||||
omnitrace -e -v 1 --simulate -- ls
|
||||
for i in omnitrace-ls-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -- ls
|
||||
|
||||
- name: CTest Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ctest-log
|
||||
path: |
|
||||
build/*.log
|
||||
|
||||
- name: Data Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: data-files
|
||||
path: |
|
||||
build/omnitrace-tests-output/**/*.txt
|
||||
@@ -0,0 +1,110 @@
|
||||
name: ubuntu-focal
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
pull_request:
|
||||
branches: [ main, develop ]
|
||||
|
||||
env:
|
||||
BUILD_TYPE: Release
|
||||
ELFUTILS_DOWNLOAD_VERSION: 0.183
|
||||
OMNITRACE_DEBUG_FINALIZE: ON
|
||||
OMNITRACE_VERBOSE: 1
|
||||
OMNITRACE_CI: ON
|
||||
|
||||
jobs:
|
||||
ubuntu-focal:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
compiler: ['g++']
|
||||
mpi: [ '', 'libmpich-dev mpich', 'libopenmpi-dev openmpi-bin libfabric-dev' ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
sudo apt-get update &&
|
||||
sudo apt-get install -y build-essential m4 autoconf libtool python3-pip libtbb-dev libboost-{atomic,system,thread,date-time,filesystem,timer}-dev clang libomp-dev ${{ matrix.compiler }} ${{ matrix.mpi }} &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install 'cmake==3.16.3'
|
||||
|
||||
- name: Configure Env
|
||||
run:
|
||||
echo "CC=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')" >> $GITHUB_ENV &&
|
||||
echo "CXX=${{ matrix.compiler }}" >> $GITHUB_ENV &&
|
||||
echo "/opt/omnitrace/bin:${HOME}/.local/bin" >> $GITHUB_PATH &&
|
||||
echo "LD_LIBRARY_PATH=/opt/omnitrace/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Configure CMake
|
||||
timeout-minutes: 5
|
||||
run:
|
||||
cmake --version &&
|
||||
if [ -z "${{ matrix.mpi }}" ]; then USE_MPI=OFF; else USE_MPI=ON; fi &&
|
||||
cmake -B ${{ github.workspace }}/build
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
|
||||
-DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
-DOMNITRACE_BUILD_TESTING=ON
|
||||
-DOMNITRACE_BUILD_DYNINST=ON
|
||||
-DOMNITRACE_USE_MPI=${USE_MPI}
|
||||
-DOMNITRACE_USE_HIP=OFF
|
||||
-DDYNINST_BUILD_ELFUTILS=ON
|
||||
-DDYNINST_BUILD_LIBIBERTY=ON
|
||||
-DDYNINST_BUILD_SHARED_LIBS=ON
|
||||
-DDYNINST_BUILD_STATIC_LIBS=OFF
|
||||
|
||||
- name: Build
|
||||
timeout-minutes: 45
|
||||
run:
|
||||
cmake --build ${{ github.workspace }}/build --target all --parallel 2 -- VERBOSE=1
|
||||
|
||||
- name: Install
|
||||
run:
|
||||
cmake --build ${{ github.workspace }}/build --target install --parallel 2
|
||||
|
||||
- name: Test
|
||||
timeout-minutes: 30
|
||||
working-directory: ${{ github.workspace }}/build
|
||||
run:
|
||||
ctest -V --output-log ${{ github.workspace }}/build/omnitrace-ctest-ubuntu-focal.log
|
||||
|
||||
- name: Test Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export OMNITRACE_DEBUG=ON
|
||||
which omnitrace-avail
|
||||
ldd $(which omnitrace-avail)
|
||||
omnitrace-avail --help
|
||||
omnitrace-avail -a
|
||||
which omnitrace-critical-trace
|
||||
ldd $(which omnitrace-critical-trace)
|
||||
which omnitrace
|
||||
ldd $(which omnitrace)
|
||||
omnitrace --help
|
||||
omnitrace -e -v 1 -o ls.inst --simulate -- ls
|
||||
for i in omnitrace-ls.inst-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -o ls.inst -- ls
|
||||
./ls.inst
|
||||
omnitrace -e -v 1 --simulate -- ls
|
||||
for i in omnitrace-ls-output/*; do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done
|
||||
omnitrace -e -v 1 -- ls
|
||||
|
||||
- name: CTest Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ctest-log
|
||||
path: |
|
||||
${{ github.workspace }}/build/*.log
|
||||
|
||||
- name: Data Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: data-files
|
||||
path: |
|
||||
${{ github.workspace }}/build/omnitrace-tests-output/**/*.txt
|
||||
@@ -318,6 +318,9 @@ set(TIMEMORY_INSTALL_HEADERS
|
||||
set(TIMEMORY_INSTALL_CONFIG
|
||||
OFF
|
||||
CACHE BOOL "Disable timemory cmake configuration install")
|
||||
set(TIMEMORY_INSTALL_LIBRARIES
|
||||
OFF
|
||||
CACHE BOOL "Disable timemory installation of libraries not needed at runtime")
|
||||
set(TIMEMORY_INSTALL_ALL
|
||||
OFF
|
||||
CACHE BOOL "Disable install target depending on all target")
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
/dyninst-source
|
||||
@@ -0,0 +1,42 @@
|
||||
|
||||
ARG DISTRO
|
||||
ARG VERSION
|
||||
FROM ${DISTRO}:${VERSION}
|
||||
|
||||
ENV HOME /root
|
||||
ENV LANG C.UTF-8
|
||||
ENV SHELL /bin/bash
|
||||
ENV BASH_ENV /etc/bash.bashrc
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
WORKDIR /tmp
|
||||
SHELL [ "/bin/bash", "-c" ]
|
||||
|
||||
ARG EXTRA_PACKAGES=""
|
||||
ARG ELFUTILS_DOWNLOAD_VERSION="0.183"
|
||||
ARG NJOBS="12"
|
||||
|
||||
ENV PATH ${HOME}/.local/bin:${PATH}
|
||||
ENV LIBRARY_PATH /usr/local/lib:/usr/local/lib64:${LIBRARY_PATH}
|
||||
ENV LD_LIBRARY_PATH /usr/local/lib:/usr/local/lib64:${LD_LIBRARY_PATH}
|
||||
ENV CMAKE_PREFIX_PATH /usr/local:${CMAKE_PREFIX_PATH}
|
||||
|
||||
COPY ./dyninst-source /tmp/dyninst
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get dist-upgrade -y && \
|
||||
apt-get install -y build-essential cmake wget gnupg2 m4 bash-completion git-core autoconf libtool autotools-dev python3-pip lsb-release zlib1g-dev libpapi-dev libpfm4-dev zip unzip locales bzip2 gzip && \
|
||||
python3 -m pip install 'cmake==3.18.4' && \
|
||||
apt-get autoclean && \
|
||||
locale -a && \
|
||||
cd /tmp/dyninst && \
|
||||
cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_BOOST=ON -DBUILD_TBB=ON -DBUILD_ELFUTILS=ON -DBUILD_LIBIBERTY=ON && \
|
||||
cmake --build build --target all --parallel ${NJOBS} && \
|
||||
cmake --build build --target install --parallel ${NJOBS} && \
|
||||
cd /tmp && \
|
||||
shopt -s dotglob extglob && \
|
||||
rm -rf *
|
||||
|
||||
ENV LC_ALL C.UTF-8
|
||||
WORKDIR /home
|
||||
SHELL [ "/bin/bash", "--login", "-c" ]
|
||||
Arquivo executável
+34
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
if [ ! -f Dockerfile.ci ]; then cd docker; fi
|
||||
|
||||
if [ ! -f Dockerfile.ci ]; then
|
||||
echo "Error! Execute script from source directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -rf ./dyninst-source
|
||||
cp -r ../external/dyninst ./dyninst-source
|
||||
rm -rf ./dyninst-source/{build,install}*
|
||||
|
||||
: ${DISTRO:=ubuntu}
|
||||
: ${VERSIONS:=20.04 18.04}
|
||||
: ${NJOBS=$(nproc)}
|
||||
: ${ELFUTILS_VERSION:=0.183}
|
||||
|
||||
set -e
|
||||
|
||||
for VERSION in ${VERSIONS}
|
||||
do
|
||||
docker build . \
|
||||
-f Dockerfile.ci \
|
||||
--tag jrmadsen/omnitrace-ci:${DISTRO}-${VERSION} \
|
||||
--build-arg DISTRO=${DISTRO} \
|
||||
--build-arg VERSION=${VERSION} \
|
||||
--build-arg NJOBS=${NJOBS} \
|
||||
--build-arg ELFUTILS_DOWNLOAD_VERSION=${ELFUTILS_VERSION}
|
||||
done
|
||||
|
||||
rm -rf ./dyninst-source
|
||||
@@ -23,14 +23,7 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
CACHE STRING "CMake build type" FORCE)
|
||||
endif()
|
||||
|
||||
if(DEFINED OMNITRACE_USE_MPI
|
||||
AND NOT LULESH_USE_CUDA
|
||||
AND NOT LULESH_USE_HIP)
|
||||
option(LULESH_USE_MPI "Enable MPI" ${OMNITRACE_USE_MPI})
|
||||
else()
|
||||
option(LULESH_USE_MPI "Enable MPI" OFF)
|
||||
endif()
|
||||
|
||||
option(LULESH_USE_MPI "Enable MPI" OFF)
|
||||
add_library(lulesh-mpi INTERFACE)
|
||||
if(LULESH_USE_MPI)
|
||||
find_package(MPI REQUIRED)
|
||||
|
||||
@@ -155,7 +155,9 @@ main(int /*argc*/, char** /*argv*/)
|
||||
double t, mflops, tmax;
|
||||
char class_npb;
|
||||
boolean verified;
|
||||
double zeta_verify_value, epsilon, err;
|
||||
double zeta_verify_value = 0.0;
|
||||
double epsilon = 0.0;
|
||||
double err = 0.0;
|
||||
|
||||
char* t_names[T_LAST];
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
c It sets the number of processors and the class_npb of the NPB
|
||||
c in this directory. Do not modify it by hand.
|
||||
*/
|
||||
#define NA 75000
|
||||
#define NA 50000
|
||||
#define NONZER 13
|
||||
#define NITER 75
|
||||
#define NITER 50
|
||||
#define SHIFT 60.0
|
||||
#define RCOND 1.0e-1
|
||||
#define CONVERTDOUBLE FALSE
|
||||
|
||||
+1
-1
Submodule projects/rocprofiler-systems/external/timemory updated: 1ea2511833...4fcf962d49
@@ -12,7 +12,14 @@ add_executable(
|
||||
target_include_directories(omnitrace-avail PRIVATE ${CMAKE_CURRENT_LIST_DIR}/include)
|
||||
target_compile_definitions(omnitrace-avail PRIVATE OMNITRACE_EXTERN_COMPONENTS=0)
|
||||
target_link_libraries(omnitrace-avail PRIVATE omnitrace::omnitrace-interface-library)
|
||||
set_target_properties(omnitrace-avail PROPERTIES INSTALL_RPATH_USE_LINK_PATH ON)
|
||||
set_target_properties(
|
||||
omnitrace-avail
|
||||
PROPERTIES
|
||||
BUILD_RPATH "\$ORIGIN:${PROJECT_BINARY_DIR}:${CMAKE_BINARY_DIR}"
|
||||
INSTALL_RPATH_USE_LINK_PATH ON
|
||||
INSTALL_RPATH
|
||||
"\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}/timemory/libunwind:\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}/dyninst-tpls/lib"
|
||||
)
|
||||
|
||||
install(
|
||||
TARGETS omnitrace-avail
|
||||
|
||||
@@ -15,7 +15,14 @@ target_include_directories(omnitrace-critical-trace
|
||||
target_compile_definitions(omnitrace-critical-trace PRIVATE OMNITRACE_EXTERN_COMPONENTS=0)
|
||||
target_link_libraries(omnitrace-critical-trace
|
||||
PRIVATE omnitrace::omnitrace-interface-library)
|
||||
set_target_properties(omnitrace-critical-trace PROPERTIES INSTALL_RPATH_USE_LINK_PATH ON)
|
||||
set_target_properties(
|
||||
omnitrace-critical-trace
|
||||
PROPERTIES
|
||||
BUILD_RPATH "\$ORIGIN:${PROJECT_BINARY_DIR}:${CMAKE_BINARY_DIR}"
|
||||
INSTALL_RPATH_USE_LINK_PATH ON
|
||||
INSTALL_RPATH
|
||||
"\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}/timemory/libunwind:\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}/dyninst-tpls/lib"
|
||||
)
|
||||
|
||||
install(
|
||||
TARGETS omnitrace-critical-trace
|
||||
|
||||
@@ -30,6 +30,7 @@ set_target_properties(
|
||||
omnitrace-exe
|
||||
PROPERTIES
|
||||
OUTPUT_NAME omnitrace
|
||||
BUILD_RPATH "\$ORIGIN:${PROJECT_BINARY_DIR}:${CMAKE_BINARY_DIR}"
|
||||
INSTALL_RPATH_USE_LINK_PATH ON
|
||||
INSTALL_RPATH
|
||||
"\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}/timemory/libunwind:\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}/dyninst-tpls/lib"
|
||||
|
||||
@@ -128,7 +128,7 @@ omnitrace_add_bin_test(
|
||||
)
|
||||
|
||||
omnitrace_add_bin_test(
|
||||
NAME omnitrace-avail-category-filer-omnitrace
|
||||
NAME omnitrace-avail-category-filter-omnitrace
|
||||
TARGET omnitrace-avail
|
||||
ARGS --categories settings::omnitrace --brief
|
||||
LABELS omnitrace-avail
|
||||
@@ -139,7 +139,7 @@ omnitrace_add_bin_test(
|
||||
)
|
||||
|
||||
omnitrace_add_bin_test(
|
||||
NAME omnitrace-avail-category-filer-timemory
|
||||
NAME omnitrace-avail-category-filter-timemory
|
||||
TARGET omnitrace-avail
|
||||
ARGS --categories settings::timemory --brief
|
||||
LABELS omnitrace-avail
|
||||
|
||||
@@ -410,7 +410,8 @@ omnitrace_add_test(
|
||||
TARGET openmp-cg
|
||||
REWRITE_ARGS -e -v 2 --instrument-loops
|
||||
RUNTIME_ARGS -e -v 1 --label return args
|
||||
RUN_ARGS
|
||||
REWRITE_TIMEOUT 180
|
||||
RUNTIME_TIMEOUT 360
|
||||
ENVIRONMENT "${_ompt_environment}")
|
||||
|
||||
omnitrace_add_test(
|
||||
@@ -418,5 +419,6 @@ omnitrace_add_test(
|
||||
TARGET openmp-lu
|
||||
REWRITE_ARGS -e -v 2 --instrument-loops
|
||||
RUNTIME_ARGS -e -v 1 --label return args
|
||||
RUN_ARGS REWRITE_TIMEOUT 180 RUNTIME_TIMEOUT 360
|
||||
REWRITE_TIMEOUT 180
|
||||
RUNTIME_TIMEOUT 360
|
||||
ENVIRONMENT "${_ompt_environment}")
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário