Benchmark

Datasets

Benchmark evaluation of genomics algorithm performance is with random data

Genomics Performance

The following table presents Genomics kernel throughput, kernel clock frequency met and resource utilization when Smith-waterman, SMEM and PairHMM algorithms are executed on Alveo and Versal boards.

Architecture Throughput FMax LUT BRAM URAM DSP
Smithwaterman Algorithm 267GCUPS 300MHz 172k 2 0 0
SMEM Algotithm 2GB/s 300MHz 46k 70 70 0
PairHMM Algorithm 40GCUPS 237MHz 231K 235 12 1610

Test Overview

Here are benchmarks of the Vitis Data Genomics Library using the Vitis environment.

Vitis Data Genomics Library

  • Download code

These genomics benchmarks can be downloaded from vitis libraries master branch.

git clone https://github.com/Xilinx/Vitis_Libraries.git
cd Vitis_Libraries
git checkout master
cd genomics
  • Setup environment

Specifying the corresponding Vitis, XRT, and path to the platform repository by running following commands.

source <Vitis_Intstalled_Path>/installs/lin64/Vitis/2021.2/settings64.sh
source <Vitis_Installed_Path>/xbb/xrt/packages/setup.sh
export PLATFORM_REPO_PATHS=/opt/xilinx/platforms
export LD_LIBRARY_PATH=$XILINX_VITIS/lib/lnx64.o/Default/:$LD_LIBRARY_PATH
  • Build Instructions

Execute the following commands to compile and test run the applications.

$ make run TARGET=hw

hw: run on actual hardware

By default, the target device is set as Alveo U200 for Smith-waterman Algorithm, Alveo U250 SMEM algorithms and Versal AI VCK 190 for PairHMM. In order to target a different device, use the DEVICE argument. For example:

make run TARGET=hw DEVICE=<new_device.xpfm>

Note

Build instructions explained in this section are common for all the applications to run on actual hardware. The generated executable names may differ.