Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

增加的这个函数可以完成签名为*args) 的函数对不同调用方式的解析:
- `,2,3)` 返回 `(1,2,3)`
- `,2,3))` 返回 `(1,2,3)`
- `` 返回 `()`
- `,2, args=(1,2))` 报错
- `,2), unexpected_args=(1,2))` 报错

这个 PR 是为了删除 Python 层的 _handle_size_arg 这个函数做前置准备的。


Co-authored-by: oneflow-ci-bot <>

Git stats


Failed to load latest commit information.
Latest commit message
Commit time


OneFlow is a deep learning framework designed to be user-friendly, scalable and efficient. With OneFlow, it is easy to:

  • program a model with PyTorch-like API
  • scale a model to n-dimensional-parallel/distributed execution with the Global View API
  • accelerate/deploy a model with the Static Graph Compiler.

Simple CI Nightly Docker Image Nightly Release Documentation

Latest News


  • OneFlow: Redesign the Distributed Deep Learning Framework from Scratch

  • Bibtex Citation

          title={OneFlow: Redesign the Distributed Deep Learning Framework from Scratch},
          author={Jinhui Yuan and Xinqi Li and Cheng Cheng and Juncheng Liu and Ran Guo and Shenghang Cai and Chi Yao and Fei Yang and Xiaodong Yi and Chuan Wu and Haoran Zhang and Jie Zhao},

Install OneFlow

System Requirements

  • Linux. As for now, there is no pre-built release for macOS, Windows.

  • Python 3.7, 3.8, 3.9, 3.10

  • (Highly recommended) Upgrade pip

    python3 -m pip install --upgrade pip #--user
  • CUDA Toolkit Linux x86_64 Driver

    • CUDA runtime is statically linked into OneFlow. OneFlow will work on a minimum supported driver, and any driver beyond. For more information, please refer to CUDA compatibility documentation.

    • Please upgrade your Nvidia driver to version 440.33 or above and install OneFlow for CUDA 10.2 if possible.

Install with Pip Package

  • To install latest stable release of OneFlow with CUDA support:

    python3 -m pip install oneflow
  • To install nightly release of OneFlow with CUDA support:

    python3 -m pip install --pre oneflow -f
  • To install other available builds for different variants:

    • Stable
      python3 -m pip install --find-links oneflow==0.9.0+cu117
    • Nightly
      python3 -m pip install --pre oneflow -f[PLATFORM]
    • All available [PLATFORM]:
      Platform CUDA Driver Version Supported GPUs
      cu117 >= 450.80.02 GTX 10xx, RTX 20xx, A100, RTX 30xx
      cu102 >= 440.33 GTX 10xx, RTX 20xx
      cpu N/A N/A
  • If you are in China, you could run this to have pip download packages from domestic mirror of pypi:

    python3 -m pip config set global.index-url

    For more information on this, please refer to pypi 镜像使用帮助

Use docker image

docker pull oneflowinc/oneflow:nightly-cuda11.7

Build from Source

Clone Source Code
  • Option 1: Clone source code from GitHub

    git clone --depth=1
  • Option 2: Download from Aliyun

    If you are in China, please download OneFlow source code from:

    curl -o
Build OneFlow
  • Option 1: Build with Conda (recommended)

    Please refer to this repo

  • Option 2: Build in docker container (recommended)

    • Pull the docker image:

      docker pull oneflowinc/manylinux2014_x86_64_cuda11.2
    • Follow the instructions in the bare metal build guide below.

  • Option 3: Build on bare metal

    • Install dependencies (not required if you are using docker):

      • on Ubuntu 20.04, run:
        sudo apt install -y libopenblas-dev nasm g++ gcc python3-pip cmake autoconf libtool
      • on macOS, run:
        brew install nasm
    • In the root directory of OneFlow source code, run:

      mkdir build
      cd build
    • Config the project, inside build directory:

      • If you are in China

        run this to config for CUDA:

        cmake .. -C ../cmake/caches/cn/cuda.cmake

        run this to config for CPU-only:

        cmake .. -C ../cmake/caches/cn/cpu.cmake
      • If you are not in China

        run this to config for CUDA:

        cmake .. -C ../cmake/caches/international/cuda.cmake

        run this to config for CPU-only:

        cmake .. -C ../cmake/caches/international/cpu.cmake
    • Build the project, inside build directory, run:

      make -j$(nproc)
    • Add oneflow to your PYTHONPATH, inside build directory, run:


      Please note that this change is not permanent.

    • Simple validation

      python3 -m oneflow --doctor


Please refer to troubleshooting for common issues you might encounter when compiling and running OneFlow.

Advanced features

  • OneFlow-XRT: An extension for OneFlow to target third-party compiler, such as XLA, TensorRT and OpenVINO etc.

Getting Started


Model Zoo and Benchmark


The Team

OneFlow was originally developed by OneFlow Inc and Zhejiang Lab.


Apache License 2.0