Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
I IPPL
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 34
    • Issues 34
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Metrics
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
  • Analytics
    • Analytics
    • CI/CD
    • Code Review
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OPAL
  • Libraries
  • IPPL
  • Merge requests
  • !106

Merged
Created Sep 15, 2021 by vinciguerra_a@vinciguerra_aDeveloper

Fix Cuda host/device function warnings

  • Overview 0
  • Commits 2
  • Changes 2

By making a temporary variable for accessing the ID view, the Kokkos kernel no longer needs to directly access the particle attribute pdata. This means the kernel doesn't need a copy of pdata and removes the cryptic Cuda compilation warnings of the form

src/Solver/FFTPeriodicPoissonSolver.hpp(193): warning: calling a __host__ function("std::__shared_count<( ::__gnu_cxx::_Lock_policy)2> ::__shared_count") from a __host__ __device__ function("void ippl::ParticleSpatialLayout<double, (unsigned int)3u,  ::ippl::UniformCartesian<double, (unsigned int)3u> > ::update<    ::ChargedParticles<ippl::ParticleSpatialLayout<double, (unsigned int)3u,  ::ippl::UniformCartesian<double, (unsigned int)3u> > > > (T1 &, T1 &)::[lambda(unsigned long, unsigned long &) (instance 1)]::[lambda(unsigned long, unsigned long &) (instance 1)]") is not allowed

where the line reference is completely irrelevant. The relevant __host__ function for this example comes from the shared pointer to the FFT solver instance in ChargedParticles.

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: fix-cuda-warnings