diff --git a/README.md b/README.md index f4ae371..5f6f59f 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,7 @@ We recommend using Anaconda as Python package management system. The followings | `torch` | `oneccl_bindings_for_pytorch` | | :-------------------------------------------------------------: | :-----------------------------------------------------------------------: | | `master` | `master` | + | [v2.5.0](https://github.com/pytorch/pytorch/tree/v2.5.0) | [ccl_torch2.5.0](https://github.com/intel/torch-ccl/tree/ccl_torch2.5.0+xpu) | | [v2.3.1](https://github.com/pytorch/pytorch/tree/v2.3.1) | [ccl_torch2.3.100](https://github.com/intel/torch-ccl/tree/ccl_torch2.3.100+xpu) | | [v2.1.0](https://github.com/pytorch/pytorch/tree/v2.1.0) | [ccl_torch2.1.400](https://github.com/intel/torch-ccl/tree/ccl_torch2.1.400+xpu) | | [v2.1.0](https://github.com/pytorch/pytorch/tree/v2.1.0) | [ccl_torch2.1.300](https://github.com/intel/torch-ccl/tree/ccl_torch2.1.300+xpu) | @@ -59,7 +60,7 @@ The usage details can be found in the README of corresponding branch. - Python 3.8 or later and a C++17 compiler -- PyTorch v2.3.1 +- PyTorch v2.5.1 ## Build Option List @@ -93,6 +94,7 @@ The following launch options are supported in Intel® oneCCL Bindings for PyTorc ```bash git clone https://github.com/intel/torch-ccl.git && cd torch-ccl + git checkout ccl_torch2.5.0+xpu git submodule sync git submodule update --init --recursive ``` @@ -114,22 +116,23 @@ The following launch options are supported in Intel® oneCCL Bindings for PyTorc Wheel files are available for the following Python versions. Please always use the latest release to get started. -| Extension Version | Python 3.6 | Python 3.7 | Python 3.8 | Python 3.9 | Python 3.10 | Python 3.11 | -| :---------------: | :--------: | :--------: | :--------: | :--------: | :---------: | :---------: | -| 2.3.100 | | | √ | √ | √ | √ | -| 2.1.400 | | | √ | √ | √ | √ | -| 2.1.300 | | | √ | √ | √ | √ | -| 2.1.200 | | | √ | √ | √ | √ | -| 2.1.100 | | | √ | √ | √ | √ | -| 2.0.100 | | | √ | √ | √ | √ | -| 1.13 | | √ | √ | √ | √ | | -| 1.12.100 | | √ | √ | √ | √ | | -| 1.12.0 | | √ | √ | √ | √ | | -| 1.11.0 | | √ | √ | √ | √ | | -| 1.10.0 | √ | √ | √ | √ | | | +| Extension Version | Python 3.6 | Python 3.7 | Python 3.8 | Python 3.9 | Python 3.10 | Python 3.11 | Python 3.12 | +| :---------------: | :--------: | :--------: | :--------: | :--------: | :---------: | :---------: | :---------: | +| 2.5.1 | | | | √ | √ | √ | √ | +| 2.3.100 | | | √ | √ | √ | √ | | +| 2.1.400 | | | √ | √ | √ | √ | | +| 2.1.300 | | | √ | √ | √ | √ | | +| 2.1.200 | | | √ | √ | √ | √ | | +| 2.1.100 | | | √ | √ | √ | √ | | +| 2.0.100 | | | √ | √ | √ | √ | | +| 1.13 | | √ | √ | √ | √ | | | +| 1.12.100 | | √ | √ | √ | √ | | | +| 1.12.0 | | √ | √ | √ | √ | | | +| 1.11.0 | | √ | √ | √ | √ | | | +| 1.10.0 | √ | √ | √ | √ | | | | ```bash -python -m pip install oneccl_bind_pt==2.3.100 --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/ +python -m pip install oneccl_bind_pt==2.5.0 --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/ ``` **Note:** Please set proxy or update URL address to https://pytorch-extension.intel.com/release-whl/stable/xpu/cn/ if you meet connection issue. @@ -270,7 +273,7 @@ mpirun -n 2 -l python profiling.py ## Known Issues -For Point-to-point communication, directly call dist.send/recv after initializing the process group in launch script will trigger runtime error. Because all ranks of the group are expected to participate in this call to create communicators in our current implementation, while dist.send/recv only has a pair of ranks' participation. As a result, dist.send/recv should be used after collective call, which ensures all ranks' participation. The further solution for supporting directly call dist.send/recv after initializing the process group is still under investigation. +For Point-to-point communication, directly call dist.send/recv after initializing the process group in launch script will trigger runtime error. Because all ranks of the group are expected to participate in this call to create communicators in our current implementation, while dist.send/recv only has a pair of ranks' participation. As a result, dist.send/recv should be used after collective call, which ensures all ranks' participation. ## License diff --git a/third_party/oneCCL b/third_party/oneCCL index c80317f..3afa1bb 160000 --- a/third_party/oneCCL +++ b/third_party/oneCCL @@ -1 +1 @@ -Subproject commit c80317fd7aad3600834fd1c859cdfcfe8248f52c +Subproject commit 3afa1bb7936f57683a2503c34b29c0daca6a9ccb