2.6.3. Running the Performance Design Example
- Navigate to ./software/user/example under the design example directory.
- Compile the design example application:
$ make
- 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 number and BAR.
For the Stratix® 10 DX or Agilex™ 7 Development Kit, you can determine the BDF by typing the following command:
$ lspci -d 1172:
- Here are sample transcripts for automatic and manual modes:
Automatic mode:
Manual mode:
- To perform the DMA for throughput test, enter option "9" and press the Enter key to proceed.
- Enter the number of DMA iterations to be carried out and then press the Enter key to select the type of DMA operation: “0” for write operation (device to host), “1” for read operation (host to device) and “2” for simultaneous write and read operations.
- Enter the number of the corresponding payload size to perform DMA operations with the selected payload size. Enter option "1" for 16B, "2" for 32B, "3" for 64B, "4" for 128B, "5" for 256B and "6" for 512B.
- Here are sample test results for write only, read only and simultaneous write and read for 10 iterations respectively.
Write only:
******************************************************** 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 Enter number of loop (between 1 - 1000; 1 second per loop): > 10 Enter type of operation (0 for write, 1 for read and 2 for simultaneous write and read): > 0 Choose payload size: 1. 16B 2. 32B 3. 64B 4. 128B 5. 256B 6. 512B > 6 DMA WRITE only (MemWr) ********************************************************* PERF WRITE GB/s: 29.9683 PERF WRITE GB/s: 29.9683 PERF WRITE GB/s: 29.9788 PERF WRITE GB/s: 29.9788 PERF WRITE GB/s: 29.9683 PERF WRITE GB/s: 29.9788 PERF WRITE GB/s: 29.9788 PERF WRITE GB/s: 29.9683 PERF WRITE GB/s: 29.9683 PERF WRITE GB/s: 29.9788
Read only:******************************************************** 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 Enter number of loop (between 1 - 1000; 1 second per loop): > 10 Enter type of operation (0 for write, 1 for read and 2 for simultaneous write and read): > 1 Choose payload size: 1. 16B 2. 32B 3. 64B 4. 128B 5. 256B 6. 512B > 6 DMA READ only (MemRd) ********************************************************* PERF READ GB/s: 29.1085 PERF READ GB/s: 29.1085 PERF READ GB/s: 29.1399 PERF READ GB/s: 29.1294 PERF READ GB/s: 29.1294 PERF READ GB/s: 29.1294 PERF READ GB/s: 29.1294 PERF READ GB/s: 29.1294 PERF READ GB/s: 29.1294 PERF READ GB/s: 29.1294
Simultaneous write and read:******************************************************** 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 Enter number of loop (between 1 - 1000; 1 second per loop): > 10 Enter type of operation (0 for write, 1 for read and 2 for simultaneous write and read): > 2 Choose payload size: 1. 16B 2. 32B 3. 64B 4. 128B 5. 256B 6. 512B > 6 DMA READ & WRITE ********************************************************* PERF WRITE GB/s: 26.6233 PERF READ GB/s: 28.1333 PERF WRITE GB/s: 26.6233 PERF READ GB/s: 28.1438 PERF WRITE GB/s: 26.6233 PERF READ GB/s: 28.1438 PERF WRITE GB/s: 26.6233 PERF READ GB/s: 28.1333 PERF WRITE GB/s: 26.6129 PERF READ GB/s: 28.1438 PERF WRITE GB/s: 26.6129 PERF READ GB/s: 28.1333 PERF WRITE GB/s: 26.6129 PERF READ GB/s: 28.1438 PERF WRITE GB/s: 26.6233 PERF READ GB/s: 28.1228 PERF WRITE GB/s: 26.6233 PERF READ GB/s: 28.1333 PERF WRITE GB/s: 26.6129 PERF READ GB/s: 28.1333