⚠️ The instructions below are outdated, as the mentioned Alveo trial is no longer available. Some of the names have changed since Nimbix has been acquired by Atos, and they only seem to offer enterprise solutions now. The rest of the document is retained in case it may be a useful reference for anyone who wants to use their services with Hastlayer.
To run a Hastlayer applications on the Nimbix HPC cloud, a compute instance must be launched, the dependencies installed and the host & device applications uploaded. You can find the necessary instructions here.
Be sure to also check out the general docs.
- Sign up for the Nimbix Alveo Trial.
- Log into the Nimbix platform after the registration is complete. Here is also some more getting started information (note that the costs indicator only updates when you shut down your job).
- On the right sidebar click "Compute" and find "Xilinx Vitis Unified Software Platform 2020.1" in the search bar. At the time of writing this that option lets you pick U50, U200, and U280.
- Activate "Desktop Mode with FPGA" and select the machine type with the appropriate board. Note that Nimbix might be overloaded and not every board you can select will actually be available, resulting in the job being queued forever. Check out the availability on the Nimbix status page first.
- You should be sent to the Dashboard section with a thumbnail for the running instance.
- (Optional) If you want to save machine time, you can pre-compile the Vitis binaries locally on any machine that has the XRT and the platform library installed. In this case run the host application normally until the hardware generation is finished. If the host attempts execution it will throw an exception but this is normal. The generated files will be in your HardwareFramework directory.
- Set up access to your JARVICE Storage Vault as explained in the documentation. This will serve as persistent storage and will be accessible even if you have no jobs running. You can e.g. set up an SFTP connection to your Nimbix storage as explained here. A suitable SFTP client is e.g. FileZilla (for Total Commander you need the SFTP plugin that you can use like explained here). (Note that SFTP is FTP via SSH, not to be confused with FTPS, i.e. FTP via SSL.)
- Upload the build directory of the host executable (ie. the directory containing Hast.Samples.Consumer.dll). This will also contain newly generated RTL sources in the HardwareFramework directory. You can zip up the folder and unzip it on the Nimbix machine to avoid a slow upload.
- In the Nimbix Dashboard click on the instance's image to open the web VNC GUI.
- Click on the Nimbix ("start") menu at the bottom left and select Terminal Emulator.
- Type in the following to set up dependencies:
cd /data/host_programs_directory
source ubuntu-install.sh
- Execute the host program, see below. On first execution it will start to build the new xclbin file. Upon subsequent runs the binary will be detected and the compilation step skipped.
- Wait for a long time. The baseline time requirements (when compiling
MemoryTest
for U280) is around 2h 15m. U50, as the smallest board, is the fastest to compile for.
You can have multiple such compilations running at the same time, as there are enough hardware resources, depending on the complexity of the generated hardware (i.e. the input software) and the targeted board. To see the resources usage of the VM you can use the console app top or install System Monitor with sudo apt-get --yes --force-yes install gnome-system-monitor
(located under the System category in the start menu).
This is assuming that you are going to run Hast.Samples.Consumer
with the image processing sample but other apps will behave similarly.
- Run the
dotnet Hast.Samples.Consumer.dll -device "Alveo U280" -sample ImageProcessingAlgorithms
command. Add the-verify
switch if you want to verify whether the hardware output is the same as the software one, i.e. the device works properly. - If it ran successfully, check the output picture by typing
thunar contrast.bmp
.
To save on compute costs, shut down the job (i.e. turn off the instance) when not needed. At that point everything outside the /data folder is lost, including all personal settings.
You can get back by launching a new instance (Administrative steps 2 - 5) and then running the install script (Setup step 8).
- While your instance is running, you can see the SSH credentials by clicking on the ⓘ. Connect to it using SSH/PuTTY to for a better shell with clipboard access.