6.2. Xaloc cluster installation

The OmpSs@FPGA releases are automatically installed in the Xaloc cluster. They are available through a module file for each target architecture. This document describes how to load and use the modules to compile an example application. Once the modules are loaded, the workflow in the Xaloc cluster should be the same as in the Docker images.

6.2.1. General remarks

  • All software is installed in a version folder under the /opt/bsc directory.
  • During the updates, the installation will not be available for the users’ usage.
  • Usually, the installation just takes 20 minutes.
  • After the installation, an informative email will be sent.

6.2.2. Module structure

The ompss modules are:

  • ompss/x86_fpga/[release version]

It requires having some vivado loaded:

module load vivado ompss/x86_fpga/git

To list all available modules in the system run:

module avail

6.2.3. Build applications

To generate an application binary and bitstream, you could refer to Compile OmpSs@FPGA programs as the steps are general enough.

Note that the appropriate modules need to be loaded. See Module structure.

6.2.4. Running applications

6.2.4.1. Get access to an installed fpga

Xaloc cluster uses SLURM in order to manage access to computation resources. Therefore, to be able to use the resources of an FPGA, an allocation in one of the partitions has to be made.

There is 1 partition in the cluster: * fpga: Alveo U200 board

In order to make an allocation, you must run salloc:

salloc -p [partition]

For instance:

salloc -p fpga

Then get the node that has been allocated for you:

squeue

The output should look similar to this:

JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
 1312 fpga          bash afilguer  R      17:14      1 xaloc

6.2.4.2. Loading bistreams

The fpga bitstream needs to be loaded before the application can run. The load_bitstream utility is provided in order to simplify the FPGA configuration.

load_bitstream bitstream.bit