Havarti is Capra’s second research server.
Getting Access
Access to Havarti is managed in the same way (with the same Active Directory groups) as Gorgonzola. See the instructions on that page for access.
Please join the #gorgonzola
channel on Slack (which, despite the name, covers all our research infrastructure).
Logging In
The hostname is havarti.cs.cornell.edu
. Your SSH credentials are your NetID credentials.
Storage
The server has a really small amount of space on /
, which includes the home directories. So please don’t put anything big in your $HOME. Whenever possible, use /scratch
, which has plenty of space.
Specs
- CPU: dual Xeon Gold 6230: 20 cores (40 SMT threads) per socket @ 2.10 GHz
- RAM: 512 GB
- FPGAs:
- OS: Ubuntu 20.04 LTS
Software
Docker
Whenever possible, don’t install stuff locally on the machine. Instead, use Docker. For a guide on how to use Docker, see this blog post.
The docker data directory is at /scratch/docker
. (Please never touch this directory directly.) The placement of the Docker data (which by default lives on our /var
filesystem, which has very limited space) is controlled by the systemd unit configuration file at /etc/systemd/system/docker.service.d/docker.conf
, which contains these lines to override the startup config:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -g /scratch/docker -H fd:// --containerd=/run/containerd/containerd.sock
To avoid needed to prefix docker commands with sudo
, you can add yourself to the docker group with:
sudo usermod -a -G docker <netid>
Verilator
If you need the open-source package Verilator, please do not build a local copy.
We have an shared installation under /opt/verilator
that you should use instead.
You may be reading this because you are trying to install Verilator for use via fud
.
When asked to point to the Verilator binary, point to /opt/verilator/bin/verilator
.
Also add export VERILATOR_ROOT="/opt/verilator"
to your ~/.bashrc
.
Then reinstall fud
.
Intel FPGA Tools
The Intel Acceleration Stack for Development is installed at /opt/inteldevstack
.
To use it, source the setup script:
$ source /opt/inteldevstack/init_env.sh
Xilinx Tools
Xilinx Vitis (the renamed successor to Vivado, Vivado HLS, and SDSoC) version 2020.2 is installed at /scratch/opt/Xilinx
.
Run this command:
source /scratch/opt/Xilinx/Vitis/2020.2/settings64.sh
And you now have vitis
, vitis_hls
, and other tools available.
Xilinx XRT (Xilinx Runtime) version 2.8.743 is installed at /opt/xilinx
. It includes platform version xilinx_u50_gen3x16_xdma_201920_3
which is the current firmware on the U50 card.
Run this command:
source /opt/xilinx/xrt/setup.sh
If you need it, there is a second version of XRT, 2.13.0 a.k.a. 2022.1, installed at /scratch/opt/xilinx/xrt
.
Automatically Loading Xilinx Tools
Bash users: Add this to your ~/.bashrc
:
source /scratch/opt/Xilinx/Vitis/2020.2/settings64.sh
source /opt/xilinx/xrt/setup.sh
Zsh users: Add this to your ~/.zshenv
:
source /scratch/opt/Xilinx/Vitis/2020.2/settings64.sh
BASH_SOURCE=/opt/xilinx/xrt/setup.sh emulate zsh -c 'bash /opt/xilinx/xrt/setup.sh' 1> /dev/null
We need to do this complicated dance because Xilinx’s setup script is written for bash and expects the BASH_SOURCE
variable to be set. Zsh doesn’t set this variable, so we have to set it ourselves.