Python on HAL

Open Cognitive Environment (modules opence/1.0.0 to opence/1.6.1)

The Open-CE project contains everything that is needed to build conda packages for a collection of machine learning and deep learning frameworks.

Open-CE environment packages (click to expand/collapse)
Open-CE environment packages

Package

opence v1.6.1

opence v1.5.1

opence v1.3.1

opence v1.2.2

opence v1.1.2

opence v1.0.0

python

3.9.12

3.9.12

3.8.0

3.8.0

3.8.12

3.8.12

cuda

11.2.2

11.2.2

11.2.2

11.0.221

10.2.89

10.2.89

cudnn

8.1.1

8.1.1

8.1.1

8.1.1

7.6.5

7.6.5

nccl

2.12.7

2.11.4

2.8.3

2.7.8

2.7.8

2.7.8

openmpi

4.1.1

4.1.1

4.1.1

3.1.3

3.1.3

3.1.3

apex

0.1

0.1

0.1

N/A

N/A

N/A

hdf5

1.10.6

1.10.6

1.10.4

1.10.6

1.10.4

1.10.4

horovod

0.24.2

0.23.0

0.21.3

0.21.0

0.21.0

0.19.5

ipython

7.32.0

7.32.0

7.27.0

7.29.0

7.29.0

7.28.0

matplotlib

3.5.2

3.4.3

3.4.3

3.4.3

3.4.3

3.4.2

mpi4py

3.1.3

3.1.3

3.1.1

N/A

N/A

N/A

numpy

1.22.3

1.20.3

1.21.2

1.19.5

1.19.5

1.19.2

onnx

1.11.0

1.10.2

1.7.0

1.6.0

1.6.0

1.6.0

opencv

4.5.5

4.5.3

3.4.14

4.5.0

3.4.10

3.4.10

pandas

1.4.2

1.4.2

1.3.2

1.3.4

1.3.4

1.2.4

pyarrow

7.0.0

5.0.0

N/A

N/A

N/A

N/A

pytorch

1.10.2

1.10.1

1.8.1

1.7.1

1.7.1

1.6.0

scikit-learn

1.0.2

1.0.2

0.24.2

1.0.1

1.0.1

1.0.1

scipy

1.7.3

1.7.3

1.7.1

1.7.1

1.4.1

1.4.1

ray

1.11.1

N/A

N/A

N/A

N/A

N/A

tensorflow

2.8.1

2.7.0

2.5.1

2.4.1

2.4.1

2.3.1

tensorboard

2.8.0

2.7.0

2.5.0

2.4.1

2.4.1

2.3.0

transformers

4.16.2

4.16.2

4.4.2

2.1.1

4.12.2

4.12.2


IBM Watson Machine Learning Community Edition (modules wmlce/1.7.0 and wmlce/1.6.2)

WMLCE is an enterprise software distribution that combines popular open-source deep learning frameworks, efficient AI development tools, and accelerated IBM Power Systems servers.

WMLCE environment packages (click to expand/collapse)
WMLCE environment packages

Package

wmlce/1.7.0

wmlce/1.6.2

python

3.7.10

3.7.10

cuda

10.2.89

10.1.243

cudnn

7.6.5

7.6.3

nccl

2.5.6

2.4.8

apex

0.1.0

0.1.0

caffe

1.0

1.0

dask

2.9.2

2.3.0

hdf5

1.10.2

1.10.2

horovod

0.19.0

N/A

ipython

7.26.0

7.26.0

matplotlib

3.3.4

3.3.4

numba

0.47.0

0.45.1

numpy

1.17.4

1.16.6

onnx

1.6.0

1.5.0

pandas

1.2.4

1.2.4

pytorch

1.2.4

1.2.0

scikit-learn

0.24.2

0.22.1

scipy

1.3.1

1.3.1

spectrum-mpi

10.03

10.03

tensorboard

2.1.1

1.15.0

tensorflow

2.1.3

1.15.5


Customize a Python Environment

Miniconda is a small, bootstrap version of Anaconda that includes only conda, Python, the packages they depend on, and a small number of other useful packages, including pip and zlib. Use the conda install command to install 720+ additional conda packages from the Anaconda repository.

Install a Specific Package

Solve a Dependency Conflict

Conda can solve some dependency conflicts, but it takes time and is not guaranteed to work. Instead, you can:

  1. Create a python environment from scratch.

  2. Install the package that caused the conflict.

  3. Install other packages according to the conflicting package requirement.

Use a Customized Python Environment in HAL OnDemand

Run conda install ipykernel to select and/or switch your conda environment in HAL OnDemand.

