Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
166 changes: 83 additions & 83 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
@@ -1,83 +1,83 @@
name: C/C++ CI

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:

jobs:
debug_builds:
runs-on: ubuntu-latest
strategy:
matrix:
folder: [ epochX/cudacpp/ee_mumu.sa/SubProcesses/P1_Sigma_sm_epem_mupmum ]
fail-fast: false
steps:
- uses: actions/checkout@v2
- name: make debug
run: make -C ${{ matrix.folder }} debug
CPU:
runs-on: ubuntu-latest
strategy:
matrix:
folder: [ epochX/cudacpp/ee_mumu.mad/SubProcesses/P1_epem_mupmum , epochX/cudacpp/gg_ttgg.mad/SubProcesses/P1_gg_ttxgg ]
precision: [ d , f , m ]
backend: [ cppnone, cppauto ]
fail-fast: false
steps:
- uses: actions/checkout@v2
- name: github PR info
run: date; echo github.event.pull_request.head.sha='${{ github.event.pull_request.head.sha }}'
- name: make info
run: make BACKEND=${{ matrix.backend }} FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }} -f cudacpp.mk info
- name: make
run: make BACKEND=${{ matrix.backend }} FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }}
- name: make test
run: make BACKEND=${{ matrix.backend }} FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }} -f cudacpp.mk test
CPU_MAC:
runs-on: macos-latest
env:
FC: gfortran-14 # see #971
strategy:
matrix:
folder: [ epochX/cudacpp/ee_mumu.mad/SubProcesses/P1_epem_mupmum, epochX/cudacpp/gg_ttgg.mad/SubProcesses/P1_gg_ttxgg ]
precision: [ d , f , m ]
backend: [ cppnone, cppsse4 ]
fail-fast: false
steps:
- uses: actions/checkout@v2
- name: github PR info
run: date; echo github.event.pull_request.head.sha='${{ github.event.pull_request.head.sha }}'
- name: make info
run: make BACKEND=${{ matrix.backend }} OMPFLAGS= FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }} -f cudacpp.mk info
- name: make
run: make BACKEND=${{ matrix.backend }} OMPFLAGS= FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }}
- name: make test
run: make BACKEND=${{ matrix.backend }} OMPFLAGS= FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }} -f cudacpp.mk test
GPU:
runs-on: self-hosted
# runs-on: madgraph5-h100
# container: registry.cern.ch/ngt/lxplus-like:9
env:
CUDA_HOME: /usr/local/cuda/
FC: gfortran
strategy:
matrix:
folder: [ epochX/cudacpp/ee_mumu.mad/SubProcesses/P1_epem_mupmum , epochX/cudacpp/gg_ttgg.mad/SubProcesses/P1_gg_ttxgg ]
precision: [ d , f , m ]
backend: [ cppauto, cuda ]
fail-fast: false
steps:
- uses: actions/checkout@v2
- name: path
run: echo "PATH=$PATH"
- name: github PR info
run: date; echo github.event.pull_request.head.sha='${{ github.event.pull_request.head.sha }}'
- name: make info
run: make BACKEND=${{ matrix.backend }} FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }} -f cudacpp.mk info
- name: make
run: make BACKEND=${{ matrix.backend }} FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }}
- name: make test
run: make BACKEND=${{ matrix.backend }} FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }} -f cudacpp.mk test
# name: C/C++ CI
#
# on:
# push:
# branches: [ master ]
# pull_request:
# branches: [ master ]
# workflow_dispatch:
#
# jobs:
# debug_builds:
# runs-on: ubuntu-latest
# strategy:
# matrix:
# folder: [ epochX/cudacpp/ee_mumu.sa/SubProcesses/P1_Sigma_sm_epem_mupmum ]
# fail-fast: false
# steps:
# - uses: actions/checkout@v2
# - name: make debug
# run: make -C ${{ matrix.folder }} debug
# CPU:
# runs-on: ubuntu-latest
# strategy:
# matrix:
# folder: [ epochX/cudacpp/ee_mumu.mad/SubProcesses/P1_epem_mupmum , epochX/cudacpp/gg_ttgg.mad/SubProcesses/P1_gg_ttxgg ]
# precision: [ d , f , m ]
# backend: [ cppnone, cppauto ]
# fail-fast: false
# steps:
# - uses: actions/checkout@v2
# - name: github PR info
# run: date; echo github.event.pull_request.head.sha='${{ github.event.pull_request.head.sha }}'
# - name: make info
# run: make BACKEND=${{ matrix.backend }} FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }} -f cudacpp.mk info
# - name: make
# run: make BACKEND=${{ matrix.backend }} FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }}
# - name: make test
# run: make BACKEND=${{ matrix.backend }} FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }} -f cudacpp.mk test
# CPU_MAC:
# runs-on: macos-latest
# env:
# FC: gfortran-14 # see #971
# strategy:
# matrix:
# folder: [ epochX/cudacpp/ee_mumu.mad/SubProcesses/P1_epem_mupmum, epochX/cudacpp/gg_ttgg.mad/SubProcesses/P1_gg_ttxgg ]
# precision: [ d , f , m ]
# backend: [ cppnone, cppsse4 ]
# fail-fast: false
# steps:
# - uses: actions/checkout@v2
# - name: github PR info
# run: date; echo github.event.pull_request.head.sha='${{ github.event.pull_request.head.sha }}'
# - name: make info
# run: make BACKEND=${{ matrix.backend }} OMPFLAGS= FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }} -f cudacpp.mk info
# - name: make
# run: make BACKEND=${{ matrix.backend }} OMPFLAGS= FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }}
# - name: make test
# run: make BACKEND=${{ matrix.backend }} OMPFLAGS= FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }} -f cudacpp.mk test
# GPU:
# runs-on: self-hosted
# # runs-on: madgraph5-h100
# # container: registry.cern.ch/ngt/lxplus-like:9
# env:
# CUDA_HOME: /usr/local/cuda/
# FC: gfortran
# strategy:
# matrix:
# folder: [ epochX/cudacpp/ee_mumu.mad/SubProcesses/P1_epem_mupmum , epochX/cudacpp/gg_ttgg.mad/SubProcesses/P1_gg_ttxgg ]
# precision: [ d , f , m ]
# backend: [ cppauto, cuda ]
# fail-fast: false
# steps:
# - uses: actions/checkout@v2
# - name: path
# run: echo "PATH=$PATH"
# - name: github PR info
# run: date; echo github.event.pull_request.head.sha='${{ github.event.pull_request.head.sha }}'
# - name: make info
# run: make BACKEND=${{ matrix.backend }} FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }} -f cudacpp.mk info
# - name: make
# run: make BACKEND=${{ matrix.backend }} FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }}
# - name: make test
# run: make BACKEND=${{ matrix.backend }} FPTYPE=${{ matrix.precision }} -C ${{ matrix.folder }} -f cudacpp.mk test
16 changes: 15 additions & 1 deletion .github/workflows/testsuite_oneprocess.sh
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,15 @@ function build() {
make -f cudacpp.mk gtestlibs
fi
# NB: 'make bldall' internally checks if 'which nvcc' and 'which hipcc' succeed before attempting to build cuda and hip
make -j bldall
if [ "${proc##*.}" == "sa" ]; then
# for standalone, just use the makefile (symlinked to cudacpp.mk)
rm cudacpp_overlay.mk
ls -l
make -j bldall
else
# makefile overlay after removing patches
make -j -f makefile -f cudacpp_overlay.mk bldall
fi
popd >& /dev/null
done
}
Expand Down Expand Up @@ -268,7 +276,13 @@ function tput_test() {
ECHO
echo "DEBUG: execute tests in directory ${bdir}"
if [ ! -f ${bdir}/runTest_${suffix}.exe ]; then echo "ERROR! ${bdir}/runTest_${suffix}.exe not found?"; exit 1; fi
#
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
ldd ${bdir}/runTest_${suffix}.exe
LD_DEBUG=libs ${bdir}/runTest_${suffix}.exe 2>&1 | head -n 80
command -v objdump >/dev/null && objdump -d "${bdir}/runTest_${suffix}.exe" | head -n 60 || true
runExe ${bdir}/runTest_${suffix}.exe
#
if [ ! -f ${bdir}/check_${suffix}.exe ]; then echo "ERROR! ${bdir}/check_${suffix}.exe not found?"; exit 1; fi
runExe ${bdir}/check_${suffix}.exe -p 1 32 1
done
Expand Down
48 changes: 47 additions & 1 deletion .github/workflows/testsuite_oneprocess.yml
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,20 @@ jobs:
buildcache-${{ runner.os }}-${{ inputs.process }}-${{ matrix.fptype }}-${{ steps.split.outputs.prnum }}
buildcache-${{ runner.os }}-${{ inputs.process }}-${{ matrix.fptype }}

- name: Runner CPU info
run: |
uname -a
lscpu || true
cat /proc/cpuinfo | sed -n '1,20p' || true
echo "CC: $CC"; $CC --version || true
echo "CXX: $CXX"; $CXX --version || true
echo "FC: $FC"; $FC --version || true

- name: Enable core dumps
run: |
ulimit -c unlimited
echo 'core.%e.%p' | sudo tee /proc/sys/kernel/core_pattern

- name: before_build
run: .github/workflows/testsuite_oneprocess.sh before_build ${{ inputs.process }}

Expand All @@ -257,7 +271,39 @@ jobs:
key: buildcache-${{ runner.os }}-${{ inputs.process }}-${{ matrix.fptype }}-${{ steps.split.outputs.prnum }}-${{ github.run_id }}

- name: tput_test
run: .github/workflows/testsuite_oneprocess.sh tput_test ${{ inputs.process }}
#run: .github/workflows/testsuite_oneprocess.sh tput_test ${{ inputs.process }}
run: |
set -euo pipefail
ulimit -c unlimited
.github/workflows/testsuite_oneprocess.sh tput_test ${{ inputs.process }}

- name: If crash, print SIGILL site
if: always()
run: |
shopt -s nullglob
sudo apt-get update
sudo apt-get install gdb
for c in $(find . -name 'core.*' -maxdepth 6); do
exe=$(echo "$c" | sed -n 's/.*core\.\(.*\)\.[0-9]\+/\1/p')
echo "---- $c (exe guess: $exe) ----"
for ff in f d m; do
exe_full_path="${c%/*}/build.none_${ff}_inl0_hrd0/$exe"
if [ -f "$exe_full_path" ]; then echo "OK"; else continue; fi
echo ""
echo "==============="
echo "$exe_full_path"
echo "==============="
command -v gdb >/dev/null && gdb -batch -q "$exe_full_path" "$c" -ex 'info reg' -ex 'bt' || true
gdb -batch -q "$exe_full_path" "$c" -ex 'info files' -ex 'bt' -ex 'x/12i $rip'
echo ""
command -v objdump >/dev/null && objdump -d "$exe_full_path" | head -n 60 || true
echo ""
objdump -d "$exe_full_path" | grep -nE '\bzmm|k[0-7]\b|evex'
# or a broader signature:
objdump -d "$exe_full_path" | grep -nE 'v[a-z].*zmm|k[0-7]'
echo ""
done
done

- name: tmad_test
run: .github/workflows/testsuite_oneprocess.sh tmad_test ${{ inputs.process }}
Expand Down
2 changes: 1 addition & 1 deletion MG5aMC/mg5amcnlo
Submodule mg5amcnlo updated 97 files
+7 −2 MadSpin/decay.py
+4 −3 Template/LO/SubProcesses/genps.f
+8 −3 Template/LO/SubProcesses/reweight.f
+13 −14 Template/NLO/FixedOrderAnalysis/HwU.f
+1 −1 Template/NLO/SubProcesses/add_write_info.f
+1 −1 Template/NLO/SubProcesses/cluster.f
+9 −5 Template/NLO/SubProcesses/cuts.f
+2 −2 Template/NLO/SubProcesses/driver_mintMC.f
+14 −1 Template/NLO/SubProcesses/fks_singular.f
+4 −4 Template/NLO/SubProcesses/symmetry_fks_v3.f
+1 −1 Template/NLO/SubProcesses/write_ajob.f
+6 −6 Template/NLO/Utilities/improve.f
+22 −0 UpdateNotes.txt
+1 −1 VERSION
+50 −25 aloha/aloha_writers.py
+13 −7 aloha/create_aloha.py
+121 −18 madgraph/core/color_algebra.py
+13 −1 madgraph/core/color_amp.py
+3 −3 madgraph/interface/amcatnlo_interface.py
+10 −3 madgraph/interface/amcatnlo_run_interface.py
+3 −2 madgraph/interface/common_run_interface.py
+1 −1 madgraph/interface/madevent_interface.py
+12 −2 madgraph/iolibs/export_v4.py
+37 −13 madgraph/iolibs/template_files/addmothers.f
+4 −5 madgraph/iolibs/template_files/born_cnt_splitorders_fks.inc
+2 −2 madgraph/iolibs/template_files/born_fks.inc
+4 −5 madgraph/iolibs/template_files/bornmatrix_splitorders_fks.inc
+1 −1 madgraph/iolibs/template_files/loop/check_sa.inc
+3 −1 madgraph/iolibs/template_files/madevent_driver.f
+1 −0 madgraph/iolibs/template_files/madevent_symmetry.f
+2 −2 madgraph/iolibs/template_files/makefile_sa_f2py
+1 −1 madgraph/iolibs/template_files/makefile_sa_f_sp
+2 −26 madgraph/various/cluster.py
+2 −2 madgraph/various/histograms.py
+3 −0 madgraph/various/lhe_parser.py
+1 −1 models/taudecay_UFO/parameters.py
+2 −0 models/usermod.py
+6 −2 tests/acceptance_tests/test_madspin.py
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_pptt_ewsudakovSA/%SubProcesses%P0_bbx_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_pptt_ewsudakovSA/%SubProcesses%P0_bxb_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_pptt_ewsudakovSA/%SubProcesses%P0_ccx_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_pptt_ewsudakovSA/%SubProcesses%P0_cxc_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_pptt_ewsudakovSA/%SubProcesses%P0_ddx_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_pptt_ewsudakovSA/%SubProcesses%P0_dxd_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_pptt_ewsudakovSA/%SubProcesses%P0_gg_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_pptt_ewsudakovSA/%SubProcesses%P0_ssx_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_pptt_ewsudakovSA/%SubProcesses%P0_sxs_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_pptt_ewsudakovSA/%SubProcesses%P0_uux_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_pptt_ewsudakovSA/%SubProcesses%P0_uxu_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_ppzz_ewsudakov/%SubProcesses%P0_bbx_zz%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_ppzz_ewsudakov/%SubProcesses%P0_bxb_zz%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_ppzz_ewsudakov/%SubProcesses%P0_ccx_zz%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_ppzz_ewsudakov/%SubProcesses%P0_cxc_zz%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_ppzz_ewsudakov/%SubProcesses%P0_ddx_zz%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_ppzz_ewsudakov/%SubProcesses%P0_dxd_zz%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_ppzz_ewsudakov/%SubProcesses%P0_ssx_zz%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_ppzz_ewsudakov/%SubProcesses%P0_sxs_zz%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_ppzz_ewsudakov/%SubProcesses%P0_uux_zz%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportEWSudTest/test_ppzz_ewsudakov/%SubProcesses%P0_uxu_zz%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%born.f
+1 −1 .../input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%V0_dxu_wp%check_sa.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%born.f
+1 −1 .../input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%V0_udx_wp%check_sa.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%born.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born.f
+1 −1 ...t_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%V0_dxu_veep%check_sa.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%born.f
+1 −1 ...t_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%V0_udx_veep%check_sa.f
+6 −6 tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%born.f
+2 −0 tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_group/configs.inc
+2 −0 tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_nogroup/configs.inc
+1 −1 ...estsComparison/MadLoop_output_from_the_interface/TIR_output/%ggttx_IOTest%SubProcesses%P0_gg_ttx%check_sa.f
+1 −1 tests/input_files/IOTestsComparison/TestCmdMatchBox/MatchBoxOutput/%TEST%SubProcesses%P1_uux_uux%check_sa.f
+1 −1 tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/check_sa.f
+1 −1 tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/check_sa.f
+1 −1 tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/check_sa.f
+1 −1 tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/check_sa.f
+1 −1 tests/input_files/IOTestsComparison/short_ML_SMQCD_default/ddx_ttx/check_sa.f
+1 −1 tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/check_sa.f
+1 −1 tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/ddx_ttx/check_sa.f
+1 −1 tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/check_sa.f
+0 −1 tests/parallel_tests/test_aloha.py
+583 −13 tests/unit_tests/core/test_color_algebra.py
+24 −0 tests/unit_tests/iolibs/test_export_v4.py
+39 −9 tests/unit_tests/various/test_diquark_models.py
Loading
Loading