Installation

The preferred way to install this package is by using the Python package index:

pip install aihwkit

Similarly this package can also be installed using Conda package for AIHWKIT available in Conda-forge,

  • CPU

    conda install -c conda-forge aihwkit
    
  • GPU

    conda install -c conda-forge aihwkit-gpu
    

Similarly for GPU support, you can also build a docker container following the CUDA Dockerfile instructions. You can then run a GPU enabled docker container using the following command from your project directory

docker run --rm -it --gpus all -v $(pwd):$HOME --name aihwkit aihwkit:cuda bash

Note

During the initial beta stage, we do not provide pip wheels (as in, pre-compiled binaries) for all the possible platform, version and architecture combinations (in particular, only CPU versions are provided).

Please refer to the Advanced installation guide page for instruction on how to compile the library for your environment in case you encounter errors during installing from pip.

The package require the following runtime libraries to be installed in your system:

Note

Please note that the current pip wheels are only compatible with PyTorch 1.6.0. If you need to use a different PyTorch version, please refer to the Advanced installation guide section in order to compile a custom version. More details about the PyTorch compatibility can be found in this issue.

Optional features

The package contains optional functionality that is not installed as part of the default installed. In order to install the extra dependencies, the recommended way is by specifying the extra visualization dependencies:

pip install aihwkit[visualization]

Verifying the installation

If the library was installed correctly, you can use the following snippet for creating an analog layer and predicting the output:

from torch import Tensor
from aihwkit.nn import AnalogLinear

model = AnalogLinear(2, 2)
model(Tensor([[0.1, 0.2], [0.3, 0.4]]))

If you encounter any issues during the installation or executing the snippet, please refer to the Advanced installation guide section for more details and don’t hesitate on using the issue tracker for additional support.

Next Steps

You can read more about the PyTorch layers in the Using the PyTorch integration section, and about the internal analog tiles in the Using aihwkit Simulator section.