Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • ParaView ParaView
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,961
    • Issues 1,961
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 97
    • Merge requests 97
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ParaViewParaView
  • ParaViewParaView
  • Issues
  • #19941
Closed
Open
Issue created May 20, 2020 by Utkarsh Ayachit@utkarsh.ayachit⛰Contributor0 of 5 checklist items completed0/5 checklist items

Proposal: Refactor vtkMultiProcessController

Multiprocess controller is great for abstracting MPI/Socket communication in VTK filters. The implementation, however, is dated and should be modernized to make it easier to debug and extend.

  • move to a Common/ module. Filters should start using parallel communicators without hindrance.
  • make dependency of IO/Legacy optional. Exchanging of data-object should raise compile-time errors unless IO/Legacy was dependend on. Thus, delay dependency on IO modules until the code that starts exchanging data objects.
  • separate RPC/RMI and communication APIs. It's unclear why they need to be in the same class.
  • make it possible to serialize custom types with ease.
  • use templates to preserve element type all the way to MPI_... call. Currently, we cast to void* and call some generic method that does the MPI call.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking