You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
By default, intermediate files built by nvcc -dc and nvcc -dlink are stored in a temporary directory and have a randomly generated name, e.g.
/tmp/tmpxft_00031a01_00000000-6_kernels.cpp1.ii
These file names are then used to generate unique symbols names, e.g.
T __cudaRegisterLinkedBinary_42_tmpxft_00031a01_00000000_6_kernels_cpp1_ii_478d4aee
and so end up influencing the final binaries.
Experimenting with nvcc, it seems that this can be avoided using the -keep -keep-dir $TEMP_DIR options: in this case the temporary names are relative to the TEMP_DIR directory, and so depend only on the compilation target name, and should remain unchanged across recompilation.
Depending how scram invokes nvcc, a possibility could be to pass the options -keep -keep-dir $CMSSW_BASE/tmp/$SCRAM_ARCH (or a dedicated subdirectory).
The text was updated successfully, but these errors were encountered:
By default, intermediate files built by
nvcc -dc
andnvcc -dlink
are stored in a temporary directory and have a randomly generated name, e.g.These file names are then used to generate unique symbols names, e.g.
and so end up influencing the final binaries.
Experimenting with
nvcc
, it seems that this can be avoided using the-keep -keep-dir $TEMP_DIR
options: in this case the temporary names are relative to theTEMP_DIR
directory, and so depend only on the compilation target name, and should remain unchanged across recompilation.Depending how
scram
invokesnvcc
, a possibility could be to pass the options-keep -keep-dir $CMSSW_BASE/tmp/$SCRAM_ARCH
(or a dedicated subdirectory).The text was updated successfully, but these errors were encountered: