Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • T Trilinos
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 936
    • Issues 936
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • 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
  • James Willenbring
  • Trilinos
  • Issues
  • #1664

Closed
Open
Created Aug 31, 2017 by James Willenbring@jmwilleMaintainer

Tpetra: Clarify operating procedures for using MPI + multiple GPUs on a node

Created by: mhoemmen

@trilinos/tpetra Blocked by: #1673 (closed) (else can't build on relevant testbeds)

Tpetra's documentation needs to clarify how to use MPI with multiple GPUs on a node. It looks like Kokkos knows how to deal with this, as long as MPI_Init is called before Kokkos::initialize, and as long as one uses the --kokkos-ndevices argument correctly. I copied the documentation below out of Kokkos' --help output:

--kokkos-ndevices=INT[,INT] : used when running MPI jobs. Specify number of
                              devices per node to be used. Process to device
                              mapping happens by obtaining the local MPI rank
                              and assigning devices round-robin. The optional
                              second argument allows for an existing device
                              to be ignored. This is most useful on workstations
                              with multiple GPUs of which one is used to drive
                              screen output.

Just to clarify, it looks like all the MPI processes can take the same --kokkos-ndevices argument. Kokkos will use the local MPI process to do device mapping. See also https://github.com/kokkos/kokkos/issues/50 and https://github.com/kokkos/kokkos/issues/544 .

Assignee
Assign to
Time tracking