$ git submodule update --init --recursive -f$ make build-containerFollow either of the two methods below to build gpuagent and gpuctl binaries
vendor setup workspace for manual building (required once)
-
choose build/developer environment
- rhel9
[user@host]# GPUAGENT_BLD_CONTAINER_IMAGE=gpuagent-builder-rhel:9 make docker-shell- ubuntu 22.04
[user@host]# GPUAGENT_BLD_CONTAINER_IMAGE=gpuagent-bldr-ubuntu:22.04 make docker-shell -
golang dependency setup (required once)
[user@build-container ]# make gopkglist -
golang vendor setup
[user@build-container ]# cd sw/nic/gpuagent/ [user@build-container ]# go mod vendor
-
bild gpuagent (within build-container)
[user@build-container ]# make
Choose build base os
-
rhel9
[user@host]# GPUAGENT_BLD_CONTAINER_IMAGE=gpuagent-builder-rhel:9 make gpuagent -
ubuntu 22.04
[user@host]# GPUAGENT_BLD_CONTAINER_IMAGE=gpuagent-bldr-ubuntu:22.04 make gpuagent
- gpuagent binary can be found at - ${TOP_DIR}/sw/nic/build/x86_64/sim/bin/gpuagent
- gpuctl binary can be found at - ${TOP_DIR}/sw/nic/build/x86_64/sim/bin/gpuctl
[root@dev gpu-agent]# make -C sw/nic/gpuagent clean
[root@dev gpu-agent]# - For updating any amdsmi library to any other version, make sure the libamdsmi.so libraries are built correctly and are available in sw/nic/build/x86_64/sim/lib/ path. These are required during runtime, mismatch in library version may lead to runtime issues. These libraries are built from amdsmi git. The commit/tag the current gpuagent is built on can be found in file
- apply patches on amdsmi found in here
- amdsmi build instructions are available here
- If you face any issue with golang dependencies, re-run
make gopkglistandgo mod vendorcommand. - some go files are generated during build time, if you face any issue related to missing files, run
make gpuagentcommand within build-container, then re-rungo mod vendorcommand.