Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • VTK-m VTK-m
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 205
    • Issues 205
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 35
    • Merge requests 35
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • VTKVTK
  • VTK-mVTK-m
  • Merge requests
  • !2487

Enable shared CUDA builds when not compiling virtuals

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Kenneth Moreland requested to merge kmorel/vtk-m:cuda-shared-no-virtual into master Apr 29, 2021
  • Overview 53
  • Commits 2
  • Pipelines 39
  • Changes 9

The reason why we did not support shared libraries when CUDA compiles were on is that virtual methods require a special linking step to pull together all virtual methods that might be called. I other words, you cannot call a virtual CUDA method defined inside a library. This requirement goes away when virtuals are removed.

Also removed the necessity of using seprable compilation with cuda. Again, this is only needed when a CUDA function is defined in one translation unit and used in another. Now we can enforce that all translation units define their own CUDA functions.

Edited Aug 24, 2021 by Vicente Bolea
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: cuda-shared-no-virtual