question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Share DeviceMesh between PiPPy and SPMD

See original GitHub issue

I see there is a DeviceMesh abstraction in spmd: https://github.com/pytorch/PiPPy/blob/main/spmd/tensor/device_mesh.py

Can we use this abstraction as shared infrastructure? For example, PipelineDriver.init_data_parallel[https://github.com/pytorch/PiPPy/blob/877eb8c675dd0e34731961c043f8ae2cc1e49a77/pippy/PipelineDriver.py#L461] rolls a lot of these concepts by hand; can we use DeviceMesh here?

cc @wanchaol @aazzolini @pbelevich @kwen2501

Issue Analytics

  • State:open
  • Created a year ago
  • Reactions:1
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

2reactions
jamesr66acommented, Jul 15, 2022

Would it be possible to separate the concept of pipeline driver from the concept of mesh such that we can have a pipeline driver that doesn’t depend on it?

No

It would be interstinig to see a diagram of how we would like to structure this – I believe we mentioned that Pippy can exist as a separate thing from SPMD , right? but there’s a layer where we need to bring this together. Is PipelineRunner this layer where we need to bring both in?

From the PiPPy readme

image

PP, TP, and DP compose together by handling concerns across different dimensions of the device grid. e.g. there is a pipeline dimension across which there are MPMD stages, and all of the other dimensions of the device grid are handled by the SPMD implementations within each stage

Correct me if I’m wrong. I assume we want PiPPy to use DeviceMesh for collective communications only within stages? because cross stage is using RPC?

No, cross-stage is a dimension of the device mesh similarly to SPMD ranks residing along dimensions of the device mesh

1reaction
aazzolinicommented, Jul 15, 2022

Would it be possible to separate the concept of pipeline driver from the concept of mesh such that we can have a pipeline driver that doesn’t depend on it?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Share DeviceMesh between PiPPy and SPMD - pytorch/tau
I see there is a DeviceMesh abstraction in spmd: https://github.com/pytorch/PiPPy/blob/main/spmd/tensor/device_mesh.py Can we use this ...
Read more >
Stadium App - Fan Engagement App - DeviceMesh - Light ...
In-app sponsor and advertising opportunities; Sell event product, merchandise via the app; Take donations from your audience; Share the moment via social ...
Read more >
DeviceMesh
DeviceMesh. 63 likes. DeviceMesh synchronises playback of video across devices to create a video wall made out of smartphones and tablet devices.
Read more >
CommonJS or AMD dependencies can cause optimization ...
Basically, import zonedTimeToUtc from 'date-fns-tz/zonedTimeToUtc' instead of import ... Share DeviceMesh between PiPPy and SPMD, 5, 2022-07-15, 2022-12-01.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found