Sockeye Local Installation

Sockeye is available via Conda, from our NCRC Channel. In order to install Sockeye on your machine, you will first need to install a Conda Package Manager.

Install Conda

Follow the steps below depending on your platform to install Miniforge. If you run into issues during these steps, please visit our Conda Troubleshooting guide.

  • Linux Users:

    curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
    bash Miniforge3-Linux-x86_64.sh -b -p ~/miniforge

  • Macintosh Users with Apple Silicon processors:

    curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh
    bash Miniforge3-MacOSX-arm64.sh -b -p ~/miniforge
commentnote:Intel Macs nearing End of Life

Apple will cease support for all Intel based Macintosh machines in 2026, as will we at that time.

read: As our Continuous Integration Intel machines break, they are replaced with Apple Silicon. This will limit our ability to test new features for Intel compatibility.

Macintosh Users with Intel processors:

curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-x86_64.sh
bash Miniforge3-MacOSX-x86_64.sh -b -p ~/miniforge

With Miniforge installed in your home directory, export PATH so that it may be used:

export PATH=$HOME/miniforge/bin:$PATH

Now that we can execute conda, initialize it and then exit the terminal:

conda init --all
exit

Upon restarting your terminal, you should see your prompt prefixed with (base). This indicates you are in the base environment, and Conda is ready for operation:

$ (base) ~>

The next thing you should do after a fresh install, is perform an update to the base Conda environment:

conda update --all --yes

Add INL's public channel to gain access to INL's Conda package library:

conda config --add channels https://conda.software.inl.gov/public
warningwarning:Do not use sudo

If you find yourself using sudo commands while engaging Conda commands... something is not right. The most common reason for needing sudo is due to an improper Conda installation. Conda should be installed to your home directory, without any use of sudo.

Install NCRC Client

The NCRC client is available via INL's public Conda channel repository.

commentnote

The ncrc client must be installed and used while in the (base) Conda environment. The only exception to this, is when one performs an update (described later).

Add INL Conda Repository channel:

conda config --add channels https://conda.software.inl.gov/public
conda install ncrc

Install Sockeye

Using the ncrc client, install Sockeye:

ncrc install sockeye

Username: johndoe
PIN+TOKEN:

You will need to supply your INL HPC username, and your PIN+TOKEN to proceed.

Use Sockeye

Once installation has finished (this can take a few minutes), you need to activate this environment:

conda activate sockeye
$ (sockeye) ~>

With Sockeye activated (denoted by the prompt header), sockeye-opt becomes available within your PATH. This makes sockeye-opt available for execution from any directory.

sockeye-opt --help

<The Sockeye help page is displayed>

A good first usage, would be to run the built-in tests. You should run this command while somewhere in your home directory (somewhere where you and only you has write access):

cd ~/
sockeye-opt --copy-inputs tests

<Output of files being copied is displayed>

Directory successfully copied into ./sockeye/tests/

The very last line indicates the directory you need to enter next in order to run the tests. In our case ./sockeye/tests. Change into this directory, and then run the tests:

cd ./sockeye/tests
sockeye-opt --run -j 5

<Output of tests being run>

One or two failures may indicate those tests have their tolerances set too tight. You likely can ignore a few failures.

Offline Sockeye Documentation

Documentation is included in the package and is available to peruse without the use of a network. The local location can be discovered by loading the environment and echoing the following variable:

conda activate sockeye
echo $sockeye_DOCS

Copy and paste the results into your favorite web browser to view the documentation.