Skip to content
This repository was archived by the owner on Mar 20, 2023. It is now read-only.

Conversation

@pramodk
Copy link
Collaborator

@pramodk pramodk commented Dec 6, 2021

Description

  • Wrapping data transfer API routines for OpenACC as well as OpenMP APIs.
  • Cleanup
  • Replace other OpenACC APIs used
  • Rewrite all acc_update_device by pragmas
  • Add omp update device for each update device
  • Rewrite all acc_update_self by pragmas
  • Add omp update host for each update self
  • Fix last acc_update_self and acc_update_device

** Use certain branches for the GitLab/SimulationStack CI**

CI_BRANCHES:NMODL_BRANCH=hackathon_main,NEURON_BRANCH=master,

@pramodk pramodk marked this pull request as draft December 6, 2021 21:00
@bbpbuildbot
Copy link
Collaborator

@bbpbuildbot
Copy link
Collaborator

Base automatically changed from olupton/basic-openmp to hackathon_main December 7, 2021 12:13
@bbpbuildbot
Copy link
Collaborator

@alkino alkino force-pushed the pramodk/basic-openmp branch from a6dcbf3 to 97466ea Compare December 7, 2021 15:06
@bbpbuildbot
Copy link
Collaborator

@bbpbuildbot
Copy link
Collaborator

@bbpbuildbot
Copy link
Collaborator

@bbpbuildbot
Copy link
Collaborator

@bbpbuildbot
Copy link
Collaborator

@bbpbuildbot
Copy link
Collaborator

@bbpbuildbot
Copy link
Collaborator

 * IvocVect members t_ and y_ were copied twice
 * only discon_indices_ is pointer and hence that
   needs to be copied
@bbpbuildbot
Copy link
Collaborator

@pramodk pramodk marked this pull request as ready for review December 9, 2021 12:31
@pramodk pramodk merged commit 02abf78 into hackathon_main Dec 9, 2021
@pramodk pramodk deleted the pramodk/basic-openmp branch December 9, 2021 13:13
olupton added a commit that referenced this pull request Dec 23, 2021
Summary of changes:
 - Support OpenMP target offload when NMODL and GPU support are enabled.
   (#693, #704, #705, #707, #708, #716, #719)
 - Use sensible defaults for the --nwarp parameter, improving the performance
   of the Hines solver with --cell-permute=2 on GPU. (#700, #710, #718)
 - Use a Boost memory pool, if Boost is available, to reduce the number of
   independent CUDA unified memory allocations used for Random123 stream
   objects. This speeds up initialisation of models using Random123, and also
   makes it feasible to use NSight Compute on models using Random123 and for
   NSight Systems to profile initialisation. (#702, #703)
 - Use -cuda when compiling with NVHPC and OpenACC or OpenMP, as recommended
   on the NVIDIA forums. (#721)
 - Do not compile for compute capability 6.0 by default, as this is not
   supported by NVHPC with OpenMP target offload.
 - Add new GitLab CI tests so we test CoreNEURON + NMODL with both OpenACC and
   OpenMP. (#698, #717)
 - Add CUDA runtime header search path explicitly, so we don't rely on it being
   implicit in our NVHPC localrc.
 - Cleanup unused code. (#711)

Co-authored-by: Pramod Kumbhar <[email protected]>
Co-authored-by: Ioannis Magkanaris <[email protected]>
Co-authored-by: Christos Kotsalos <[email protected]>
Co-authored-by: Nicolas Cornu <[email protected]>
pramodk pushed a commit to neuronsimulator/nrn that referenced this pull request Nov 2, 2022
Summary of changes:
 - Support OpenMP target offload when NMODL and GPU support are enabled.
   (BlueBrain/CoreNeuron#693, BlueBrain/CoreNeuron#704, BlueBrain/CoreNeuron#705, BlueBrain/CoreNeuron#707, BlueBrain/CoreNeuron#708, BlueBrain/CoreNeuron#716, BlueBrain/CoreNeuron#719)
 - Use sensible defaults for the --nwarp parameter, improving the performance
   of the Hines solver with --cell-permute=2 on GPU. (BlueBrain/CoreNeuron#700, BlueBrain/CoreNeuron#710, BlueBrain/CoreNeuron#718)
 - Use a Boost memory pool, if Boost is available, to reduce the number of
   independent CUDA unified memory allocations used for Random123 stream
   objects. This speeds up initialisation of models using Random123, and also
   makes it feasible to use NSight Compute on models using Random123 and for
   NSight Systems to profile initialisation. (BlueBrain/CoreNeuron#702, BlueBrain/CoreNeuron#703)
 - Use -cuda when compiling with NVHPC and OpenACC or OpenMP, as recommended
   on the NVIDIA forums. (BlueBrain/CoreNeuron#721)
 - Do not compile for compute capability 6.0 by default, as this is not
   supported by NVHPC with OpenMP target offload.
 - Add new GitLab CI tests so we test CoreNEURON + NMODL with both OpenACC and
   OpenMP. (BlueBrain/CoreNeuron#698, BlueBrain/CoreNeuron#717)
 - Add CUDA runtime header search path explicitly, so we don't rely on it being
   implicit in our NVHPC localrc.
 - Cleanup unused code. (BlueBrain/CoreNeuron#711)

Co-authored-by: Pramod Kumbhar <[email protected]>
Co-authored-by: Ioannis Magkanaris <[email protected]>
Co-authored-by: Christos Kotsalos <[email protected]>
Co-authored-by: Nicolas Cornu <[email protected]>

CoreNEURON Repo SHA: BlueBrain/CoreNeuron@423ae6c
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants