From d5a9d09e6979392c4a27f10dff39b3b2a40d3553 Mon Sep 17 00:00:00 2001 From: Andrea Valassi Date: Fri, 28 Jun 2024 21:23:51 +0200 Subject: [PATCH] [fpe] in gq_ttq.mad, fix the SIGFPE crash for FPTYPE=f 512z builds (#845) by adding 'volatile', again This no longer crashes gdb ./madevent_cpp -ex 'set pagination off' -ex 'set confirm off' -ex 'set trace-commands on' \ -ex 'run < /tmp/avalassi/input_gqttq_x1_cudacpp' -ex where -ex l -ex 'p okcol' -ex quit --- .../cudacpp/gq_ttq.mad/SubProcesses/P1_gu_ttxu/CPPProcess.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epochX/cudacpp/gq_ttq.mad/SubProcesses/P1_gu_ttxu/CPPProcess.cc b/epochX/cudacpp/gq_ttq.mad/SubProcesses/P1_gu_ttxu/CPPProcess.cc index 62281dc124..e869bf91ab 100644 --- a/epochX/cudacpp/gq_ttq.mad/SubProcesses/P1_gu_ttxu/CPPProcess.cc +++ b/epochX/cudacpp/gq_ttq.mad/SubProcesses/P1_gu_ttxu/CPPProcess.cc @@ -1190,7 +1190,8 @@ namespace mg5amcCpu for( int icolC = 0; icolC < ncolor; icolC++ ) { #if defined MGONGPU_CPPSIMD - const bool okcol = allrndcol[ievt] < ( targetamp[icolC][ieppV] / targetamp[ncolor - 1][ieppV] ); + // Add volatile here to avoid SIGFPE crashes in FPTYPE=f cpp512z builds (#845) + volatile const bool okcol = allrndcol[ievt] < ( targetamp[icolC][ieppV] / targetamp[ncolor - 1][ieppV] ); #else const bool okcol = allrndcol[ievt] < ( targetamp[icolC] / targetamp[ncolor - 1] ); #endif