R-Tile Avalon® Streaming Intel® FPGA IP for PCI Express* Design Example User Guide

ID 683544
Date 4/12/2024
Public
Document Table of Contents

2.7.3. Running the Performance Design Example (Endpoint)

  1. Navigate to ./software/user/example under the design example directory.
  2. Compile the design example application:

    $ sudo make

  3. Run the test:

    $ sudo ./intel_fpga_pcie_link_test

    You can run the Intel FPGA IP PCIe link test in manual or automatic mode. Choose from:
    • In automatic mode, the application automatically selects the device. The test selects the Intel PCIe device with the lowest BDF by matching the Vendor ID. The test also selects the lowest available BAR.
    • In manual mode, the test queries you for the bus, device, and function numbers and BAR.
  4. For the Agilex™ 7 Development Kit, you can determine the BDF by typing the following command:

    $ lspci -d 1172:

    Note: This step is required if you run the Performance design example 2x8 or the Performance design example 4x4, in order to get the BDF numbers of the different ports.
  5. Here is a sample transcript for the selection between automatic and manual modes:
    # ./intel_fpga_pcie_link_test
    *********************************************************
    Intel FPGA PCIe Link Test
    Version 2.0
    0: Automatically select a device
    1: Manually select a device
    *********************************************************
    
  6. The Performance design example for the Intel FPGA IP R-Tile Avalon Streaming Hard IP for PCI Express IP core only supports menu option 9. Enter 9 and press Enter to proceed.
    Opened a handle to BAR 0 of a device with BDF 0x3800
    *********************************************************
     0: Link test - 100 writes and reads
     1: Write memory space
     2: Read memory space
     3: Write configuration space
     4: Read configuration space
     5: Change BAR for PIO
     6: Change device
     7: Enable SRIOV
     8: Do a link test for every enabled virtual function
        belonging to the current device
     9: Perform DMA for Throughput
    10: Quit program
    *********************************************************
    > 9
    
  7. Select the R-Tile PCIe Hard IP mode.

  8. In case you select the 2x8 or 4x4 mode, the following menu is displayed, where you need to insert the BDF of each port, previously obtained in Step 4.

  9. All modes allow you to run the Max Performance Test or Custom Performance Test.

  10. The option 0: Run Max Performance Test generates Memory Write traffic, Memory Read traffic and simultaneous Memory Write and Memory Read Traffic with the payload size and read request size that allow you to obtain the maximum performance.
    • Example of running Max Performance Test in the R-Tile PCIe Hard IP mode 1x16:
      ********************************************************************
                      MAX END POINT (EP) TRAFFIC
      ********************************************************************
      
         EXECUTING WRITE TRAFFIC...
      100% [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||]
         PERF WRITE GB/s: 59.9366
      
         EXECUTING READ TRAFFIC...
      100% [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||]
         PERF READ GB/s: 59.0977
    • Example of running Max Performance Test in the R-Tile PCIe Hard IP mode 2x8:
      ********************************************************************
                      MAX END POINT (EP) TRAFFIC
      ********************************************************************
      
         EXECUTING WRITE TRAFFIC...
      100% [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||]
         Device with BDF 0x3800. PERF WRITE GB/s: 29.95
      
         Device with BDF 0x3900. PERF WRITE GB/s: 29.95
      
         EXECUTING READ TRAFFIC...
      100% [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||]
         Device with BDF 0x3800. PERF READ GB/s: 29.19
      
         Device with BDF 0x3900. PERF READ GB/s: 29.28
      
    • Example of running Max Performance Test in the R-Tile PCIe Hard IP mode 4x4:
      ********************************************************************
                      MAX END POINT (EP) TRAFFIC
      ********************************************************************
      
         EXECUTING WRITE TRAFFIC...
      100% [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||]
         Device with BDF 0x3300. PERF WRITE GB/s: 14.93
      
         Device with BDF 0x3400. PERF WRITE GB/s: 14.93
      
         Device with BDF 0x3500. PERF WRITE GB/s: 14.93
      
         Device with BDF 0x3600. PERF WRITE GB/s: 14.93
      
         EXECUTING READ TRAFFIC...
      100% [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||]
         Device with BDF 0x3300. PERF READ GB/s: 13.59
      
         Device with BDF 0x3400. PERF READ GB/s: 13.59
      
         Device with BDF 0x3500. PERF READ GB/s: 13.59
      
         Device with BDF 0x3600. PERF READ GB/s: 13.59
      ********************************************************************
      
  11. The option 1: Run Custom Performance Test allows you to configure the traffic sent during the performance test. By selecting this option, you will be able to enter the number of iterations to be carried out, the Payload size for Memory transactions, the Read Request Size for Memory Read transactions, as well as the type of traffic to execute. In case you select the 2x8 or 4x4 mode, the settings for each port will be required. If the numbers of loops differ between ports, the value provided in the second port will be taken.