Skip to content

Document the parallel systems we need to address and define a supporting platform model that works for GraphBLAS #14

Open
@tgmattso

Description

@tgmattso

We need to document the parallel systems we must be able to support with the graphBLAS. This would include:

  • Multi-core, multi-CPU in a shared address space. Explicit management of NUMA features of a system is critical
  • Single GPU ... basic Host/Device model with disjoint host/device memories and Uniform Shared Memory (USM)
  • Multi GPU ... Host/Device model with disjoint memories and USM
  • Arbitrary accelerators instead of GPUs (aside: An accelerator is restricted to a fixed API, unlike a GPU which is programmable)
  • Shared nothing distributed systems with nodes composed of the above

We need a platform model that appropriately abstracts systems composed of the above. It must deal with the complexity of the various memory spaces and support arbitrary, dynamic partitions of the above.

Finally, we need a way to deal with nonblocking GraphBLAS operations as part of a larger execution context that supports asynchronous execution. I will add a separate issue for this topic.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions