This repository has been archived by the owner on Mar 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 41
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
1 task
olupton
force-pushed
the
olupton/wheel-tweaks
branch
from
February 28, 2022 11:20
c56614e
to
e86ed6c
Compare
Codecov Report
@@ Coverage Diff @@
## master #785 +/- ##
=======================================
Coverage 56.00% 56.00%
=======================================
Files 108 108
Lines 9003 9003
=======================================
Hits 5042 5042
Misses 3961 3961 Continue to review full report at Codecov.
|
pramodk
reviewed
Mar 2, 2022
olupton
force-pushed
the
olupton/wheel-tweaks
branch
from
March 2, 2022 09:36
5079855
to
28710a0
Compare
olupton
force-pushed
the
olupton/wheel-tweaks
branch
from
March 3, 2022 15:44
e2cd7fe
to
960360e
Compare
pramodk
approved these changes
Mar 7, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
alexsavulescu
approved these changes
Mar 7, 2022
olupton
added a commit
to neuronsimulator/nrn
that referenced
this pull request
Mar 7, 2022
- Test script: use intel-oneapi-mpi when testing wheels on BB5. - Add `NRN_WHEEL_BUILD` variable for use inside the CMake configuration when tuning build options for Python wheels. - Bump submodule past BlueBrain/CoreNeuron#785. - Don't print single-MPI variables when dynamic MPI is enabled. - When running `nrnivmodl` on user machines in GPU wheel installations, modify libnrniv.so before linking to it: - Remove link dependencies on bundled NVIDIA runtime libraries, so these are not duplicated when the same runtimes from the user's system are implicitly linked by `nvc++`. - Require `patchelf` on the user's system to achieve this. - Don't add single-MPI include directories in dynamic MPI builds. - Make the CMake logic to translate target dependencies into compiler flags more verbose. - Build GPU wheels with `-tp=haswell` instead of the default (`-tp=host`), but remove this from the Makefiles used by `nrnivmodl` on user machines.
alexsavulescu
added a commit
to neuronsimulator/nrn
that referenced
this pull request
Mar 8, 2022
- Test script: use intel-oneapi-mpi when testing wheels on BB5. - Add `NRN_WHEEL_BUILD` variable for use inside the CMake configuration when tuning build options for Python wheels. - Bump submodule past BlueBrain/CoreNeuron#785. - Don't print single-MPI variables when dynamic MPI is enabled. - When running `nrnivmodl` on user machines in GPU wheel installations, modify libnrniv.so before linking to it: - Remove link dependencies on bundled NVIDIA runtime libraries, so these are not duplicated when the same runtimes from the user's system are implicitly linked by `nvc++`. - Require `patchelf` on the user's system to achieve this. - Don't add single-MPI include directories in dynamic MPI builds. - Make the CMake logic to translate target dependencies into compiler flags more verbose. - Build GPU wheels with `-tp=haswell` instead of the default (`-tp=host`), but remove this from the Makefiles used by `nrnivmodl` on user machines. Co-authored-by: Pramod Kumbhar <[email protected]> Co-authored-by: Alexandru Săvulescu <[email protected]>
pramodk
pushed a commit
to neuronsimulator/nrn
that referenced
this pull request
Nov 2, 2022
- Use new `NRN_WHEEL_BUILD` option to avoid adding a build flag that is not widely supported. This option is added in #1661. - Make `nrnivmodl -coreneuron` fail in GPU builds if a non-NVC++ compiler is used. - Make `nrnivmodl -coreneuron` fail in GPU builds if a different NVC++ version is used to the one used to build the wheel. - Move some pre-existing logic into a new `cnrn_parse_version` CMake function; use it to get `major.minor` version numbers from CUDA and NVHPC versions that have `.patch` parts too. - Modify `CORENEURON_LIB_LINK_FLAGS` to use `-L$(libdir)`, which catches an edge case when a patched `libnrniv.so` is being used so the relevant path was not already set. - Make the logic for translating CMake target dependencies into linker flags more verbose. - Don't print single-MPI paths in dynamic MPI mode. - Don't add `-I` for MPI headers in dynamic MPI builds. CoreNEURON Repo SHA: BlueBrain/CoreNeuron@f3d4615
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Description
This PR tweaks a few things to improve CoreNEURON support in NEURON's Python wheels.
NRN_WHEEL_BUILD
option to avoid adding a build flag that is not widely supported. This option is added in GPU wheel improvements neuronsimulator/nrn#1661.nrnivmodl -coreneuron
fail in GPU builds if a non-NVC++ compiler is used.nrnivmodl -coreneuron
fail in GPU builds if a different NVC++ version is used to the one used to build the wheel.cnrn_parse_version
CMake function; use it to getmajor.minor
version numbers from CUDA and NVHPC versions that have.patch
parts too.CORENEURON_LIB_LINK_FLAGS
to use-L$(libdir)
, which catches an edge case when a patchedlibnrniv.so
is being used so the relevant path was not already set.-I
for MPI headers in dynamic MPI builds.Progress towards #672.
Use certain branches for the SimulationStack CI
CI_BRANCHES:NEURON_BRANCH=olupton/wheel-testing