Skip to content

Tool_DependencyCudaDLINK seems unnecessary - #118

Closed
slava77 wants to merge 1 commit into
cms-sw:scramv3from
slava77:scramv3-no-DependencyCudaDLINK
Closed

slava77 wants to merge 1 commit into
cms-sw:scramv3from
slava77:scramv3-no-DependencyCudaDLINK

Conversation

@slava77

@slava77 slava77 commented Jun 5, 2026

Copy link
Copy Markdown

Removed Tool_DependencyCudaDLINK variable assignment.

This is in connection with cms-sw/cmsdist#10548
From the investigation there I seem to conclude that dlink dependencies coming from other dlinked libs are not needed; and if dependencies are introduced on a package that has a non-trivial dlinkage it leads to an invalid build.

I partially tested locally in CMSSW_17_0_0_pre2

  • recompile packages with an alpaka directory from a list find $CMSSW_RELEASE_BASE/src -name alpaka -type d | cut -d"/" -f9-10 | sort | uniq
  • compilation OK
  • runtests passes
  • runTheMatrix.py -w gpu -j 4 --requires-gpu --ibeos -i all passes on a machine with A30

Removed Tool_DependencyCudaDLINK variable assignment.
@cmsbuild

cmsbuild commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

A new Pull Request was created by @slava77 for branch scramv3.

@akritkbehera, @cmsbuild, @iarspider, @raoatifshad, @smuzaffar can you please review it and eventually sign? Thanks.
@ftenchini, @mandrenguyen, @sextonkennedy you are the release manager for this.
cms-bot commands are listed here

@cmsbuild

cmsbuild commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

cms-bot internal usage

@smuzaffar

smuzaffar commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

please test using full cmssw

@cmsbuild

cmsbuild commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

-1

Failed Tests: Build
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-8725b3/53690/summary.html
COMMIT: e5c1b09
CMSSW: CMSSW_17_0_X_2026-06-04-2300/el8_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw-config/118/53690/install.sh to create a dev area with all the needed externals and cmssw changes.

Failed Build

I found compilation error when building:

