1. Home
  2. Cluster Monitoring
  3. How do I enable monitoring for the Intel Arria 10 GX FPGA?

How do I enable monitoring for the Intel Arria 10 GX FPGA?

Installation

Installing Intel Acceleration Stack

The Intel Acceleration Stack Runtime package needs to be installed on the nodes that have the Programmable Acceleration Card (PAC) installed, since it includes required drivers and tools.

The package can be downloaded from: https://www.intel.com/content/www/us/en/programmable/products/boards_and_kits/dev-kits/altera/acceleration-card-arria-10-gx/getting-started.html (Requires registration)

Chroot inside the image that the nodes with Intel PACs will use:

# chroot /cm/images/<image-name>

Extract the files:

# tar xvf *pv_rte_installer.tar.gz

Run setup.sh as root. Make sure network access is available. The installer will try to install some dependencies from EPEL.

setup.sh

Everything should be set up automatically. By default, files are installed into ${HOME}/intelrtestack. To be able to use fpga* commands you’ll need to update your environment by sourcing the init file: 

# source ${HOME}/intelrtestack/init_env.sh

Validating Installation

Checking Drivers

Drivers are compiled for your kernel by DKMS during boot. To check the current status run:

# dkms status

intel-fpga, 1.1.2-1, 3.10.0-862.2.3.el7.x86_64, x86_64: installed 

It is also a good idea to check if the kernel modules are loaded:

# lsmod | grep -e intel_fpga -e spi -e altera -e avmmi 

Getting some basic information

Simply run:

# fpgainfo port

Example output:

Board Management Controller, microcontroller FW version 26889
Last Power Down Cause: POK_CORE
Last Reset Cause: None
//****** PORT ******//
Object Id  : 0xEC00000
PCIe s:b:d:f  : 0000:5E:00:0
Device Id  : 0x09C4
Socket Id  : 0x00
Ports Num  : 01
Bitstream Id  : 0x123000200000185
Bitstream Version  : 0x555500030201
Pr Interface Id  : 69528db6-eb31-577a-8c36-68f9faa081f6
Accelerator Id  : 35f9452b-25c2-434c-93d5-6f8c60db361c

Running a simple “Hello World” application

Go to the “hello_afu” directory:

# cd $OPAE_PLATFORM_ROOT/hw/samples/hello_afu

The compiled bitstream file can be found under the ‘bin’ directory. To load it to your FPGA:

# fpgaconf bin/hello_afu.gbs

This should return no output if everything went fine.

Compile the software:

# cd sw
# make 

Run the application:

# ./hello_afu
Running Test
AFU DFH REG = 1000010000000000
AFU ID LO = 9722d43375b61c66
AFU ID HI = 850adcc26ceb4b22
AFU NEXT = 00000000
AFU RESERVED = 00000000
Reading Scratch Register (Byte Offset=00000080) = 00000000
MMIO Write to Scratch Register (Byte Offset=00000080) = 123456789abcdef
Reading Scratch Register (Byte Offset=00000080) = 123456789abcdef
Setting Scratch Register (Byte Offset=00000080) = 00000000
Reading Scratch Register (Byte Offset=00000080) = 00000000

This example application writes “123456789abcdef” to a register and reads it back.

Running with Bright Cluster Manager

Bright Cluster Manager software does not interfere with the operation of the Intel Programmable Accelerator Card (PAC) itself. Also no additional steps are required for compatibility. Customers can monitor their Intel PAC using Bright Cluster Manager tools.

For 8.2 it is recommended to have a separate category for the nodes with an Intel PAC, and to enable additional monitoring on those nodes only.

Example

Add a category:

# cmsh
category add intel_pac
set softwareimage <softwareimage_with_intel_pac_drivers_installed>
commit

Enable metric collection for category:

# cmsh
monitoring setup
add collection intel_pac
set consolidator default
set script /cm/local/apps/cmd/scripts/metrics/sample_fpga_intel.py
nodeexecutionfilters
add category intel_pac
commit

Add nodes to category:

# cmsh
device use <device_name>
set category intel_pac
commit

And monitoring should start on the nodes.

Updated on October 30, 2020

Related Articles

Leave a Comment