Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
zeniheisser opened this issue Mar 29, 2023 · 8 comments · Fixed by #632
Closed
Assignees

Comments

@zeniheisser
Copy link
Contributor

zeniheisser commented Mar 29, 2023

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
@valassi valassi changed the title Full support for non-SM UFO models: Compilation Support for non-SM UFO models: HRDCOD=1 build fails in model SMEFTsim_topU3l_MwScheme_UFO Mar 29, 2023
@valassi
Copy link
Member

valassi commented Mar 29, 2023

Hi @zeniheisser thanks a lot. Again, we clearly have a lot of work to do...

Now, about this specific one. I am confused, because I cannot recall the status of non-SM models, especially with respect to HRDCOD=1.

Maybe one or two questions to start with: does the build succeed if you go with the default HRDCOD=0? And why did you try HRDCOD=1, is it a functional requirement, an attempt to improve computational performance, or was this just a "random" test? (Good that you reported the issue anyway!).

Let me expand:

Anyway, @zeniheisser : specifically for reweighting, I think we had discussed that it would be better to leave freely-floating parameter variables in the code to allow several reweightings with different parameters sets using the same source code and the same build... right? In this case, my impression is that you should mainly focus on HRDCOD=0, and fixing this issue with HRDCOD=1 becomes lower priority. Do you agree?

@zeniheisser
Copy link
Contributor Author

Hi @valassi , I've added issue #616 regarding the compilation issues for non-hardcoded parameter sets.

For the reweighting project, we do indeed want HRDCOD=0, since we want online reading of tho param_card.

@valassi
Copy link
Member

valassi commented Mar 30, 2023

Thanks @zeniheisser!

Ok as mentioned in #616 this says it all

In file included from Parameters_SMEFTsim_topU3l_MwScheme_UFO.cc:8:
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:19:2: error: #error This non-SM physics process only supports MGONGPU_HARDCODE_PARAM builds (#439): please run "make HRDCOD=1"
   19 | #error This non-SM physics process only supports MGONGPU_HARDCODE_PARAM builds (#439): please run "make HRDCOD=1"
      |  ^~~~~

In other words, about my long and confused post above:

Let's follow up HRDCOD=0 (high priority!) in #616 (and later #439), and HRDCOD=1 (low priority!) here in #614

@valassi
Copy link
Member

valassi commented Apr 7, 2023

Cleaning up issues. I opened #634 but I believe it is a duplicate of this #614 (for HRDCOD=1, while #616 is for HRDCOD=0).

I believe Zenny means this process
9788926

cmd="import model SMEFTsim_topU3l_MwScheme_UFO -massless_4t; generate g g > t t~ t t~"

I opened a WIP PR #632 to investigate that. For details of the build errors, see also 44a78a8

@valassi
Copy link
Member

valassi commented May 22, 2023

