Skip to content

Conversation

@fpzh2011
Copy link
Contributor

oneflow autocast 不支持 global tensor。下面代码直接报错

import oneflow as flow

placement = flow.placement("cuda", ranks=[0])
sbp = flow.sbp.broadcast
a = flow.randn(2, 3).to_global(placement=placement, sbp=sbp)
b = flow.randn(3, 4).to_global(placement=placement, sbp=sbp)
with flow.autocast(device_type="cuda"):
    c = flow.matmul(a, b)

@github-actions
Copy link
Contributor

@github-actions
Copy link
Contributor

Speed stats:
GPU Name: NVIDIA GeForce RTX 3080 Ti 

❌ OneFlow resnet50 time: 43.2ms (= 4322.0ms / 100, input_shape=[16, 3, 224, 224])
PyTorch resnet50 time: 57.3ms (= 5733.8ms / 100, input_shape=[16, 3, 224, 224])
✔️ Relative speed: 1.33 (= 57.3ms / 43.2ms)

OneFlow resnet50 time: 26.5ms (= 2646.1ms / 100, input_shape=[8, 3, 224, 224])
PyTorch resnet50 time: 37.1ms (= 3710.4ms / 100, input_shape=[8, 3, 224, 224])
✔️ Relative speed: 1.40 (= 37.1ms / 26.5ms)

OneFlow resnet50 time: 17.8ms (= 3552.6ms / 200, input_shape=[4, 3, 224, 224])
PyTorch resnet50 time: 35.3ms (= 7052.8ms / 200, input_shape=[4, 3, 224, 224])
✔️ Relative speed: 1.99 (= 35.3ms / 17.8ms)

OneFlow resnet50 time: 15.5ms (= 3096.9ms / 200, input_shape=[2, 3, 224, 224])
PyTorch resnet50 time: 31.4ms (= 6279.5ms / 200, input_shape=[2, 3, 224, 224])
✔️ Relative speed: 2.03 (= 31.4ms / 15.5ms)

OneFlow resnet50 time: 15.0ms (= 3004.1ms / 200, input_shape=[1, 3, 224, 224])
PyTorch resnet50 time: 28.7ms (= 5731.9ms / 200, input_shape=[1, 3, 224, 224])
✔️ Relative speed: 1.91 (= 28.7ms / 15.0ms)

OneFlow swin dataloader time: 0.199s (= 39.777s / 200, num_workers=1)
PyTorch swin dataloader time: 0.128s (= 25.690s / 200, num_workers=1)
Relative speed: 0.646 (= 0.128s / 0.199s)

OneFlow swin dataloader time: 0.057s (= 11.333s / 200, num_workers=4)
PyTorch swin dataloader time: 0.033s (= 6.639s / 200, num_workers=4)
Relative speed: 0.586 (= 0.033s / 0.057s)

OneFlow swin dataloader time: 0.038s (= 7.618s / 200, num_workers=8)
PyTorch swin dataloader time: 0.022s (= 4.346s / 200, num_workers=8)
Relative speed: 0.571 (= 0.022s / 0.038s)

❌ OneFlow resnet50 time: 49.3ms (= 4926.9ms / 100, input_shape=[16, 3, 224, 224], ddp, world size=2)
PyTorch resnet50 time: 65.5ms (= 6554.8ms / 100, input_shape=[16, 3, 224, 224], ddp, world size=2)
✔️ Relative speed: 1.33 (= 65.5ms / 49.3ms)

OneFlow resnet50 time: 36.8ms (= 3684.1ms / 100, input_shape=[8, 3, 224, 224], ddp, world size=2)
PyTorch resnet50 time: 46.5ms (= 4647.9ms / 100, input_shape=[8, 3, 224, 224], ddp, world size=2)
✔️ Relative speed: 1.26 (= 46.5ms / 36.8ms)

OneFlow resnet50 time: 28.4ms (= 5670.9ms / 200, input_shape=[4, 3, 224, 224], ddp, world size=2)
PyTorch resnet50 time: 39.9ms (= 7987.3ms / 200, input_shape=[4, 3, 224, 224], ddp, world size=2)
✔️ Relative speed: 1.41 (= 39.9ms / 28.4ms)

OneFlow resnet50 time: 25.7ms (= 5141.0ms / 200, input_shape=[2, 3, 224, 224], ddp, world size=2)
PyTorch resnet50 time: 39.6ms (= 7916.6ms / 200, input_shape=[2, 3, 224, 224], ddp, world size=2)
✔️ Relative speed: 1.54 (= 39.6ms / 25.7ms)

