Installation

If you are upgrading from a pre v0.4 release you need to first run pip3 uninstall sol as the package name has changed!

Requirements

SOL has rather small number of requirements:

Requirement Version Comment
Linux any
Python ≥ 3.7
GCC ≥ 8.3
CUDA ≥ 11.0 if using CUDA
VEOS ≥ 2.7 if using VE
GraphViz any if using debug features

SOL Closed Beta User Account

Before you can install SOL, you need to have a SOL Closed Beta User Account. If you don’t have one, please contact your NEC sales representative.

How can I change my password?
Login to portal.neclab.eu and follow the instructions for password change.

My account got disabled/deleted. What can I do?
In this case you need to contact us, and we need to reenable your account manually.

Why does my account not work for the Bug Tracker?
For technical reasons, the login to the Bug Tracker uses _ instead of @ in your username. So something@your-domain.eu needs to be something_your-domain.eu.

Installing SOL-Installer

To install SOL you need to have an account to access our SOL PIP repository. You can check with your browser if you can login to: https://sol.neclab.eu/ve/

If that works, you first need to install the SOL package manager:

pip3 install --pre nec-sol

With the package manager you can manage your SOL installation. This is necessary as SOL requires to download dependencies from non PyPI servers, which is not supported when publishing packages on PyPI.

Installing SOL

For installing SOL modules, just run:

nec-sol

The installer will ask you to accept a user license agreement the first time you start it. After accepting, the installer will install a package called nec-sol-license which contains a digitally signed license file. It further contains a copy of the license agreement which is stored in /path/to/sol/LICENSE.md.

Then select to install/modify the SOL installation. Select the packages that you need.

## NEC-SOL Package Manager v0.4.2.1

Please select the modules that you want to install:
> [x] x86
  [x] pytorch
  [ ] torchvision
  [ ] tests
Press <space>, <tab> for multi-selection and <enter> to accept
┌─────────────────────────────────────────────────────────────┐
│ Access to following URLs is required:                       │
│ https://sol.neclab.eu/core/v0.4.2.1                         │
│ https://sol.neclab.eu/x86/v0.4.2.1                          │
│                                                             │
│ Following Python packages will be installed:                │
│ - nec-sol-backend-dfp==0.4.2.1                              │
│ - nec-sol-backend-dnn==0.4.2.1                              │
│ - nec-sol-core==0.4.2.1                                     │
│ - nec-sol-device-x86==0.4.2.1                               │
│ - nec-sol-docs==0.4.2.1                                     │
│ - nec-sol-jit-dot==0.4.2.1                                  │
│ - nec-sol-jit-gcc==0.4.2.1                                  │
│ - nec-sol-jit-python==0.4.2.1                               │
└─────────────────────────────────────────────────────────────┘

F.A.Q:

How can I check which modules are installed?
If you wish to uninstall SOL, or a specific module, just run: nec-sol and select list installed modules.

How can I uninstall SOL?
If you wish to uninstall SOL, or a specific module, just run: nec-sol and select uninstall all modules.

How can I upgrade/change the version of SOL?
For upgrading SOL just run: pip3 install --pre --upgrade nec-sol, run nec-sol and select install/modify. It will ask you if you wish to upgrade to newer version of SOL.

How can I install SOL on a server without internet connectivity?
To install SOL on a server without internet connectivity run the following commands on a machine with internet access:
pip3 install nec-sol
pip3 download nec-sol
nec-sol
# 1. select "download modules"
# 2. select the modules you want to download
scp *.whl target_machine:/some/path
Then switch to your target machine and execute:
cd /some/path
pip3 install nec_sol-*.whl
nec-sol
# 1. select "options" and activate "install SOL from current folder"
# 2. confirm
# 3. select "install/modify" and select all packages that you want to install

PIP does not trust dav.neclab.eu OR I get following error: SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)
Solution #1 (not recommended) Start nec-sol, go to options and select: "don't check SOL repo server certificates".
Solution #2 On CentOS pip does not trusts not the systems certificates. As user you can fix this problem with: pip3 config set cert /etc/pki/tls/certs/ca-bundle.crt. As root you can fix this for all users using:
sudo sh -c 'echo [global] > /etc/pip.conf'
sudo sh -c 'echo cert = /etc/pki/tls/certs/ca-bundle.crt >> /etc/pip.conf'

I totally messed up everything, how can I reset SOL?
  1. Don't Panic!
  2. run pip3 install --pre --upgrade nec-sol. This should upgrade the SOL package manager to the newest version.
  3. run nec-sol and select uninstall all modules.
  4. run nec-sol and reinstall all requires modules.
  5. Done!

Can not perform a '--user' install. User site-packages are not visible in this virtualenv.
Go to options and enable install SOL globally. VirtualEnvs don't support to install packages into user folders, which is the default behavior for the SOL installer.