Existing Anaconda Environments

Existing Anaconda environments (click to expand/collapse)
Existing Anaconda environments

Environment Name

Location

Description

base

/opt/miniconda3

Default conda env with basic python packages.

jupyter

/opt/miniconda3/envs/jupyter

Default conda env with jupyter server. Used for hal-ondemand

service only.

deepspeed-v0.3.16

/opt/miniconda3/envs/deepspeed-v0.3.16

DeepSpeed is a deep learning optimization library that makes

distributed training easy, efficient, and effective.

fastai-v0.1.18

/opt/miniconda3/envs/fastai-v0.1.18

fastai is a deep learning library that provides practitioners with

high-level components that can quickly and easily provide

state-of-the-art results in standard deep learning domains.

wmlce-v1.6.2

/opt/miniconda3/envs/wmlce-v1.6.2

Watson Machine Learning Community Edition is an IBM Cognitive

Systems offering that is designed for the rapidly growing and

quickly evolving AI category of deep learning. This is the only

environment still have tensorflow-v1.15.

wmlce-v1.7.0

/opt/miniconda3/envs/wmlce-v1.7.0

Watson Machine Learning Community Edition is an IBM Cognitive

Systems offering that is designed for the rapidly growing and

quickly evolving AI category of deep learning. This is the last

version of WMLCE, the following module is opence.

opence-v1.0.0

/opt/miniconda3/envs/opence-v1.0.0

Open-CE is a community-driven software distribution for machine

learning that runs on standard Linux platforms with NVIDIA GPU

technologies.

opence-v1.1.2

/opt/miniconda3/envs/opence-v1.1.2

Open-CE is a community-driven software distribution for machine

learning that runs on standard Linux platforms with NVIDIA GPU

technologies.

opence-v1.2.2

/opt/miniconda3/envs/opence-v1.2.2

Open-CE is a community-driven software distribution for machine

learning that runs on standard Linux platforms with NVIDIA GPU

technologies.

opence-v1.3.1

/opt/miniconda3/envs/opence-v1.3.1

Open-CE is a community-driven software distribution for machine

learning that runs on standard Linux platforms with NVIDIA GPU

technologies.

opence-v1.4.1

/opt/miniconda3/envs/opence-v1.4.1

Open-CE is a community-driven software distribution for machine

learning that runs on standard Linux platforms with NVIDIA GPU

technologies.

opence-v1.5.1

opence-v1.5.2

/opt/miniconda3/envs/opence-v1.5.1

/opt/miniconda3/envs/opence-v1.5.2

Open-CE is a community-driven software distribution for machine

learning that runs on standard Linux platforms with NVIDIA GPU

technologies.

This is the default python environment. Use opence-v1.5.1 as base,

fixed openblas issue caused by openmp.

theano-v1.0.4

/opt/miniconda3/envs/theano-v1.0.4

Open-CE is a community-driven software distribution for machine

learning that runs on standard Linux platforms with NVIDIA GPU

technologies.

rapdis-v0.11.0

/opt/miniconda3/envs/rapids

The RAPIDS suite of software libraries, built on CUDA-X AI, gives

you the freedom to execute end-to-end data science and analytics

pipelines entirely on GPUs.


Create a New Environment from Existing Environments

It is recommended to create a new environment from one of the existing opence environments. To create a new environment (new_env) from an existing environment (opence-v1.5.1):

conda create --name=new_env --clone=opence-v1.5.1

The new conda environment will be in $HOME/.conda/envs/new_env. You can now search and/or install python packages via conda in your new environment.

For example, to search for the tensorflow package:

conda search tensorflow

Create a Conda Environment from Scratch

You can also create a new environment from scratch. To create a new environment (new_env_name) from scratch:

conda create --name=new_env_name

Search Packages in All Default Channels

conda search openblas

Search Packages in a Specific Channel

conda search openblas -c conda-forge

Install a Package with a Specific Version and Build Code

Install a package from the result of the search

(new_env_name)[user_id@hal-login2 ~]# conda search openblas
...
openblas 0.3.12 pthreads_hca0ad1f_0 conda-forge
openblas 0.3.12 pthreads_hca0ad1f_1 conda-forge
openblas 0.3.13 h6ffa863_0 pkgs/main
openblas 0.3.13 h6ffa863_1 pkgs/main
openblas 0.3.13 openmp_h25a920f_0 conda-forge
openblas 0.3.13 pthreads_h92053e5_0 conda-forge
...
(new_env_name)[user_id@hal-login2 ~]# conda install openblas=0.3.13=openmp_h25a920f_0