>> Compiling edm plugin src/HeterogeneousTest/CUDADevice/plugins/CUDATestDeviceAdditionModule.cc
/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/gcc/13.4.0-6908cfdf803923e783448096ca4f0923/bin/c++ -c -DCMS_MICRO_ARCH='' -DGNU_GCC -D_GNU_SOURCE -DTBB_USE_GLIBCXX_VERSION=130400 -DTBB_SUPPRESS_DEPRECATED_MESSAGES -DTBB_PREVIEW_RESUMABLE_TASKS=1 -DTBB_PREVIEW_TASK_GROUP_EXTENSIONS=1 -DBOOST_SPIRIT_THREADSAFE -DPHOENIX_THREADSAFE -DBOOST_MATH_DISABLE_STD_FPCLASSIFY -DBOOST_UUID_RANDOM_PROVIDER_FORCE_POSIX -DBOOST_MPL_IGNORE_PARENTHESES_WARNING -DCMSSW_GIT_HASH='CMSSW_17_0_X_2026-06-04-2300' -DPROJECT_NAME='CMSSW' -DPROJECT_VERSION='CMSSW_17_0_X_2026-06-04-2300' -Isrc -I/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/pcre/8.43-7f0edb13c32a66555b25b5433dd2ceed/include -isystem/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/boost/1.80.0-439e0a2183f4d7ca3604168e474224c5/include -I/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/bz2lib/1.0.8-353e2ef1c2f1d06b28a8938defa197bc/include -I/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/libuuid/2.40-d94705b84648fd294d63bf9de23bc03b/include -isystem/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/lcg/root/6.36.13-7fe36d08dd9b9758c207859463cc3525/include -isystem/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/tbb/v2022.3.0-daad917f8c7fd382a88c95b720f7e5f7/include -I/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/xz/5.6.4-ea99661ac7ca423b4d74fd650284b41f/include -I/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/zlib/1.3.2-53c061acc706fe8f28fd9477d9981c20/include -I/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/cuda/12.9.1-2f902b8cd69fc02665180a65ec16b3a4/include -I/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/eigen/c1d637433e3b3f9012b226c2c9125c494b470ae6-98caed40e4d2e9af234831b4eafb854a/include -I/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/eigen/c1d637433e3b3f9012b226c2c9125c494b470ae6-98caed40e4d2e9af234831b4eafb854a/include/eigen3 -I/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/md5/1.0.0-26057075013e190e56dad37d35219376/include -I/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/tinyxml2/6.2.0-ccad39708675ec9caf4eb88d12976cd5/include -O3 -pthread -pipe -Werror=main -Werror=pointer-arith -Werror=overlength-strings -Wno-vla -Werror=overflow -std=c++20 -ftree-vectorize -Werror=array-bounds -Werror=format-contains-nul -Werror=type-limits -fvisibility-inlines-hidden -fno-math-errno --param vect-max-version-for-alias-checks=50 -Xassembler --compress-debug-sections -Wno-error=array-bounds -Warray-bounds -fuse-ld=bfd -march=x86-64-v3 -felide-constructors -fmessage-length=0 -Wall -Wno-non-template-friend -Wno-long-long -Wreturn-type -Wextra -Wpessimizing-move -Wclass-memaccess -Wno-cast-function-type -Wno-unused-but-set-parameter -Wno-ignored-qualifiers -Wno-unused-parameter -Wunused -Wparentheses -Werror=return-type -Werror=unused-value -Werror=unused-result -Werror=unused-label -Werror=address -Werror=format -Werror=sign-compare -Werror=write-strings -Werror=delete-non-virtual-dtor -Werror=strict-aliasing -Werror=narrowing -Werror=unused-but-set-variable -Werror=reorder -Werror=unused-variable -Werror=conversion-null -Werror=return-local-addr -Wnon-virtual-dtor -Werror=switch -fdiagnostics-show-option -Wno-unused-local-typedefs -Wno-attributes -Wno-psabi -DEIGEN_DONT_PARALLELIZE -DEIGEN_MAX_ALIGN_BYTES=64 -Wno-error=unused-variable -DBOOST_DISABLE_ASSERTS -flto=auto -fipa-icf -flto-odr-type-merging -fno-fat-lto-objects -Wodr -fPIC -MMD -MF tmp/el8_amd64_gcc13/src/HeterogeneousTest/CUDADevice/plugins/HeterogeneousTestCUDADevicePlugins/CUDATestDeviceAdditionModule.cc.d src/HeterogeneousTest/CUDADevice/plugins/CUDATestDeviceAdditionModule.cc -o tmp/el8_amd64_gcc13/src/HeterogeneousTest/CUDADevice/plugins/HeterogeneousTestCUDADevicePlugins/CUDATestDeviceAdditionModule.cc.o
>> Cuda Device Link tmp/el8_amd64_gcc13/src/HeterogeneousTest/CUDADevice/plugins/HeterogeneousTestCUDADevicePlugins/HeterogeneousTestCUDADevicePlugins_cudadlink.o 
/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/cuda/12.9.1-2f902b8cd69fc02665180a65ec16b3a4/bin/nvcc -dlink -L/data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_17_0_X_2026-06-04-2300/static/el8_amd64_gcc13  -L/data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_17_0_X_2026-06-04-2300/biglib/el8_amd64_gcc13 -L/data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_17_0_X_2026-06-04-2300/lib/el8_amd64_gcc13 -L/data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_17_0_X_2026-06-04-2300/external/el8_amd64_gcc13/lib -L/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/cuda/12.9.1-2f902b8cd69fc02665180a65ec16b3a4/lib64/stubs -L/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/cuda/12.9.1-2f902b8cd69fc02665180a65ec16b3a4/lib64 -lcudadevrt --diag-suppress 20014 -std=c++20 -O3 --generate-line-info --source-in-ptx --display-error-number --expt-relaxed-constexpr --extended-lambda --static-global-template-stub=true --device-entity-has-hidden-visibility=true -gencode arch=compute_70,code=[sm_70,compute_70] -gencode arch=compute_75,code=[sm_75,compute_75] -gencode arch=compute_80,code=[sm_80,compute_80] -gencode arch=compute_89,code=[sm_89,compute_89] -gencode arch=compute_90,code=[sm_90,compute_90] -gencode arch=compute_100,code=[sm_100,compute_100] -gencode arch=compute_120,code=[sm_120,compute_120] -Wno-deprecated-gpu-targets -diag-suppress=3012 -diag-suppress=3189 -Xcudafe --diag_suppress=esa_on_defaulted_function_ignored -Xcudafe --gnu_version=130400 --cudart shared --compiler-options '-O3 -pthread -pipe -Werror=main -Werror=pointer-arith -Werror=overlength-strings -Wno-vla -Werror=overflow -ftree-vectorize -Werror=array-bounds -Werror=format-contains-nul -Werror=type-limits -fvisibility-inlines-hidden -fno-math-errno --param vect-max-version-for-alias-checks=50 -Xassembler --compress-debug-sections -Wno-error=array-bounds -Warray-bounds -fuse-ld=bfd -felide-constructors -fmessage-length=0 -Wall -Wno-non-template-friend -Wno-long-long -Wreturn-type -Wextra -Wpessimizing-move -Wclass-memaccess -Wno-cast-function-type -Wno-unused-but-set-parameter -Wno-ignored-qualifiers -Wno-unused-parameter -Wunused -Wparentheses -Werror=return-type -Werror=unused-value -Werror=unused-result -Werror=unused-label -Werror=address -Werror=format -Werror=sign-compare -Werror=write-strings -Werror=delete-non-virtual-dtor -Werror=strict-aliasing -Werror=narrowing -Werror=unused-but-set-variable -Werror=reorder -Werror=unused-variable -Werror=conversion-null -Werror=return-local-addr -Wnon-virtual-dtor -Werror=switch -fdiagnostics-show-option -Wno-unused-local-typedefs -Wno-attributes -Wno-psabi -DEIGEN_DONT_PARALLELIZE -DEIGEN_MAX_ALIGN_BYTES=64 -Wno-error=unused-variable -DBOOST_DISABLE_ASSERTS  -std=c++20 -march=x86-64-v2 -fPIC ' tmp/el8_amd64_gcc13/src/HeterogeneousTest/CUDADevice/plugins/HeterogeneousTestCUDADevicePlugins/CUDATestDeviceAdditionAlgo.cu.o -o tmp/el8_amd64_gcc13/src/HeterogeneousTest/CUDADevice/plugins/HeterogeneousTestCUDADevicePlugins/HeterogeneousTestCUDADevicePlugins_cudadlink.o
nvlink error   : Undefined reference to '_ZN3cms8cudatest13add_vectors_fEPKfS2_Pfm' in 'tmp/el8_amd64_gcc13/src/HeterogeneousTest/CUDADevice/plugins/HeterogeneousTestCUDADevicePlugins/CUDATestDeviceAdditionAlgo.cu.o' (target: sm_70)
gmake: *** [tmp/el8_amd64_gcc13/src/HeterogeneousTest/CUDADevice/plugins/HeterogeneousTestCUDADevicePlugins/HeterogeneousTestCUDADevicePlugins_cudadlink.o] Error 255
>> Building edm plugin tmp/el8_amd64_gcc13/src/HeterogeneousTest/CUDADevice/plugins/HeterogeneousTestCUDADevicePlugins/libHeterogeneousTestCUDADevicePlugins.so
/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/gcc/13.4.0-6908cfdf803923e783448096ca4f0923/bin/c++ -O3 -pthread -pipe -Werror=main -Werror=pointer-arith -Werror=overlength-strings -Wno-vla -Werror=overflow -std=c++20 -ftree-vectorize -Werror=array-bounds -Werror=format-contains-nul -Werror=type-limits -fvisibility-inlines-hidden -fno-math-errno --param vect-max-version-for-alias-checks=50 -Xassembler --compress-debug-sections -Wno-error=array-bounds -Warray-bounds -fuse-ld=bfd -march=x86-64-v3 -felide-constructors -fmessage-length=0 -Wall -Wno-non-template-friend -Wno-long-long -Wreturn-type -Wextra -Wpessimizing-move -Wclass-memaccess -Wno-cast-function-type -Wno-unused-but-set-parameter -Wno-ignored-qualifiers -Wno-unused-parameter -Wunused -Wparentheses -Werror=return-type -Werror=unused-value -Werror=unused-result -Werror=unused-label -Werror=address -Werror=format -Werror=sign-compare -Werror=write-strings -Werror=delete-non-virtual-dtor -Werror=strict-aliasing -Werror=narrowing -Werror=unused-but-set-variable -Werror=reorder -Werror=unused-variable -Werror=conversion-null -Werror=return-local-addr -Wnon-virtual-dtor -Werror=switch -fdiagnostics-show-option -Wno-unused-local-typedefs -Wno-attributes -Wno-psabi -DEIGEN_DONT_PARALLELIZE -DEIGEN_MAX_ALIGN_BYTES=64 -Wno-error=unused-variable -DBOOST_DISABLE_ASSERTS -flto=auto -fipa-icf -flto-odr-type-merging -fno-fat-lto-objects -Wodr -shared -Wl,-E    -Wl,-z,defs     tmp/el8_amd64_gcc13/src/HeterogeneousTest/CUDADevice/plugins/HeterogeneousTestCUDADevicePlugins/CUDATestDeviceAdditionAlgo.cu.o tmp/el8_amd64_gcc13/src/HeterogeneousTest/CUDADevice/plugins/HeterogeneousTestCUDADevicePlugins/CUDATestDeviceAdditionModule.cc.o tmp/el8_amd64_gcc13/src/HeterogeneousTest/CUDADevice/plugins/HeterogeneousTestCUDADevicePlugins/HeterogeneousTestCUDADevicePlugins_cudadlink.o -o tmp/el8_amd64_gcc13/src/HeterogeneousTest/CUDADevice/plugins/HeterogeneousTestCUDADevicePlugins/libHeterogeneousTestCUDADevicePlugins.so -Wl,-E -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,noexecstack -L/data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_17_0_X_2026-06-04-2300/biglib/el8_amd64_gcc13 -L/data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_17_0_X_2026-06-04-2300/lib/el8_amd64_gcc13 -L/data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_17_0_X_2026-06-04-2300/external/el8_amd64_gcc13/lib -L/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/cuda/12.9.1-2f902b8cd69fc02665180a65ec16b3a4/lib64/stubs -L/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/cuda/12.9.1-2f902b8cd69fc02665180a65ec16b3a4/lib64 -L/data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_17_0_X_2026-06-04-2300/static/el8_amd64_gcc13 -lFWCoreFramework -lHeterogeneousCoreCUDAServices -lFWCoreCommon -lFWCoreServiceRegistry -lDataFormatsCommon -lFWCoreParameterSet -lHeterogeneousCoreCUDAUtilities -lFWCoreAbstractServices -lFWCoreMessageLogger -lDataFormatsProvenance -lFWCoreConcurrency -lFWCorePluginManager -lFWCoreReflection -lFWCoreUtilities -lFWCoreVersion -Wl,--push-state -Wl,--no-as-needed -lHeterogeneousTestCUDADevice -Wl,--pop-state -lTree -lNet -lThread -lMathCore -lRIO -lboost_program_options -lCore -lboost_thread -lboost_date_time -lcudart -lcudadevrt -lnvidia-ml -lpcre -lbz2 -lcuda -luuid -ltbb -llzma -lz -lcms-md5 -lcrypt -ldl -lrt -ltinyxml2
/data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el8_amd64_gcc13/external/gcc/13.4.0-6908cfdf803923e783448096ca4f0923/bin/../lib/gcc/x86_64-redhat-linux-gnu/13.4.0/../../../../x86_64-redhat-linux-gnu/bin/ld.bfd: cannot find tmp/el8_amd64_gcc13/src/HeterogeneousTest/CUDADevice/plugins/HeterogeneousTestCUDADevicePlugins/HeterogeneousTestCUDADevicePlugins_cudadlink.o: No such file or directory
collect2: error: ld returned 1 exit status
gmake: *** [tmp/el8_amd64_gcc13/src/HeterogeneousTest/CUDADevice/plugins/HeterogeneousTestCUDADevicePlugins/libHeterogeneousTestCUDADevicePlugins.so] Error 1


@slava77

slava77 commented Jun 5, 2026

Copy link
Copy Markdown
Author

I found compilation error when building:

HeterogeneousTest/CUDADevice has no alpaka subdir. This explains why I missed this one.

Just to be sure: are the non-alpaka CUDA packages expected to stay?

@smuzaffar

smuzaffar commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@slava77 , I opened #119 which proposes to link the dlink library for non-alpaka cuda products only

@slava77

slava77 commented Jul 14, 2026

Copy link
Copy Markdown
Author

@slava77 , I opened #119 which proposes to link the dlink library for non-alpaka cuda products only

Thank you!

I wanted to get back to this, but other priorities took over.

@smuzaffar

Copy link
Copy Markdown
Contributor

closing in favor of #119

@smuzaffar smuzaffar closed this Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants