-
Notifications
You must be signed in to change notification settings - Fork 37
Description
Hi @oliviermattelaer this is a bad one. Sorry, it seems that I had not tested my vecsize patches for the simplest thing, namely a Fortran madevent only. This is totally broken.
Using gpucpp 4a54a9af4c883b4384e4d754c550d9bb120bd415 (so before your latest patches, but I guess it makes no difference), something as simple as this fails
MG5_aMC>generate g g > t t~
MG5_aMC>output madevent CODEGEN_gg_tt
MG5_aMC>launch
...
Error detected in "generate_events run_01"
write debug file /data/avalassi/GPU2023/MG5aMC/ghav-mg5amcnlo/CODEGEN_gg_tt/run_01_tag_1_debug.log
If you need help with this issue please contact us on https://answers.launchpad.net/mg5amcnlo
str : A compilation Error occurs when trying to compile /data/avalassi/GPU2023/MG5aMC/ghav-mg5amcnlo/CODEGEN_gg_tt/SubProcesses/P1_gg_ttx.
The compilation fails with the following output message:
gfortran -w -fPIC -O -fbounds-check -ffixed-line-length-132 -w -c symmetry.f -I../../Source/ -I../../Source/PDF/gammaUPC
coupl.inc:34:43:
34 | DOUBLE COMPLEX GC_10(VECSIZE_MEMMAX), GC_11(VECSIZE_MEMMAX)
| 1
Error: Explicit array shape at (1) must be constant of INTEGER type and not UNKNOWN type
coupl.inc:36:29:
36 | COMMON/COUPLINGS/ GC_10, GC_11
| 1
Error: Symbol ‘gc_10’ at (1) has no IMPLICIT type
coupl.inc:36:36:
36 | COMMON/COUPLINGS/ GC_10, GC_11
| 1
Error: Symbol ‘gc_11’ at (1) has no IMPLICIT type
coupl.inc:34:41:
34 | DOUBLE COMPLEX GC_10(VECSIZE_MEMMAX), GC_11(VECSIZE_MEMMAX)
| 1
Error: Symbol ‘vecsize_memmax’ at (1) has no IMPLICIT type
coupl.inc:34:41:
34 | DOUBLE COMPLEX GC_10(VECSIZE_MEMMAX), GC_11(VECSIZE_MEMMAX)
| 1
Error: Symbol ‘vecsize_memmax’ at (1) has no IMPLICIT type
make: *** [makefile:80: symmetry.o] Error 1
Please try to fix this compilations issue and retry.
Help might be found at https://answers.launchpad.net/mg5amcnlo.
If you think that this is a bug, you can report this at https://bugs.launchpad.net/mg5amcnlo
The problem is ultimately vector.inc and the absence of include guards in Fortran #458
- I wanted to define a parameter VECSIZE_MEMMAX in vector.inc
- And then use this in various places including coupl.inc, clusters.inc, driver.f etc
- The problem is that
include 'vector.inc'is a Fortran command which does not go through the cpp preprocessor.. so it is a total nightmare to make sure that the parameter VECSIZE_MEMMAX is included excatly once...
Before my patch. the value eg 16384 was HARDCODED in each file. I guess we need to go back to something like that...
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels