**Description**: Describe your changes. add rocm ep doc. Perview Github page : https://ytaous.github.io/onnxruntime/ Added items Home page - [ ] Update matrix on home page: https://ytaous.github.io/onnxruntime/ - [ ] Link "Installation Instruction Follow build instructions from here" to onnxruntime build with ROCm(inference) page.(This link now point to preview page, will change later) Installation - [ ] Update installation page: https://ytaous.github.io/onnxruntime/docs/install/#training-install-table-for-all-languages Build onnxruntime - [ ] Add onnxruntime build with ROCm(inference): https://ytaous.github.io/onnxruntime/docs/build/eps.html#amd-rocm - [ ] Update onnxruntime build with ROCm(training): https://ytaous.github.io/onnxruntime/docs/build/training.html#gpu--rocm ExecutionProvider - [ ] Add ROCm ExecutionProvider navitagation: https://ytaous.github.io/onnxruntime/docs/execution-providers/ - [ ] Add ROCm-ExecutionProvider page: https://ytaous.github.io/onnxruntime/docs/execution-providers/ROCm-ExecutionProvider.html Performance - [ ] Add enable_rocm_profiling introcduction: https://ytaous.github.io/onnxruntime/docs/performance/tune-performance.html#profiling-and-performance-report - [ ] Add graph-optimation for ROCm ep: https://ytaous.github.io/onnxruntime/docs/performance/graph-optimizations.html#extended-graph-optimizations Co-authored-by: Ethan Tao <ettao@microsoft.com@orttrainingdev7.d32nl1ml4oruzj4qz3bqlggovf.px.internal.cloudapp.net> Co-authored-by: ytaous <4484531+ytaous@users.noreply.github.com>
3.6 KiB
| title | parent | description | nav_order | redirect_from |
|---|---|---|---|---|
| Build for training | Build ONNX Runtime | Learn how to build ONNX Runtime for training from source for different hardware targets | 2 | /docs/how-to/build/training |
Build ONNX Runtime for training
{: .no_toc }
Contents
{: .no_toc }
- TOC placeholder {:toc}
CPU
Build Instructions
{: .no_toc }
To build ORT with training support add --enable_training build instruction.
All other build options are the same for inferencing as they are for training.
Windows
.\build.bat --config RelWithDebInfo --build_shared_lib --parallel --enable_training
The default Windows CMake Generator is Visual Studio 2017, but you can also use the newer Visual Studio 2019 by passing
--cmake_generator "Visual Studio 16 2019" to .\build.bat
Linux/macOS
./build.sh --config RelWithDebInfo --build_shared_lib --parallel --enable_training
GPU / CUDA
Prerequisites
{: .no_toc }
The default NVIDIA GPU build requires CUDA runtime libraries installed on the system:
These dependency versions should reflect what is in the Dockerfiles.
Build instructions
{: .no_toc }
-
Checkout this code repo with
git clone https://github.com/microsoft/onnxruntime -
Set the environment variables: adjust the path for location your build machine
export CUDA_HOME=<location for CUDA libs> # e.g. /usr/local/cuda export CUDNN_HOME=<location for cuDNN libs> # e.g. /usr/local/cuda export CUDACXX=<location for NVCC> #e.g. /usr/local/cuda/bin/nvcc export PATH=<location for openmpi/bin/>:$PATH export LD_LIBRARY_PATH=<location for openmpi/lib/>:$LD_LIBRARY_PATH export MPI_CXX_INCLUDE_PATH=<location for openmpi/include/> -
Create the ONNX Runtime wheel
- Change to the ONNX Runtime repo base folder:
cd onnxruntime - Run
./build.sh --enable_training --use_cuda --config=RelWithDebInfo --build_wheel
This produces the .whl file in
./build/Linux/RelWithDebInfo/distfor ONNX Runtime Training. - Change to the ONNX Runtime repo base folder:
GPU / ROCm
Prerequisites
{: .no_toc }
The default AMD GPU build requires ROCm software toolkit installed on the system:
Build instructions
{: .no_toc }
-
Checkout this code repo with
git clone https://github.com/microsoft/onnxruntime -
Create the ONNX Runtime wheel
- Change to the ONNX Runtime repo base folder:
cd onnxruntime - Run
./build.sh --config RelWithDebInfo --enable_training --build_wheel --use_rocm --rocm_home /opt/rocm --nccl_home /opt/rocm --mpi_home <location for openmpi>
This produces the .whl file in
./build/Linux/RelWithDebInfo/distfor ONNX Runtime Training. - Change to the ONNX Runtime repo base folder:
DNNL and MKLML
Build Instructions
{: .no_toc }
Linux
./build.sh --enable_training --use_dnnl
Windows
.\build.bat --enable_training --use_dnnl
Add --build_wheel to build the ONNX Runtime wheel
This will produce a .whl file in build/Linux/RelWithDebInfo/dist for ONNX Runtime Training