-
Notifications
You must be signed in to change notification settings - Fork 33
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
improve cuda/c++ separation in cudacpp builds (reduce cpp dependency on nvtx/curand) #681
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…BUILDDIR)/.build.$(TAG) to avoid mixing different build modes also in builds of specific make targets Example, this now fails make -f cudacpp.mk ./check.exe RNDGEN=hasNoCurand make -f cudacpp.mk ./check.exe RNDGEN=hasCurand However this one still goes through make -f cudacpp.mk ../../lib/libmg5amc_common.so RNDGEN=hasNoCurand make -f cudacpp.mk ../../lib/libmg5amc_common.so RNDGEN=hasCurand
…$(BUILDDIR)/.build.$(TAG) to avoid mixing different build modes also in builds of specific make targets This one now fails as expected make -f cudacpp.mk ../../lib/libmg5amc_common.so RNDGEN=hasNoCurand make -f cudacpp.mk ../../lib/libmg5amc_common.so RNDGEN=hasCurand
…n $(BUILDDIR)/.build.$(TAG) to avoid mixing different build modes also in builds of specific make targets Now this fails as expected when building in src make -f cudacpp_src.mk AVX=none FPTYPE=d HELINL=0 HRDCOD=0 RNDGEN=hasNoCurand ../lib/libmg5amc_common.so make -f cudacpp_src.mk AVX=none FPTYPE=d HELINL=0 HRDCOD=0 RNDGEN=hasCurand ../lib/libmg5amc_common.so (NB this is really not needed, as usually the builds in src are done from P1 only...)
madgraph5#679 Still need to test that I can optionally reenable it...
…end on curand madgraph5#679 These both succeed make -f cudacpp.mk cleanall; make -f cudacpp.mk RNDGEN=hasCurand make -f cudacpp.mk cleanall; make -f cudacpp.mk RNDGEN=hasNoCurand
…o C++ builds When uncommenting the line, this now succeeds make -f cudacpp.mk RNDGEN=hasNoCurand
…nels.h dependency from curand.h madgraph5#679
…nly in RandomNumberKernels.o madgraph5#679 Essentially, the curand dependency is fully encapsulated in RandomNumberKernels.o
…sulate it in (g)check.exe madgraph5#679
…nd runtest, keep it only in check madgraph5#679 Essentially: curand is presently used only in check.exe and gcheck.exe... This means we should really disable it for madevent production builds?
…st and fcheck do not use the feature... Revert "[builds] in gg_tt.mad cudacpp.mk, remove CURANDLIBFLAGS from fcheck and runtest, keep it only in check madgraph5#679" This reverts commit 97701ed.
…umberKernel.cc and copy it to CurandRandomNumberKernel.cc Fix the symlinks accordingly in P1
…andRandomNumberKernel.cc (remove curand and common, resepectively)
…curand only to check.exe, remove it from fcheck and runtest, madgraph5#679
STARTED AT Sun Jun 4 11:51:42 CEST 2023 ./tput/teeThroughputX.sh -mix -hrd -makej -eemumu -ggtt -ggttg -ggttgg -gqttq -ggttggg -makeclean ENDED(1) AT Sun Jun 4 12:52:49 CEST 2023 [Status=0] ./tput/teeThroughputX.sh -flt -hrd -makej -eemumu -ggtt -ggttgg -inlonly -makeclean ENDED(2) AT Sun Jun 4 13:08:14 CEST 2023 [Status=0] ./tput/teeThroughputX.sh -makej -eemumu -ggtt -ggttg -gqttq -ggttgg -ggttggg -flt -bridge -makeclean ENDED(3) AT Sun Jun 4 13:17:18 CEST 2023 [Status=0] ./tput/teeThroughputX.sh -eemumu -ggtt -ggttgg -flt -rmbhst ENDED(4) AT Sun Jun 4 13:20:18 CEST 2023 [Status=0] ./tput/teeThroughputX.sh -eemumu -ggtt -ggttgg -flt -curhst ENDED(5) AT Sun Jun 4 13:23:16 CEST 2023 [Status=0]
STARTED AT Sun Jun 4 13:26:18 CEST 2023 ENDED AT Sun Jun 4 17:42:58 CEST 2023
This bit is complete and can essentially be merged. I encapsulated as much as possible the dependecies of the c++ builds on NVTX and on curand. Eventually it would be better to have two cleanly separated cuda and c++ builds (eg also with runTest split in two?) but this will be in #674 and similar issues |
ci tests ok, self merging |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a WIP MR to improve cuda/c++ separation in cudacpp builds. It addresses #679.
Part of the cleanup necessary to eventually build cleanly during launch, see #674