Upgrading WML CE

Find instructions about upgrading WML CE.

Starting with release 1.6.0, WML CE (formerly IBM PowerAI) components are provided as conda packages rather than OS distribution packages (in other words, rpm files). In addition, some of the NVIDIA components (CUDA Toolkit, cuDNN, and NCCL) are provided as conda packages to accompany WML CE. Those NVIDIA components previously had to be installed system wide, but are now installed into individual conda environments.

Because of these changes, there is no direct upgrade path from PowerAI 1.5 as that release was packaged as distribution RPM packages.

WML CE 1.6.1 is built for CUDA 10.1 and requires version 418 of the NVIDIA GPU driver. The GPU driver is not provided as a conda package and must be installed separately.

1.6.0

Upgrading from PowerAI 1.6.0

WML CE 1.6.1 requires a similar GPU driver version (418) as PowerAI 1.6.0. We recommend updating to the current GPU driver before upgrading, but WML CE 1.6.1 should work with the older 418 GPU driver as well.

WML CE 1.6.1 conda packages are delivered in the same conda channel as 1.6.0, so no additional conda channels are needed.

There are generally two paths to upgrade from 1.6.0 to 1.6.1:

Create new 1.6.1 environment alongside 1.6.0

WML CE can be installed in a separate conda environment alongside an existing 1.6.0 environment:

conda create -y -n my-161-env python=3.6 powerai=1.6.1
conda activate my-161-env

Upgrade an existing 1.6.0 environment to 1.6.1

An existing environment containing PowerAI 1.6.0 can be upgraded to 1.6.1:

  1. Activate the base conda environment:
    conda activate base
  2. Remove any version pinning for the conda package:

    Edit file $CONDA_PREFIX/conda-meta/pinned and remove any version pinning entries for the conda package

  3. Update the version of conda:
    conda update conda
  4. Activate the 1.6.0 environment:
    conda activate my-160-env
  5. Remove any version pinning for PowerAI:

    Edit file $CONDA_PREFIX/conda-meta/pinned and remove any version pinning entries for PowerAI components.

  6. Upgrade to 1.6.1
    • If you installed all of PowerAI, from your 1.6.0 environment, run:
      conda update --prune powerai
      or
      conda install powerai=1.6.1
    • If you only installed selected packages, from your 1.6.0 environment, run:
      conda update --prune powerai-release
      or
      conda install powerai-release=1.6.1
  7. (Optional) Pin WML CE version 1.6.1

    Pin release 1.6.1 in the environment to avoid unintentional upgrades to a new release:

    echo "powerai-release=1.6.1" >> $CONDA_PREFIX/conda-meta/pinned
Notes:
  • Early 4.7.x versions of the `conda` tool will fail in upgrading WML CE. It is recommended to avoid upgrading to conda 4.7.x when upgrading to WML CE 1.6.1.
  • Recent versions (4.6.x) of the conda installer program suffer from an issue that causes them to prioritize packages from the Anaconda free channel above even newer packages from higher-priority channels. This causes the installer to prefer Anaconda's own package over WML CE packages regardless of channel priorities.

    This issue may affect install or upgrade of WML CE PyTorch on x86 systems.

    Inspect the conda installer Package Plan (lists of packages to be INSTALLED, UPGRADED, and DOWNGRADED) when installing or upgrading WML CE. If the installer selects an Anaconda package from the lower-priority free channel over the WML CE package, there are two work-arounds:

    • Add the name of the WML CE package to the conda command line, from your 1.6.0 environment, run::
      conda update --prune powerai pytorch
      or
      conda install powerai=1.6.1 pytorch
    • Override the Anaconda default channels by running the following config commands:
      conda config --add default_channels https://repo.anaconda.com/pkgs/main
      conda config --add default_channels https://repo.anaconda.com/pkgs/r

      For more information about this action, see the Tip in Installing Anaconda.

  • In the 1.6.0 release, conda install tensorflow or conda install tensorflow-gpu installed TensorFlow with GPU support. In WML CE 1.6.1, the tensorflow package is now a meta package for tensorflow built with CPU support. The result of this is that, if in 1.6.0, TensorFlow was installed with conda install tensorflow, then conda update --prune powerai will update from TensorFlow built with GPU support to TensorFlow built with CPU support.
    To continue using TensorFlow built with GPU support, before running conda upgrade run:
    conda install tensorflow-gpu

    This command installs a meta-package (no real changes to the environment) that conda uses to determine dependencies. The conda update --prune powerai command then updates TensorFlow with the package built for GPU support.

    In certain instances (specifically if an environment only has tf_cnn_benchmarks or tensorflow-probability installed) including the tensorflow-gpu package with the conda upgrade command is necessary to ensure that packages get upgraded with the versions built for GPU support:

conda upgrade --prune tensorflow-gpu powerai-release

Upgrading from PowerAI 1.5.4

To upgrade you must do the following actions:

  1. Uninstall the previous version of PowerAI
  2. Uninstall the previous version of CUDA and the GPU driver
  3. Install CUDA and the GPU driver
  4. Install current release of WML CE