OneFlow resnet50 time: 24.7ms (= 4945.4ms / 200, input_shape=[1, 3, 224, 224], ddp, world size=2)
PyTorch resnet50 time: 37.4ms (= 7477.2ms / 200, input_shape=[1, 3, 224, 224], ddp, world size=2)
✔️ Relative speed: 1.51 (= 37.4ms / 24.7ms)

@github-actions
Copy link
Contributor

@github-actions
Copy link
Contributor

Speed stats:
GPU Name: NVIDIA GeForce RTX 3080 Ti 

❌ OneFlow resnet50 time: 43.2ms (= 4321.6ms / 100, input_shape=[16, 3, 224, 224])
PyTorch resnet50 time: 57.5ms (= 5752.2ms / 100, input_shape=[16, 3, 224, 224])
✔️ Relative speed: 1.33 (= 57.5ms / 43.2ms)

OneFlow resnet50 time: 26.1ms (= 2614.6ms / 100, input_shape=[8, 3, 224, 224])
PyTorch resnet50 time: 38.1ms (= 3806.9ms / 100, input_shape=[8, 3, 224, 224])
✔️ Relative speed: 1.46 (= 38.1ms / 26.1ms)

OneFlow resnet50 time: 18.3ms (= 3653.3ms / 200, input_shape=[4, 3, 224, 224])
PyTorch resnet50 time: 36.4ms (= 7270.4ms / 200, input_shape=[4, 3, 224, 224])
✔️ Relative speed: 1.99 (= 36.4ms / 18.3ms)

OneFlow resnet50 time: 17.3ms (= 3463.7ms / 200, input_shape=[2, 3, 224, 224])
PyTorch resnet50 time: 31.6ms (= 6320.1ms / 200, input_shape=[2, 3, 224, 224])
✔️ Relative speed: 1.82 (= 31.6ms / 17.3ms)

OneFlow resnet50 time: 17.4ms (= 3488.9ms / 200, input_shape=[1, 3, 224, 224])
PyTorch resnet50 time: 29.2ms (= 5837.5ms / 200, input_shape=[1, 3, 224, 224])
✔️ Relative speed: 1.67 (= 29.2ms / 17.4ms)

OneFlow swin dataloader time: 0.200s (= 39.950s / 200, num_workers=1)
PyTorch swin dataloader time: 0.129s (= 25.731s / 200, num_workers=1)
Relative speed: 0.644 (= 0.129s / 0.200s)

OneFlow swin dataloader time: 0.056s (= 11.262s / 200, num_workers=4)
PyTorch swin dataloader time: 0.033s (= 6.504s / 200, num_workers=4)
Relative speed: 0.578 (= 0.033s / 0.056s)

OneFlow swin dataloader time: 0.030s (= 6.088s / 200, num_workers=8)
PyTorch swin dataloader time: 0.016s (= 3.294s / 200, num_workers=8)
Relative speed: 0.541 (= 0.016s / 0.030s)

❌ OneFlow resnet50 time: 49.4ms (= 4941.5ms / 100, input_shape=[16, 3, 224, 224], ddp, world size=2)
PyTorch resnet50 time: 66.3ms (= 6634.7ms / 100, input_shape=[16, 3, 224, 224], ddp, world size=2)
✔️ Relative speed: 1.34 (= 66.3ms / 49.4ms)

OneFlow resnet50 time: 36.4ms (= 3640.0ms / 100, input_shape=[8, 3, 224, 224], ddp, world size=2)
PyTorch resnet50 time: 46.8ms (= 4683.3ms / 100, input_shape=[8, 3, 224, 224], ddp, world size=2)
✔️ Relative speed: 1.29 (= 46.8ms / 36.4ms)

OneFlow resnet50 time: 27.8ms (= 5563.4ms / 200, input_shape=[4, 3, 224, 224], ddp, world size=2)
PyTorch resnet50 time: 38.6ms (= 7726.3ms / 200, input_shape=[4, 3, 224, 224], ddp, world size=2)
✔️ Relative speed: 1.39 (= 38.6ms / 27.8ms)

OneFlow resnet50 time: 25.0ms (= 4994.0ms / 200, input_shape=[2, 3, 224, 224], ddp, world size=2)
PyTorch resnet50 time: 38.8ms (= 7756.7ms / 200, input_shape=[2, 3, 224, 224], ddp, world size=2)
✔️ Relative speed: 1.55 (= 38.8ms / 25.0ms)

OneFlow resnet50 time: 25.3ms (= 5054.9ms / 200, input_shape=[1, 3, 224, 224], ddp, world size=2)
PyTorch resnet50 time: 35.8ms (= 7163.3ms / 200, input_shape=[1, 3, 224, 224], ddp, world size=2)
✔️ Relative speed: 1.42 (= 35.8ms / 25.3ms)

