Skip to content

Commit 19cd54a

Browse files
committed
Update sgutil to hdev
1 parent 6e3d30a commit 19cd54a

File tree

5 files changed

+16
-17
lines changed

5 files changed

+16
-17
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ in the original build-directory as described before.
170170
## Deploying on the ETHZ HACC-cluster
171171
The ETHZ HACC is a premiere cluster for research in systems, architecture, and applications (https://github.com/fpgasystems/hacc/tree/main). Its hardware equipment provides the ideal environment to run Coyote-based experiments, since users can book up to 10 servers with U55C-accelerator cards connected via a fully switched 100G-network. User accounts for this platform can be obtained following the explanation on the previously cited homepage.
172172

173-
The interaction with the HACC-cluster can be simplified by using the sgutil-run time commands. They also allow to easily program the accelerator with a Coyote-bitstreamd and insert the driver. For this purpose, the scripts `util/program_hacc_local.sh` and `util/program_hacc_remote.sh` have been created. Under the assumption that the hardware-project has been created in `examples_hw/build` and the driver is already compiled in `driver`, the workflow should look like this:
173+
The interaction with the HACC-cluster can be simplified by using the hdev-run time commands. They also allow to easily program the accelerator with a Coyote-bitstreamd and insert the driver. For this purpose, the scripts `util/program_hacc_local.sh` and `util/program_hacc_remote.sh` have been created. Under the assumption that the hardware-project has been created in `examples_hw/build` and the driver is already compiled in `driver`, the workflow should look like this:
174174

175175
~~~
176176
$ bash util/program_hacc_local.sh examples_hw/build/bitstreams/cyt_top.bit driver/coyote_drv.ko

docs/source/hacc/index.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,28 +17,28 @@ In terms of networking communication, each Alveo cards has two 100 Gbps interfac
1717

1818
For a more detailed look at how ETHZ-HACC is organized you can check out the following link: `ETHZ-HACC <https://github.com/fpgasystems/hacc/blob/main/docs/infrastructure.md#infrastructure>`_.
1919

20-
SGRT - Systems Group RunTime
20+
hdev - HACC Development
2121
====================================
2222

23-
Systems Group RunTime (SGRT) is a versatile RunTime software ready to be used on any AMD-compatible heterogeneous cluster.
23+
HACC Development (hdev) is a versatile RunTime software ready to be used on any AMD-compatible heterogeneous cluster.
2424

25-
SGRT includes a command-line interpreter (CLI) and an API, both utilizing an intuitive device index to improve user workflow.
25+
hdev includes a command-line interpreter (CLI) and an API, both utilizing an intuitive device index to improve user workflow.
2626
The CLI simplifies infrastructure setup, validation, and device configuration, while the API streamlines accelerated application development, allowing users to focus on their primary objectives.
2727

28-
Using Coyote with SGRT
28+
Using Coyote with hdev
2929
------------------------
3030

31-
The SGRT provides a range of functions which can be used to quickly deploy Coyote on the HACC cluster.
31+
The hdev provides a range of functions which can be used to quickly deploy Coyote on the HACC cluster.
3232

3333
To load the initial static Coyote image the following command can be used:
3434

3535
.. code-block::
3636
37-
sgutil program vivado -d <device_id>
37+
hdev program vivado -d <device_id>
3838
3939
This will load the default bitstream obtained with the `static` example present in ``examples_hw``.
4040
This static layer will thus be the same no matter where the bitstream is built and the shell layers can be swapped on the fly.
4141

4242
The above command will also handle the hot-plug protocol which rescannes the interconnect, thus no additional warm reboots are necessary,
4343

44-
The SGRT provides additional helper features that you can use, like validation and building scripts.
44+
hdev provides additional helper features that you can use, like validation and building scripts.

util/insmod_local.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Script to set up IP and MAC address environment variables and insert the driver because environment is not initialized when executing through ssh from a remote server (environment is only initialized when MOTD is shown).
22

3-
CLI_PATH=/opt/sgrt/cli
3+
CLI_PATH=/opt/hdev/cli
44

5-
IP_address=$($CLI_PATH/sgutil get network -d 1 | awk '$1 == "1:" {print $2}')
6-
MAC_address=$($CLI_PATH/sgutil get network -d 1 | awk '$1 == "1:" {print $3}' | tr -d '()')
5+
IP_address=$($CLI_PATH/hdev get network -d 1 | awk '$1 == "1:" {print $2}')
6+
MAC_address=$($CLI_PATH/hdev get network -d 1 | awk '$1 == "1:" {print $3}' | tr -d '()')
77
qsfp_ip=$($CLI_PATH/common/address_to_hex IP $IP_address)
88
qsfp_mac=$($CLI_PATH/common/address_to_hex MAC $MAC_address)
99
echo "** IP_ADDRESS: $qsfp_ip"

util/program_hacc_local.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,14 @@ fi
3131

3232

3333
##
34-
## Program the FPGA via the sgutil call - only work locally for the server that you are currently logged in to
34+
## Program the FPGA via the hdev call - only work locally for the server that you are currently logged in to
3535
##
3636

3737
if [ $PROGRAM_FPGA -eq 1 ]; then
3838
echo "***"
3939
echo "** Programming the FPGA with $BIT_PATH"
4040
echo "***"
41-
sgutil program vivado -b $BIT_PATH
41+
hdev program vivado -b $BIT_PATH
4242
echo "***"
4343
echo "** FPGA programmed"
4444
echo "***"
@@ -56,8 +56,8 @@ if [ $DRV_INSERT -eq 1 ]; then
5656
echo "***"
5757
echo "** IP_ADDRESS: $DEVICE_1_IP_ADDRESS_HEX_0"
5858
echo "** MAC_ADDRESS: $DEVICE_1_MAC_ADDRESS_0"
59-
sgutil program driver -i $DRV_PATH -p ip_addr=$DEVICE_1_IP_ADDRESS_HEX_0,mac_addr=$DEVICE_1_MAC_ADDRESS_0
60-
# sgutil program driver -m $DRV_PATH
59+
hdev program driver -i $DRV_PATH -p ip_addr=$DEVICE_1_IP_ADDRESS_HEX_0,mac_addr=$DEVICE_1_MAC_ADDRESS_0
60+
# hdev program driver -m $DRV_PATH
6161
echo "***"
6262
echo "** Driver loaded "
6363
echo "***"

util/program_hacc_remote.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,7 @@ if [ $DRV_INSERT -eq 1 ]; then
100100

101101
echo "*** Rescan PCIe ..."
102102
echo " ** "
103-
#parallel-ssh -H "$hostlist" -x '-tt' 'sudo /opt/sgrt/cli/program/pci_hot_plug "$(hostname -s)"'
104-
parallel-ssh -H "$hostlist" -x '-tt' 'upstream_port=$(/opt/sgrt/cli/get/get_fpga_device_param 1 upstream_port) && root_port=$(/opt/sgrt/cli/get/get_fpga_device_param 1 root_port) && LinkCtl=$(/opt/sgrt/cli/get/get_fpga_device_param 1 LinkCtl) && sudo /opt/sgrt/cli/program/pci_hot_plug 1 $upstream_port $root_port $LinkCtl'
103+
parallel-ssh -H "$hostlist" -x '-tt' 'upstream_port=$(/opt/hdev/cli/get/get_fpga_device_param 1 upstream_port) && root_port=$(/opt/hdev/cli/get/get_fpga_device_param 1 root_port) && LinkCtl=$(/opt/hdev/cli/get/get_fpga_device_param 1 LinkCtl) && sudo /opt/hdev/cli/program/pci_hot_plug 1 $upstream_port $root_port $LinkCtl'
105104
# read -p "Hot-reset done. Press enter to load the driver or Ctrl-C to exit."
106105

107106
echo "*** Compiling the driver ..."

0 commit comments

Comments
 (0)