Files
gem5/util/dockerfiles/gcn-gpu
Kyle Roarty 0a494822fd util: Update ROCm to 1.6.4 in gcn Dockerfile, install HIP by .deb
Previously, we were using ROCm 1.6.2 as there were issues with some of
the machine learning applications that weren't present on 1.6.2.
However, after re-running them we've found that they, and all other
applications previously tested, run to completion.

Additionally, there have been patches to enable BLIT kernels which made
it so we no longer need to build HIP and MIOpen differently for APU and
DGPU code. This allows us to install HIP directly from the .deb packages
instead of from source. Installing from the .deb packages also avoid the
hipDeviceSynchronize() bug. Finally, this makes it so most GPU programs
can be run as-is without modifications to remove hipMalloc/hipMemcpy
calls as was done previously.

Change-Id: Ic61b09ed200b19f759d891487cde874abd607537
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/37675
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
2020-12-01 19:20:03 +00:00
..

gcn3-gpu dockerfile

This dockerfile contains all the dependences necessary to run GPU applications in gem5 using the gcn3 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/GCN3_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/GCN3_X86/gem5.opt configs/example/apu_se.py -n2 --benchmark-root=/ -cMatrixTranspose

Notes

  • When using the -v flag, 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