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 206
    • Issues 206
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 34
    • Merge requests 34
  • 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
  • !2578

Compile reverse connectivity builder into vtkm_cont library

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Kenneth Moreland requested to merge kmorel/vtk-m:reverseconnection-precompiled into master Sep 16, 2021
  • Overview 21
  • Commits 2
  • Pipelines 10
  • Changes 8

Because CellSetExplicit is a templated class, the implementation of most of its features is part of the header files. One of the things that was included was the code to build the reverse connectivity links. That is, it figured out which cells were incident on each point using the standard connections of which points comprise which cells.

Of course, building these links is non-trivial, and it used multiple DPPs to engage the device. It meant that header had to include the device adapter algorithms and therefore required a device compiler. We want to minimize this where possible.

To get around this issue, a non-templated function was added to find the reverse connections of a CellSetExplicit. It does this by passing in UnknownArrayHandles for the input arrays. (The output visit-points- with-cells arrays are standard across all template instances.) The implementation first iterates over all CellSetExplicit versions in VTKM_DEFAULT_CELL_SETS and attempts to retrieve arrays of those types. In the unlikely event that none of these arrays work, it copies the data to ArrayHandle<vtkm::Id> and uses those.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: reverseconnection-precompiled