@github-actions
Copy link
Contributor

github-actions bot commented Mar 7, 2025

@github-actions
Copy link
Contributor

github-actions bot commented Mar 7, 2025

Speed stats:
GPU Name: NVIDIA GeForce RTX 3080 Ti 

❌ OneFlow resnet50 time: 43.2ms (= 4322.1ms / 100, input_shape=[16, 3, 224, 224])
PyTorch resnet50 time: 57.4ms (= 5740.0ms / 100, input_shape=[16, 3, 224, 224])
✔️ Relative speed: 1.33 (= 57.4ms / 43.2ms)

OneFlow resnet50 time: 26.7ms (= 2671.4ms / 100, input_shape=[8, 3, 224, 224])
PyTorch resnet50 time: 37.3ms (= 3732.3ms / 100, input_shape=[8, 3, 224, 224])
✔️ Relative speed: 1.40 (= 37.3ms / 26.7ms)

OneFlow resnet50 time: 18.6ms (= 3723.7ms / 200, input_shape=[4, 3, 224, 224])
PyTorch resnet50 time: 35.6ms (= 7126.1ms / 200, input_shape=[4, 3, 224, 224])
✔️ Relative speed: 1.91 (= 35.6ms / 18.6ms)

OneFlow resnet50 time: 17.4ms (= 3472.4ms / 200, input_shape=[2, 3, 224, 224])
PyTorch resnet50 time: 30.8ms (= 6162.1ms / 200, input_shape=[2, 3, 224, 224])
✔️ Relative speed: 1.77 (= 30.8ms / 17.4ms)

OneFlow resnet50 time: 16.6ms (= 3314.1ms / 200, input_shape=[1, 3, 224, 224])
PyTorch resnet50 time: 29.2ms (= 5836.9ms / 200, input_shape=[1, 3, 224, 224])
✔️ Relative speed: 1.76 (= 29.2ms / 16.6ms)

OneFlow swin dataloader time: 0.201s (= 40.267s / 200, num_workers=1)
PyTorch swin dataloader time: 0.129s (= 25.742s / 200, num_workers=1)
Relative speed: 0.639 (= 0.129s / 0.201s)

OneFlow swin dataloader time: 0.058s (= 11.592s / 200, num_workers=4)
PyTorch swin dataloader time: 0.032s (= 6.462s / 200, num_workers=4)
Relative speed: 0.557 (= 0.032s / 0.058s)

OneFlow swin dataloader time: 0.031s (= 6.103s / 200, num_workers=8)
PyTorch swin dataloader time: 0.017s (= 3.314s / 200, num_workers=8)
Relative speed: 0.543 (= 0.017s / 0.031s)

❌ OneFlow resnet50 time: 49.3ms (= 4927.0ms / 100, input_shape=[16, 3, 224, 224], ddp, world size=2)
PyTorch resnet50 time: 66.2ms (= 6620.2ms / 100, input_shape=[16, 3, 224, 224], ddp, world size=2)
✔️ Relative speed: 1.34 (= 66.2ms / 49.3ms)

OneFlow resnet50 time: 36.5ms (= 3647.2ms / 100, input_shape=[8, 3, 224, 224], ddp, world size=2)
PyTorch resnet50 time: 46.4ms (= 4644.2ms / 100, input_shape=[8, 3, 224, 224], ddp, world size=2)
✔️ Relative speed: 1.27 (= 46.4ms / 36.5ms)

OneFlow resnet50 time: 27.6ms (= 5526.9ms / 200, input_shape=[4, 3, 224, 224], ddp, world size=2)
PyTorch resnet50 time: 39.6ms (= 7915.3ms / 200, input_shape=[4, 3, 224, 224], ddp, world size=2)
✔️ Relative speed: 1.43 (= 39.6ms / 27.6ms)

OneFlow resnet50 time: 25.2ms (= 5040.0ms / 200, input_shape=[2, 3, 224, 224], ddp, world size=2)
PyTorch resnet50 time: 38.8ms (= 7765.9ms / 200, input_shape=[2, 3, 224, 224], ddp, world size=2)
✔️ Relative speed: 1.54 (= 38.8ms / 25.2ms)

OneFlow resnet50 time: 25.0ms (= 5000.5ms / 200, input_shape=[1, 3, 224, 224], ddp, world size=2)
PyTorch resnet50 time: 36.2ms (= 7240.2ms / 200, input_shape=[1, 3, 224, 224], ddp, world size=2)
✔️ Relative speed: 1.45 (= 36.2ms / 25.0ms)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants