Various latency tests for IPE's DMA.

mathiasb 72c6d294f5 Add a README 6 years ago
build 6c7b020edf Add gitignore. Moved load functions to common.cu 6 years ago
include 7c019a1cbc Code cleaned and commented 6 years ago
saves 7c019a1cbc Code cleaned and commented 6 years ago
src 7c019a1cbc Code cleaned and commented 6 years ago
.gitignore 6c7b020edf Add gitignore. Moved load functions to common.cu 6 years ago
CMakeLists.txt 7c019a1cbc Code cleaned and commented 6 years ago
README 72c6d294f5 Add a README 6 years ago
launch.sh 545aa821e0 Initial commit 6 years ago

README

___SYNOPSYS___
This repository contains tests to measure the latency of IPE's DMA communication. There are several tests and they can be used with different harware configuration (BIOS or nvidia-smi changes).
All the tests have been run on ipepascal1, so some configurations may vary with the target.

___DEPENDENCIES___
It uses several internal libraries such as ddrio, pcitool or ipedma, and the gdrcopy Github repository. They all should be installed in their default location.

___LAUNCH___
It is necessary to insert the gdrdrv from gdrcopy by using the provided insmod.sh script, as root.
The executables are all located in the build directory. They need root access privilege.

In the build directory:

run #./reload_cmake.sh
to generate the Makefile

run #make
to compile the executables

run #LD_LIBRARY_PATH=/usr/local/lib64 ./EXEC.sh ITER
where EXEC is the name of an executable and ITER the number of tests to run
The outputs are the files EXEC.csv and EXEC.export.csv. The later is processed by the script to provide a more usable csv file.

The tests may also be launched individually with:
#CUDA_VISIBLE_DEVICES=X LD_LIBRARY_PATH=/usr/local/lib64 ./EXEC NB_BYTES
where NB_BYTES is the number of bytes to transfer from the FPGA. It can be 256, 512, 1024, 2048, 4096, 8196 or 16384. The scripts EXEC.sh use 4096 bytes as a default.
Use CUDA_VISIBLE_DEVICES to choose the GPU to use for the test. The X number controls this.