(Note this is related to #39 - also to #23, but I have now closed the latter)

@valassi
Copy link
Member

valassi commented Feb 29, 2024

I have retried the smeft_gg_tttt builds in PR #632 after merging in also the latest 'susy2' fixes from PR #625. There are still many failures for both HRDCOD=0 (#616) and HRDCOD=1 (#614).

Concerning HRDCOD=1, this is a (non-exhaustive?) list:

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:121:31: error: exponent has no digits
  121 |     constexpr double mdl_WH = 4.070000e - 03;
      |                               ^~~~~~~~~

In file included from /usr/include/c++/11/cassert:44,
                 from ../../src/constexpr_math.h:11,
                 from ../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:23,
                 from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:384:58:   in ‘constexpr’ expansion of ‘mg5amcCpu::constexpr_pow(((long double)2.0e+0), ((long double)2.5e-1))’
../../src/constexpr_math.h:55:5: error: call to non-‘constexpr’ function ‘void __assert_fail(const char*, const char*, unsigned int, const char*)’
   55 |     assert( static_cast<long double>( iexp ) == exp ); // NB would fail at compile time with "error: call to non-‘constexpr’ function ‘void __assert_fail'"
      |     ^~~~~~

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:388:37: error: ‘ABS’ was not declared in this scope
  388 |     constexpr double mdl_propCorr = ABS( mdl_linearPropCorrections ) / ( ABS( mdl_linearPropCorrections ) + mdl_nb__10__exp___m_40 );
      |                                     ^~~

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h: In function ‘const mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::DependentCouplings_sv mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::computeDependentCouplings_fromG(const fptype_sv&, const fptype*)’:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:554:45: error: ‘aS’ was not declared in this scope
  554 |         const fptype_sv mdl_gHgg2 = ( -7. * aS ) / ( 720. * M_PI );
      |                                             ^~
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:560:66: error: conversion from ‘mg5amcCpu::fptype_sv’ {aka ‘__vector(4) double’} to non-scalar type ‘const mgOnGpu::cxsmpl<double>’ requested
  560 |         constexpr cxsmpl<double> mdl_G__exp__3 = ( ( G ) * ( G ) * ( G ) );
      |                                                  ~~~~~~~~~~~~~~~~^~~~~~~~~

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(121): warning #2506-D: a user-provided literal suffix must begin with "_"

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(121): error: user-defined literal operator not found

valassi added a commit to valassi/madgraph4gpu that referenced this issue Feb 29, 2024
…is ok (also added src/constexpr_math.h), builds fail for both HRDCOD=0 amd =1

For HRDCOD=1 (madgraph5#616), this is a (non-exhautive?) list of errors

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:121:31: error: exponent has no digits
  121 |     constexpr double mdl_WH = 4.070000e - 03;
      |                               ^~~~~~~~~

In file included from /usr/include/c++/11/cassert:44,
                 from ../../src/constexpr_math.h:11,
                 from ../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:23,
                 from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:384:58:   in ‘constexpr’ expansion of ‘mg5amcCpu::constexpr_pow(((long double)2.0e+0), ((long double)2.5e-1))’
../../src/constexpr_math.h:55:5: error: call to non-‘constexpr’ function ‘void __assert_fail(const char*, const char*, unsigned int, const char*)’
   55 |     assert( static_cast<long double>( iexp ) == exp ); // NB would fail at compile time with "error: call to non-‘constexpr’ function ‘void __assert_fail'"
      |     ^~~~~~

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:388:37: error: ‘ABS’ was not declared in this scope
  388 |     constexpr double mdl_propCorr = ABS( mdl_linearPropCorrections ) / ( ABS( mdl_linearPropCorrections ) + mdl_nb__10__exp___m_40 );
      |                                     ^~~

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h: In function ‘const mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::DependentCouplings_sv mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::computeDependentCouplings_fromG(const fptype_sv&, const fptype*)’:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:554:45: error: ‘aS’ was not declared in this scope
  554 |         const fptype_sv mdl_gHgg2 = ( -7. * aS ) / ( 720. * M_PI );
      |                                             ^~
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:560:66: error: conversion from ‘mg5amcCpu::fptype_sv’ {aka ‘__vector(4) double’} to non-scalar type ‘const mgOnGpu::cxsmpl<double>’ requested
  560 |         constexpr cxsmpl<double> mdl_G__exp__3 = ( ( G ) * ( G ) * ( G ) );
      |                                                  ~~~~~~~~~~~~~~~~^~~~~~~~~

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(121): warning #2506-D: a user-provided literal suffix must begin with "_"

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(121): error: user-defined literal operator not found

For HRDCOD=0 (madgraph5#614), this is a (non-exhautive?) list of errors

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h: In function ‘const mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::DependentCouplings_sv mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::computeDependentCouplings_fromG(const fptype_sv&, const fptype*)’:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:554:45: error: ‘aS’ was not declared in this scope
  554 |         const fptype_sv mdl_gHgg2 = ( -7. * aS ) / ( 720. * M_PI );
      |                                             ^~
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:560:66: error: conversion from ‘mg5amcCpu::fptype_sv’ {aka ‘__vector(4) double’} to non-scalar type ‘const mgOnGpu::cxsmpl<double>’ requested
  560 |         constexpr cxsmpl<double> mdl_G__exp__3 = ( ( G ) * ( G ) * ( G ) );
      |                                                  ~~~~~~~~~~~~~~~~^~~~~~~~~
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:561:35: error: ‘mdl_WH’ was not declared in this scope; did you mean ‘mdl_dWH’?
  561 |         const fptype_sv mdl_dWH = mdl_WH * ( -0.24161 * mdl_dGf + 0.96644 * mdl_dgw + 0.4832199999999999 * mdl_dkH - 0.11186509426655467 * mdl_dWW + ( 0.36410378449238195 * mdl_cHj3 * mdl_vevhat__exp__2 ) / mdl_LambdaSMEFT__exp__2 + ( 0.17608307708657747 * mdl_cHl3 * mdl_vevhat__exp__2 ) / mdl_LambdaSMEFT__exp__2 + ( 0.1636 * mdl_cHG * mdl_MT__exp__2 * mdl_vevhat__exp__2 ) / ( mdl_LambdaSMEFT__exp__2 * ( -0.5 * mdl_gHgg2 * mdl_MH__exp__2 + mdl_gHgg1 * mdl_MT__exp__2 ) ) + ( mdl_cHW * ( -0.35937785117066967 * mdl_gHaa * mdl_gHza + 0.006164 * mdl_cth * mdl_gHaa * mdl_sth + 0.00454 * mdl_gHza * mdl_sth__exp__2 ) * mdl_vevhat__exp__2 ) / ( mdl_gHaa * mdl_gHza * mdl_LambdaSMEFT__exp__2 ) + ( mdl_cHWB * ( -0.00454 * mdl_cth * mdl_gHza * mdl_sth + mdl_gHaa * ( -0.0030819999999999997 + 0.006163999999999999 * mdl_sth__exp__2 ) ) * mdl_vevhat__exp__2 ) / ( mdl_gHaa * mdl_gHza * mdl_LambdaSMEFT__exp__2 ) + ( mdl_cHB * ( -0.006163999999999999 * mdl_cth * mdl_gHaa * mdl_sth - 0.00454 * mdl_gHza * ( -1. + mdl_sth__exp__2 ) ) * mdl_vevhat__exp__2 ) / ( mdl_gHaa * mdl_gHza * mdl_LambdaSMEFT__exp__2 ) + mdl_dWHc + mdl_dWHb + mdl_dWHta );
      |                                   ^~~~~~
      |                                   mdl_dWH

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(554): error: identifier "aS" is undefined

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(560): error: expression must have a constant value
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(560): note #2689-D: the value of variable "G"
(550): here cannot be used as a constant

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(561): error: identifier "mdl_WH" is undefined
valassi added a commit to valassi/madgraph4gpu that referenced this issue Feb 29, 2024
…is ok (also added src/constexpr_math.h), builds fail for both HRDCOD=0 amd =1

For HRDCOD=1 (madgraph5#616), this is a (non-exhautive?) list of errors

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:121:31: error: exponent has no digits
  121 |     constexpr double mdl_WH = 4.070000e - 03;
      |                               ^~~~~~~~~

In file included from /usr/include/c++/11/cassert:44,
                 from ../../src/constexpr_math.h:11,
                 from ../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:23,
                 from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:384:58:   in ‘constexpr’ expansion of ‘mg5amcCpu::constexpr_pow(((long double)2.0e+0), ((long double)2.5e-1))’
../../src/constexpr_math.h:55:5: error: call to non-‘constexpr’ function ‘void __assert_fail(const char*, const char*, unsigned int, const char*)’
   55 |     assert( static_cast<long double>( iexp ) == exp ); // NB would fail at compile time with "error: call to non-‘constexpr’ function ‘void __assert_fail'"
      |     ^~~~~~

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:388:37: error: ‘ABS’ was not declared in this scope
  388 |     constexpr double mdl_propCorr = ABS( mdl_linearPropCorrections ) / ( ABS( mdl_linearPropCorrections ) + mdl_nb__10__exp___m_40 );
      |                                     ^~~

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h: In function ‘const mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::DependentCouplings_sv mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::computeDependentCouplings_fromG(const fptype_sv&, const fptype*)’:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:554:45: error: ‘aS’ was not declared in this scope
  554 |         const fptype_sv mdl_gHgg2 = ( -7. * aS ) / ( 720. * M_PI );
      |                                             ^~
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:560:66: error: conversion from ‘mg5amcCpu::fptype_sv’ {aka ‘__vector(4) double’} to non-scalar type ‘const mgOnGpu::cxsmpl<double>’ requested
  560 |         constexpr cxsmpl<double> mdl_G__exp__3 = ( ( G ) * ( G ) * ( G ) );
      |                                                  ~~~~~~~~~~~~~~~~^~~~~~~~~

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(121): warning #2506-D: a user-provided literal suffix must begin with "_"

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(121): error: user-defined literal operator not found

For HRDCOD=0 (madgraph5#614), this is a (non-exhautive?) list of errors

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h: In function ‘const mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::DependentCouplings_sv mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::computeDependentCouplings_fromG(const fptype_sv&, const fptype*)’:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:554:45: error: ‘aS’ was not declared in this scope
  554 |         const fptype_sv mdl_gHgg2 = ( -7. * aS ) / ( 720. * M_PI );
      |                                             ^~
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:560:66: error: conversion from ‘mg5amcCpu::fptype_sv’ {aka ‘__vector(4) double’} to non-scalar type ‘const mgOnGpu::cxsmpl<double>’ requested
  560 |         constexpr cxsmpl<double> mdl_G__exp__3 = ( ( G ) * ( G ) * ( G ) );
      |                                                  ~~~~~~~~~~~~~~~~^~~~~~~~~
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:561:35: error: ‘mdl_WH’ was not declared in this scope; did you mean ‘mdl_dWH’?
  561 |         const fptype_sv mdl_dWH = mdl_WH * ( -0.24161 * mdl_dGf + 0.96644 * mdl_dgw + 0.4832199999999999 * mdl_dkH - 0.11186509426655467 * mdl_dWW + ( 0.36410378449238195 * mdl_cHj3 * mdl_vevhat__exp__2 ) / mdl_LambdaSMEFT__exp__2 + ( 0.17608307708657747 * mdl_cHl3 * mdl_vevhat__exp__2 ) / mdl_LambdaSMEFT__exp__2 + ( 0.1636 * mdl_cHG * mdl_MT__exp__2 * mdl_vevhat__exp__2 ) / ( mdl_LambdaSMEFT__exp__2 * ( -0.5 * mdl_gHgg2 * mdl_MH__exp__2 + mdl_gHgg1 * mdl_MT__exp__2 ) ) + ( mdl_cHW * ( -0.35937785117066967 * mdl_gHaa * mdl_gHza + 0.006164 * mdl_cth * mdl_gHaa * mdl_sth + 0.00454 * mdl_gHza * mdl_sth__exp__2 ) * mdl_vevhat__exp__2 ) / ( mdl_gHaa * mdl_gHza * mdl_LambdaSMEFT__exp__2 ) + ( mdl_cHWB * ( -0.00454 * mdl_cth * mdl_gHza * mdl_sth + mdl_gHaa * ( -0.0030819999999999997 + 0.006163999999999999 * mdl_sth__exp__2 ) ) * mdl_vevhat__exp__2 ) / ( mdl_gHaa * mdl_gHza * mdl_LambdaSMEFT__exp__2 ) + ( mdl_cHB * ( -0.006163999999999999 * mdl_cth * mdl_gHaa * mdl_sth - 0.00454 * mdl_gHza * ( -1. + mdl_sth__exp__2 ) ) * mdl_vevhat__exp__2 ) / ( mdl_gHaa * mdl_gHza * mdl_LambdaSMEFT__exp__2 ) + mdl_dWHc + mdl_dWHb + mdl_dWHta );
      |                                   ^~~~~~
      |                                   mdl_dWH

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(554): error: identifier "aS" is undefined

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(560): error: expression must have a constant value
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(560): note #2689-D: the value of variable "G"
(550): here cannot be used as a constant

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(561): error: identifier "mdl_WH" is undefined
valassi added a commit to valassi/madgraph4gpu that referenced this issue Mar 17, 2024
…but HRDCOD=0/1 builds still fail

--

For HRDCOD=0 (madgraph5#614), this is a (non-exhaustive?) list of errors

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h: In function ‘const mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::DependentCouplings_sv mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::computeDependentCouplings_fromG(const fptype_sv&, const double*)’:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:583:45: error: ‘aS’ was not declared in this scope
  583 |         const fptype_sv mdl_gHgg2 = ( -7. * aS ) / ( 720. * M_PI );
      |                                             ^~
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:589:66: error: conversion from ‘mg5amcCpu::fptype_sv’ {aka ‘__vector(4) double’} to non-scalar type ‘const mgOnGpu::cxsmpl<double>’ requested
  589 |         constexpr cxsmpl<double> mdl_G__exp__3 = ( ( G ) * ( G ) * ( G ) );
      |                                                  ~~~~~~~~~~~~~~~~^~~~~~~~~

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(583): error: identifier "aS" is undefined

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(589): error: expression must have a constant value
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(589): note #2689-D: the value of variable "G"
(579): here cannot be used as a constant

--

For HRDCOD=1 (madgraph5#616), this is a (non-exhaustive?) list of errors

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:122:42: error: exponent has no digits
  122 |     __device__ constexpr double mdl_WH = 4.070000e - 03;
      |                                          ^~~~~~~~~

In file included from /usr/include/c++/11/cassert:44,
                 from ../../src/constexpr_math.h:11,
                 from ../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:23,
                 from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:385:58:   in ‘constexpr’ expansion of ‘mg5amcCpu::constexpr_pow(((long double)2.0e+0), ((long double)2.5e-1))’
../../src/constexpr_math.h:55:5: error: call to non-‘constexpr’ function ‘void __assert_fail(const char*, const char*, unsigned int, const char*)’
   55 |     assert( static_cast<long double>( iexp ) == exp ); // NB would fail at compile time with "error: call to non-‘constexpr’ function ‘void __assert_fail'"
      |     ^~~~~~
In file included from /usr/include/c++/11/cassert:44,
                 from ../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:106,
                 from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
/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 /usr/include/c++/11/cassert:44,
                 from ../../src/constexpr_math.h:11,
                 from ../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:23,
                 from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:389:37: error: ‘ABS’ was not declared in this scope
  389 |     constexpr double mdl_propCorr = ABS( mdl_linearPropCorrections ) / ( ABS( mdl_linearPropCorrections ) + mdl_nb__10__exp___m_40 );
      |                                     ^~~
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:389:74: error: ‘ABS’ was not declared in this scope
  389 |     constexpr double mdl_propCorr = ABS( mdl_linearPropCorrections ) / ( ABS( mdl_linearPropCorrections ) + mdl_nb__10__exp___m_40 );
      |                                                                          ^~~
In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(122): warning #2506-D: a user-provided literal suffix must begin with "_"

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(122): error: user-defined literal operator not found
valassi added a commit to valassi/madgraph4gpu that referenced this issue Mar 19, 2024
…but HRDCOD=0/1 builds still fail

--

For HRDCOD=0 (madgraph5#616), this is a (non-exhaustive?) list of errors

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h: In function ‘const mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::DependentCouplings_sv mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::computeDependentCouplings_fromG(const fptype_sv&, const double*)’:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:583:45: error: ‘aS’ was not declared in this scope
  583 |         const fptype_sv mdl_gHgg2 = ( -7. * aS ) / ( 720. * M_PI );
      |                                             ^~
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:589:66: error: conversion from ‘mg5amcCpu::fptype_sv’ {aka ‘__vector(4) double’} to non-scalar type ‘const mgOnGpu::cxsmpl<double>’ requested
  589 |         constexpr cxsmpl<double> mdl_G__exp__3 = ( ( G ) * ( G ) * ( G ) );
      |                                                  ~~~~~~~~~~~~~~~~^~~~~~~~~

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(583): error: identifier "aS" is undefined

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(589): error: expression must have a constant value
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(589): note #2689-D: the value of variable "G"
(579): here cannot be used as a constant

--

For HRDCOD=1 (madgraph5#614), this is a (non-exhaustive?) list of errors

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:122:42: error: exponent has no digits
  122 |     __device__ constexpr double mdl_WH = 4.070000e - 03;
      |                                          ^~~~~~~~~

In file included from /usr/include/c++/11/cassert:44,
                 from ../../src/constexpr_math.h:11,
                 from ../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:23,
                 from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:385:58:   in ‘constexpr’ expansion of ‘mg5amcCpu::constexpr_pow(((long double)2.0e+0), ((long double)2.5e-1))’
../../src/constexpr_math.h:55:5: error: call to non-‘constexpr’ function ‘void __assert_fail(const char*, const char*, unsigned int, const char*)’
   55 |     assert( static_cast<long double>( iexp ) == exp ); // NB would fail at compile time with "error: call to non-‘constexpr’ function ‘void __assert_fail'"
      |     ^~~~~~
In file included from /usr/include/c++/11/cassert:44,
                 from ../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:106,
                 from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
/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 /usr/include/c++/11/cassert:44,
                 from ../../src/constexpr_math.h:11,
                 from ../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:23,
                 from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:

In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:389:37: error: ‘ABS’ was not declared in this scope
  389 |     constexpr double mdl_propCorr = ABS( mdl_linearPropCorrections ) / ( ABS( mdl_linearPropCorrections ) + mdl_nb__10__exp___m_40 );
      |                                     ^~~
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:389:74: error: ‘ABS’ was not declared in this scope
  389 |     constexpr double mdl_propCorr = ABS( mdl_linearPropCorrections ) / ( ABS( mdl_linearPropCorrections ) + mdl_nb__10__exp___m_40 );
      |                                                                          ^~~
In file included from CPPProcess.h:22,
                 from Bridge.h:11,
                 from fsampler.cc:8:

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(122): warning #2506-D: a user-provided literal suffix must begin with "_"

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h(122): error: user-defined literal operator not found
@valassi
Copy link
Member

valassi commented Mar 19, 2024

In file included from CPPProcess.h:22,
from Bridge.h:11,
from fsampler.cc:8:
../../src/Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:121:31: error: exponent has no digits
121 | constexpr double mdl_WH = 4.070000e - 03;
| ^~~~~~~~~

This might be related to clang formatting issue #633?

valassi added a commit to valassi/madgraph4gpu that referenced this issue Mar 20, 2024
…madgraph5#633 madgraph5#614, but the G^3 variable needs fixing again

The G^3 assignment does give an issue in HRDCOD=0

In file included from Parameters_SMEFTsim_topU3l_MwScheme_UFO.cc:15:
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h: In function ‘const mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::DependentCouplings_sv mg5amcCpu::Parameters_SMEFTsim_topU3l_MwScheme_UFO_dependentCouplings::computeDependentCouplings_fromG(const fptype_sv&, const double*)’:
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:591:66: error: conversion from ‘mg5amcCpu::fptype_sv’ {aka ‘__vector(4) double’} to non-scalar type ‘const mgOnGpu::cxsmpl<double>’ requested
  591 |         constexpr cxsmpl<double> mdl_G__exp__3 = ( ( G ) * ( G ) * ( G ) );
      |                                                  ~~~~~~~~~~~~~~~~^~~~~~~~~
valassi added a commit to valassi/madgraph4gpu that referenced this issue Mar 20, 2024
Now HRDCOD=0 builds are ok madgraph5#616, while the only issue left in HRDCOD=1 builds madgraph5#614 is this:

ccache 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 -fPIC -c Parameters_SMEFTsim_topU3l_MwScheme_UFO.cc -o Parameters_SMEFTsim_topU3l_MwScheme_UFO.o
In file included from /usr/include/c++/11/cassert:44,
                 from constexpr_math.h:11,
                 from Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:23,
                 from Parameters_SMEFTsim_topU3l_MwScheme_UFO.cc:15:
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:385:58:   in ‘constexpr’ expansion of ‘mg5amcCpu::constexpr_pow(((long double)2.0e+0), ((long double)2.5e-1))’
constexpr_math.h:55:5: error: call to non-‘constexpr’ function ‘void __assert_fail(const char*, const char*, unsigned int, const char*)’
   55 |     assert( static_cast<long double>( iexp ) == exp ); // NB would fail at compile time with "error: call to non-‘constexpr’ function ‘void __assert_fail'"
      |     ^~~~~~
In file included from /usr/include/c++/11/cassert:44,
                 from Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:106,
                 from Parameters_SMEFTsim_topU3l_MwScheme_UFO.cc:15:
/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,
      |             ^~~~~~~~~~~~~
valassi added a commit to valassi/madgraph4gpu that referenced this issue Mar 20, 2024
Now HRDCOD=1 builds only have an issue with constexpr_pow with non integer exponents madgraph5#614

ccache 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 -fPIC -c Parameters_SMEFTsim_topU3l_MwScheme_UFO.cc -o Parameters_SMEFTsim_topU3l_MwScheme_UFO.o
In file included from /usr/include/c++/11/cassert:44,
                 from constexpr_math.h:11,
                 from Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:23,
                 from Parameters_SMEFTsim_topU3l_MwScheme_UFO.cc:15:
Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:385:58:   in ‘constexpr’ expansion of ‘mg5amcCpu::constexpr_pow(((long double)2.0e+0), ((long double)2.5e-1), 0)’
constexpr_math.h:56:5: error: call to non-‘constexpr’ function ‘void __assert_fail(const char*, const char*, unsigned int, const char*)’
   56 |     assert( static_cast<long double>( iexp ) == exp ); // NB would fail at compile time with "error: call to non-‘constexpr’ function ‘void __assert_fail'"
      |     ^~~~~~
In file included from /usr/include/c++/11/cassert:44,
                 from Parameters_SMEFTsim_topU3l_MwScheme_UFO.h:106,
                 from Parameters_SMEFTsim_topU3l_MwScheme_UFO.cc:15:
/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,
      |             ^~~~~~~~~~~~~
valassi added a commit to valassi/madgraph4gpu that referenced this issue Mar 20, 2024
…aph5#614: add constexpr handling of power to 1/2 and 1/4

Now HRDCOD=1 builds succeed, and also all tests runTest.exe and check.exe
valassi added a commit to valassi/madgraph4gpu that referenced this issue Mar 20, 2024
valassi added a commit to valassi/madgraph4gpu that referenced this issue Mar 20, 2024
@valassi valassi self-assigned this Mar 20, 2024
@valassi valassi linked a pull request Mar 20, 2024 that will close this issue
@valassi
Copy link
Member

valassi commented Mar 20, 2024

Hi @zeniheisser this is in principle also fixed in PR #632. Thanks for reporting also this one!

In summary, the folowing issues had to be fixed (I may be forgetting some)

I am following up in PR #632, where there are still a few CI issues (fixing one process breaks another, as usual)

I will close this for the time being

cc @oliviermattelaer @roiser

@valassi valassi closed this as completed Mar 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants