Two faults: 1. You can't give description the docker-bake file for single platform builds. They must be in the Dockerfile.. 2. The gpu docker image def in docker-bake.hcl was not overriding the "common" setttings as previously thought. This was causing builds to something build the wrong platform and vairous other weird bugs. This has been fixed in this patch.
gcn-gpu dockerfile
This dockerfile contains all the dependences necessary to run GPU applications in gem5 using the gcn5 (Vega) APU model
Building the image
docker build -t <image_name> .
Building gem5 using the image
The following command assumes the gem5 directory is a subdirectory of your current directory
docker run --rm -v $PWD/gem5:/gem5 -w /gem5 <image_name> scons -sQ -j$(nproc) build/VEGA_X86/gem5.opt
Test gem5 using a prebuilt application
wget http://dist.gem5.org/dist/current/test-progs/hip_sample_bins/MatrixTranspose
docker run --rm -v $PWD/MatrixTranspose:/MatrixTranspose -v $PWD/public_gem5:/gem5 -w /gem5 \
<image_name> build/VEGA_X86/gem5.opt configs/example/apu_se.py -n2 --benchmark-root=/ -cMatrixTranspose
Notes
- When using the
-vflag, the path to the input file/directory needs to be the absolute path; symlinks don't work - Currently linking in an AFS volume is not supported, as it uses ACLs instead of owner/group IDs
ToDo
- Add square to gem5-resources github, add directions for building and running an application