-
Notifications
You must be signed in to change notification settings - Fork 37
Closed
Milestone
Description
Another issue introduced in #830 and being reviewed in #882.
The fbridge.inc interface was not modified when adding channelids, it should have been modified
This is from 8e312bc (which is my first commit in WIP PR #882, where I regenerated all processes using 830 CODEGEN)
| INTEGER*4 CHANID |
C
C Execute the matrix-element calculation "sequence" via a Bridge on GPU/CUDA or CUDA/C++.
C - PBRIDGE: the memory address of the C++ Bridge
C - MOMENTA: the input 4-momenta Fortran array
C - GS: the input Gs (running QCD coupling constant alphas) Fortran array
C - RNDHEL: the input random number Fortran array for helicity selection
C - RNDCOL: the input random number Fortran array for color selection
C - CHANID: the input Feynman diagram to enhance in multi-channel mode if 1 to n
C - MES: the output matrix element Fortran array
C - SELHEL: the output selected helicity Fortran array
C - SELCOL: the output selected color Fortran array
C
INTERFACE
SUBROUTINE FBRIDGESEQUENCE(PBRIDGE, MOMENTA, GS,
& RNDHEL, RNDCOL, CHANID, MES, SELHEL, SELCOL)
INTEGER*8 PBRIDGE
DOUBLE PRECISION MOMENTA(*)
DOUBLE PRECISION GS(*)
DOUBLE PRECISION RNDHEL(*)
DOUBLE PRECISION RNDCOL(*)
INTEGER*4 CHANID
DOUBLE PRECISION MES(*)
INTEGER*4 SELHEL(*)
INTEGER*4 SELCOL(*)
END SUBROUTINE FBRIDGESEQUENCE
END INTERFACE
C
This is still using a scalar channelid. The main point of #830 should have been to allow passing an array of channelids from fortran to c++, so this file should have been modified. I will fix that.
I think that this explains what I mentioned in #914, that the way the channel array is passed from fortran to c++ is strange, for instance
CALL FBRIDGESEQUENCE(FBRIDGE_PBRIDGE, P_MULTI, ALL_G,
- & HEL_RAND, COL_RAND, CHANNEL, OUT2,
+ & HEL_RAND, COL_RAND, CHANNELS(1), OUT2,
& SELECTED_HEL2, SELECTED_COL2 ) ! 1-N: multi channel enabled
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels