Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

After building and installing the datagpu driver using comp_and_load_drivers.sh (in the aes-stream-drivers package), go to the gpu directory in a axi-pcie-devel check-out to launch the interCardGui:

...

At this point it is useful to click Read All at the bottom of the InterCardGui interCardGui to verify that various registers look reasonable.  The dmesg program also shows some output from the datagpu driver that might be of interest.

To trigger a DMA sequence, click on the OneShot Exec button in the PrbsTx block of the interCardGui.  This should result in additional printout from test_dma:

Code Block
languagebash
Done waiting
Stream Sync
Context sync
data: 0 0x 2000000 - 0x       1
data: 1 0x    2000 - 0x       0
data: 2 0x       0 - 0x       0
data: 3 0x       0 - 0x       0
data: 4 0x       0 - 0x       0
data: 5 0x       0 - 0x       0
data: 6 0x       0 - 0x       0
data: 7 0x       0 - 0x       0
data: 8 0x       1 - 0x      ff
data: 9 0x       0 - 0x       0
...

Click on Read All in interCardGui again to update the register values.  The AxiGpuAsyncCore block shows some statistics that may be of interest.  Here it indicates that both the write and read DMAs completed successfully:
Image Added

Problems seen

When we started working with the InterCardTest, we found that the DMAs worked fine on some machines but would not occur on others.  The systems that worked fine are ones used by the TID development group, rdsrv419, rdsrv415, etc.  These run the Ubuntu 22.04 OS.  On the LCLS nodes drp-srcf-gpu001 and daq-tst-dev06, the test would fail.  These hosts run RHEL7 3.10.0-1160.

Further, when we modified the test_dma.cu source code to write to the AxiPcieCore.AxiVersion.ScratchPad register, it would succeed fro gpu001 and fail for dev06.