Skip to content

Support for non-SM UFO models: HRDCOD=1 build fails in model SMEFTsim_topU3l_MwScheme_UFO #614

@zeniheisser

Description

@zeniheisser

Generic issue: processes in non-SM models are not always supported (see also #615 )

Speceific issue: Processes in eg model SMEFTsim_topU3l_MwScheme_UFO can be exported through the plugin, but fail at compile time both due to failed assertions and to non-fitting parameter names, see code snippet for full error message.

[zwetters@itscrd80 P1_Sigma_SMEFTsim_topU3l_MwScheme_UFO_gg_ttx]$ make HRDCOD=1
makefile:77: CUDA_HOME was not set: using "/usr/local/cuda-11.8/"
OMPFLAGS=-fopenmp
AVX=512y
FPTYPE=d
HELINL=0
HRDCOD=1
RNDGEN=hasCurand
Building in BUILDDIR=. for tag=512y_d_inl0_hrd1_hasCurand (USEBUILDDIR is not set)
make -C ../../src  -f cudacpp_src.mk
make[1]: Entering directory '/data/zwetters/modded5amc/PROC_PLUGIN_SMEFTsim_topU3l_MwScheme_UFO_3/src'
AVX=512y
g++  -O3  -std=c++17 -I.  -fPIC -Wall -Wshadow -Wextra -ffast-math  -fopenmp -march=skylake-avx512 -mprefer-vector-width=256  -DMGONGPU_FPTYPE_DOUBLE -DMGONGPU_FPTYPE2_DOUBLE -DMGONGPU_HARDCODE_PARAM -c Parameters_SMEFTsim_topU3l_MwScheme_UFO.cc -o Parameters_SMEFTsim_topU3l_MwScheme_UFO.o
In file included from /opt/rh/gcc-toolset-11/root/usr/include/c++/11/cassert:44,
                 from Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:78,
                 from Parameters_SMEFTsim_topU3l_MwScheme_UFO.cc:8:
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:381:56:   in ‘constexpr’ expansion of ‘Parameters_SMEFTsim_topU3l_MwScheme_UFO::constexpr_pow(2.0e+0, 2.5e-1)’
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:110:5: error: call to non-‘constexpr’ function ‘void __assert_fail(const char*, const char*, unsigned int, const char*)’
  110 |     assert( static_cast<double>( iexp ) == exp ); // NB would fail at compile time with "error: call to non-‘constexpr’ function ‘void __assert_fail'"
      |     ^~~~~~
/usr/include/assert.h:67:13: note: ‘void __assert_fail(const char*, const char*, unsigned int, const char*)’ declared here
   67 | extern void __assert_fail (const char *__assertion, const char *__file,
      |             ^~~~~~~~~~~~~
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:384:58:   in ‘constexpr’ expansion of ‘Parameters_SMEFTsim_topU3l_MwScheme_UFO::constexpr_pow(1.0e+1, -4.0e+1)’
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:107:5: error: call to non-‘constexpr’ function ‘void __assert_fail(const char*, const char*, unsigned int, const char*)’
  107 |     assert( exp >= 0 ); // NB would fail at compile time with "error: call to non-‘constexpr’ function ‘void __assert_fail'"
      |     ^~~~~~
/usr/include/assert.h:67:13: note: ‘void __assert_fail(const char*, const char*, unsigned int, const char*)’ declared here
   67 | extern void __assert_fail (const char *__assertion, const char *__file,
      |             ^~~~~~~~~~~~~
In file included from Parameters_SMEFTsim_topU3l_MwScheme_UFO.cc:8:
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:385:35: error: ‘ABS’ was not declared in this scope
  385 |   constexpr double mdl_propCorr = ABS( mdl_linearPropCorrections ) / ( ABS( mdl_linearPropCorrections ) + mdl_nb__10__exp___m_40 );
      |                                   ^~~
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:385:72: error: ‘ABS’ was not declared in this scope
  385 |   constexpr double mdl_propCorr = ABS( mdl_linearPropCorrections ) / ( ABS( mdl_linearPropCorrections ) + mdl_nb__10__exp___m_40 );
      |                                                                        ^~~
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:398:49: error: call to non-‘constexpr’ function ‘mgOnGpu::cxsmpl<FP> mgOnGpu::conj(const mgOnGpu::cxsmpl<FP>&) [with FP = double]’
  398 |   constexpr cxsmpl<double> mdl_conjg__cbH = conj( mdl_cbH );
      |                                             ~~~~^~~~~~~~~~~
In file included from Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:13,
                 from Parameters_SMEFTsim_topU3l_MwScheme_UFO.cc:8:
mgOnGpuCxtypes.h:66:3: note: ‘mgOnGpu::cxsmpl<FP> mgOnGpu::conj(const mgOnGpu::cxsmpl<FP>&) [with FP = double]’ declared here
   66 |   conj( const cxsmpl<FP>& c )
      |   ^~~~
In file included from Parameters_SMEFTsim_topU3l_MwScheme_UFO.cc:8:
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:399:50: error: call to non-‘constexpr’ function ‘mgOnGpu::cxsmpl<FP> mgOnGpu::conj(const mgOnGpu::cxsmpl<FP>&) [with FP = double]’
  399 |   constexpr cxsmpl<double> mdl_conjg__ctHH = conj( mdl_ctHH );
      |                                              ~~~~^~~~~~~~~~~~
In file included from Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:13,
                 from Parameters_SMEFTsim_topU3l_MwScheme_UFO.cc:8:
mgOnGpuCxtypes.h:66:3: note: ‘mgOnGpu::cxsmpl<FP> mgOnGpu::conj(const mgOnGpu::cxsmpl<FP>&) [with FP = double]’ declared here
   66 |   conj( const cxsmpl<FP>& c )
      |   ^~~~
In file included from Parameters_SMEFTsim_topU3l_MwScheme_UFO.cc:8:
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h: In function ‘const Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::DependentCouplings_sv Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::computeDependentCouplings_fromG(const fptype_sv&)’:
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:532:45: error: ‘aS’ was not declared in this scope
  532 |       const fptype_sv mdl_gHgg2 = (  - 7. * aS ) / ( 720. * M_PI );
      |                                             ^~
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:538:64: error: conversion from ‘fptype_sv’ {aka ‘__vector(4) double’} to non-scalar type ‘const mgOnGpu::cxsmpl<double>’ requested
  538 |       constexpr cxsmpl<double> mdl_G__exp__3 = ( ( G ) * ( G ) * ( G ) );
      |                                                ~~~~~~~~~~~~~~~~^~~~~~~~~
make[1]: *** [cudacpp_src.mk:236: Parameters_SMEFTsim_topU3l_MwScheme_UFO.o] Error 1
make[1]: Leaving directory '/data/zwetters/modded5amc/PROC_PLUGIN_SMEFTsim_topU3l_MwScheme_UFO_3/src'
make: *** [makefile:471: ../../lib/libmg5amc_common.so] Error 2

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions