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 26889Last Power Down Cause: POK_CORELast Reset Cause: None//****** PORT ******//Object Id : 0xEC00000PCIe s:b:d:f : 0000:5E:00:0Device Id : 0x09C4Socket Id : 0x00Ports Num : 01Bitstream Id : 0x123000200000185Bitstream Version : 0x555500030201Pr Interface Id : 69528db6-eb31-577a-8c36-68f9faa081f6Accelerator 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_afuRunning TestAFU DFH REG = 1000010000000000AFU ID LO = 9722d43375b61c66AFU ID HI = 850adcc26ceb4b22AFU NEXT = 00000000AFU RESERVED = 00000000Reading Scratch Register (Byte Offset=00000080) = 00000000MMIO Write to Scratch Register (Byte Offset=00000080) = 123456789abcdefReading Scratch Register (Byte Offset=00000080) = 123456789abcdefSetting Scratch Register (Byte Offset=00000080) = 00000000Reading 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:
# cmshcategory add intel_pacset softwareimage <softwareimage_with_intel_pac_drivers_installed>commit
Enable metric collection for category:
# cmshmonitoring setupadd collection intel_pacset consolidator defaultset script /cm/local/apps/cmd/scripts/metrics/sample_fpga_intel.pynodeexecutionfiltersadd category intel_paccommit
Add nodes to category:
# cmshdevice use <device_name>set category intel_paccommit
And monitoring should start on the nodes.