PowerAI is optimized to leverage the unique capabilities of IBM Power Systems accelerated servers and x86_64 platform servers. It is supported on:
| Component | Version |
|---|---|
| Red Hat | 7.6 |
| Ubuntu | 18.04 |
| Docker | 1.13.1 |
| NVIDIA Docker | 2.0* |
| NVIDIA GPU driver | 440 |
*All PowerAI images starting with 1.5.4 require nvidia-docker 2.0
Configuring host for PowerAI
To setup your machine for use with PowerAI please follow instructions described in IBM's Knowledge Center for Red Hat or Ubuntu here
The instructions include how to install the NVIDIA GPU driver, docker, nvidia-docker etc.
To start up a PowerAI container.
docker run -ti --env LICENSE=yes ibmcom/powerai:<tag> bash
nvidia-docker run -ti --env LICENSE=yes ibmcom/powerai:<tag> bash
PyTorch Users: If you plan on using any multiprocessor data loader with PyTorch. The default shared memory segment size for the container may not be large enough. You can increase the shared memory size with either --ipc=host or --shm-size command line options on docker run
You can read more about this issue on PyTorch's Readme https://github.com/pytorch/pytorch/blob/master/README.md under the "Docker image" section.
You must accept the licenses of all included components before using a PowerAI container. View the WML CE license locally in the image at $HOME/.powerai/powerai-license/1.7.0/license# or View the WML CE license externally at https://github.com/IBM/powerai/tree/master/containers/1.7.0
--env LICENSE=yes parameter on the docker run command lineor
accept-powerai-license.shlatest - PowerAI 1.7.0 and Anaconda for python 3.7
<powerai-version>-<framework>-<cpu>-<OS>-<python>-<architecture>
powerai-version - The version of PowerAI installed in image latest is 1.7.0
Available options - 1.5.2, 1.5.3, 1.5.4, 1.6.0, 1.6.1 1.6.2 1.7.0
framework - The framework installed on the image, (options vary depending on image version)
Available options - all, tensorflow(>=1.6.0), tensorflow-serving (>=1.6.1), pytorch(>=1.6.0), caffe(>=1.6.0), snap-ml(>=1.6.0, ppc64le only, >=1.7.0, x86_64 and ppc64le), xgboost(>=1.6.1, ppc64le only, >=1.6.2, x86_64 and ppc64le), rapids (>=1.6.2, ppc64le only)
cpu - Starting with PowerAI 1.6.1, additional images are built with cpu only versions of deep learning frameworks. These versions have the -cpu flag appended to the framework name.
Available options - all-cpu(>=1.6.1), tensorflow-cpu(>=1.6.1), caffe-cpu(>=1.6.1), xgboost-cpu(>=1.6.1, ppc64le only, >=1.6.2, x86_64 and ppc64le), pytorch-cpu(>=1.6.2), tensorflow-serving-cpu(>=1.7.0)
os - The operating system installed on the image (options vary depending on image version)
Available options - ubuntu16.04(<1.6.0), ubuntu18.04(>=1.6.0)
python - The python version used by frameworks
Available options - py3(<=1.6.1), <none>(python2, (<=1.6.1)), py36(>=1.6.2), py37 (>=1.6.2)
architecture - Starting with PowerAI 1.6.0, images are built to support x86_64 and ppc64le architectures (options vary depending on image version)
Available options - ppc64le(>=1.6.0), x86_64(>=1.6.0), <none>(>=1.6.0 docker will auto detect on your box, <1.6.0 docker will serve ppc64le versions)
1.7.0-pytorch-ubuntu18.04-py36 #Download pytorch image for the requesting machine's architecture with python 3.6
1.7.0-all-ubuntu18.04-py37 #Download all frameworks image for the requesting machine's architecture with python 3.7
PowerAI provides software packages for several Deep Learning frameworks, supporting libraries, and tools:
| Component | 1.5.2 Images | 1.5.3 Images | 1.5.4 Images | 1.6.0 Images | 1.6.1 Images | 1.6.2 Images | 1.7.0 Images |
|---|---|---|---|---|---|---|---|
| Distributed Deep Learning (DDL) | 1.0.0 | 1.1.0 | 1.2.0 | 1.3.0 | 1.4.0 | 1.5.0 | 1.5.1 |
| TensorFlow | 1.8.0 | 1.10.0 | 1.12.0 | 1.13.1 | 1.14.0 | 1.15.0 | 2.1.0 |
| TensorFlow Probability | NA | NA | 0.5.0 | 0.6.0 | 0.7.0 | 0.8.0 | 0.9.0 |
| TensorFlow Estimator | NA | NA | NA | 1.13.0 | 1.14.0 | 1.15.1 | 2.1.0 |
| TensorFlow Serving | NA | NA | NA | NA | 1.14.0 | 1.15.0 | 2.1.0 |
| TensorRT | NA | NA | NA | NA | 5.1.3.6 | 6.0.1.5 | 7.0.0.11 |
| TensorBoard | 1.8.0 | 1.10.0 | 1.12.0 | 1.13.0 | 1.14.0 | 1.15.0 | 2.1.0 |
| IBM Caffe | 1.0.0 | 1.0.0 | 1.0.0 | 1.0.0 | 1.0.0 | 1.0_1.6.2 | 1.0_1.7.0 |
| BVLC Caffe | 1.0.0 | 1.0.0 | 1.0.0 | NA | NA | NA | NA |
| Caffe2 | NA | NA | 1.0rc1 | 1.0.1 | 1.1.0 | 1.2.0 | 1.3.1 |
| snap-ml | 1.0.0 | 1.0.0 | NA | NA | NA | NA | 1.6.0 |
| snapml-spark | NA | NA | 1.0.0 | 1.2.0 | 1.3.0 | 1.4.0 | 1.6.0 |
| pai4sk | NA | NA | 1.0.0 | 1.3.0 | 1.4.0 | 1.5.0 | 1.6.0 |
| xgboost | NA | NA | NA | NA | 0.82 | 0.90 | 0.90 |
| Spectrum MPI | 10.2 | 10.2 | 10.2 | 10.2 | 10.03 | 10.03 | 10.03 |
| OpenBLAS | 0.2.20 | 0.3.2 | 0.3.3 | 0.2.20 | 0.2.20 | 0.3.6 | 0.3.6 |
| Protobuf | 3.4.0 | 3.4.0 | 3.6.1 | 3.6.1 | 3.7.1 | 3.8.0 | 3.8.0 |
| ONNX | NA | NA | 1.3.0 | 1.3.0 | 1.5.0 | 1.5.0 | 1.6.0 |
| Rapids cuDF | NA | NA | NA | 0.2.0 | 0.7.2 | 0.9.0 | 0.11.0 |
| Rapids cuML | NA | NA | NA | 0.2.0 | 0.7.0 | 0.9.1 | 0.11.0 |
| apex | NA | NA | NA | NA | NA | 0.1.0_1.6.2 | 0.1.0_1.7.0 |
| dask | NA | NA | NA | NA | NA | 2.3.0 | 2.9.2 |
| dask-xgboost | NA | NA | NA | NA | NA | 0.1.7 | 0.1.9 |
| arrow-cpp | NA | NA | NA | NA | 0.12.1 | 0.14.1 | 0.15.1 |
| horovod | NA | NA | NA | NA | NA | NA | 0.19.0 |
| pytorch | 0.4.0 | 0.4.1 | 1.0rc1 | 1.0.1 | 1.1.0 | 1.2.0 | 1.3.1 |
| CUDA | 9.2.88 | 9.2.148 | 10.0.130 | 10.1 | 10.1 | 10.1 | 10.2 |
| cuDNN | 7.1.4 | 7.2.1 | 7.3.1 | 7.5 | 7.5 | 7.6.3 | 7.6.5 |
| NCCL | 2.2.12 | 2.2.13 | 2.3.5 | 2.4.2 | 2.4.7 | 2.4.8 | 2.5.6 |
| conda | 4.5.11 | 4.5.11 | 4.5.11 | 4.5.11 | 4.6.14 | 4.7.12 | 4.8.1 |
| Ubuntu | 16.04 | 16.04 | 18.04 | 18.04 | 18.04 | 18.04 | 18.04 |
To satisfy our cloud users, and to stay inline with the principle of least privilege, the default user is pwrai in the images.
pwrai has a uid:gid of 2051:2051 and has password-less sudo setup.
For those that wish to use root, it is enabled, and available via the docker --user root argument at runtime.
For security reasons, we recommend you take advantage of Docker namespaces as documented here
Please reference the "Getting Started with MLDL Frameworks" page here
The PowerAI TensorFlow-Serving docker container is modeled after the tensorflow/serving
docker container provided by TensorFlow. As such all TensorFlow documentation for TensorFlow
Serving with Docker applies to the PowerAI TensorFlow Serving image. Just replace
tensorflow/serving in all examples with ibmcom/powerai:<powerai-version>-tensorflow-serving-ubuntu18.04-<py36/py37> or ibmcom/powerai:<powerai-version>-tensorflow-serving-cpu-ubuntu18.04-<py36/py37>
CUDA Toolkit To view the license for the CUDA Toolkit included in this image, click here
CUDA Deep Neural Network library (cuDNN) To view the license for cuDNN included in this image, click here
The Anaconda User's license can be viewed at (https://docs.anaconda.com/anaconda/eula)
The list of installed python packages under anaconda can be displayed using pip show <packagename> | grep License:
To view a python package's specific License, go to the package's website displayed by the pip show <packagename> | grep Home-page:
Ubuntu's(Canonical) Legal information can be viewed at (https://www.ubuntu.com/legal)
The list of installed Debian packages can be seen using dpkg --list
The license of a particular Debian package can be viewed inside the PowerAI image under /usr/share/<packagename>/copyright
View the WML CE license locally in the image at $HOME/.powerai/powerai-license/1.7.0/license# or View the WML CE license externally at https://github.com/IBM/powerai/tree/master/containers/1.7.0
Content type
Image
Digest
Size
6.1 GB
Last updated
over 5 years ago
docker pull ibmcom/powerai:1.6.2-all-ubuntu18.04-py37-ppc64le