[AMD Public Use]

Hi Yichen,


Based on the changes I see you've made, it seems like you are using an older 
version of gem5.  These should all be fixed, including the error you are 
seeing, on the tip of develop.

Keep in mind GCN3 was not officially part of the gem5 20.1 release, so the most 
up to date version is on the develop branch until the next gem5 release.


-Matt

From: Yichen Yang via gem5-users <gem5-users@gem5.org>
Sent: Friday, November 6, 2020 11:34 AM
To: gem5-users@gem5.org
Cc: Yichen Yang <yang...@umich.edu>
Subject: [gem5-users] gem5 GCN3 GPU model running issues

[CAUTION: External Email]
Hi,

I was trying to run gem5 with its GCN3 GPU model following the instructions on 
https://www.gem5.org/documentation/general_docs/gpu_models/GCN3<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.gem5.org%2Fdocumentation%2Fgeneral_docs%2Fgpu_models%2FGCN3&data=04%7C01%7Cmatthew.poremba%40amd.com%7C0142b05660bf49b3b16f08d8828b3bf3%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637402881812060462%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=vG01%2FQpQFyGqwnDvZrc1U%2FsX2rpxM2oE5PMdwJPeER0%3D&reserved=0>.

I fixed some bugs in the code but still cannot run the example. I attached 
commands and bugs I fixed below.

The simulator launched and running into this problem:
Program Started!
info: running on device
info: architecture on AMD GPU device is: 801
info: allocate host mem (  7.63 MB)
info: launch 'vector_square' kernel
panic: panic condition availableTokens > maxTokens occurred: More tokens 
available than the maximum after recvTokens!
Memory Usage: 1737788 KBytes
Program aborted at tick 137231963000

Is there anything I did incorrectly?

Thanks!
Best, Yichen

To be specific, I use the following command:
## build docker
docker build -t gcn3-test gem5/util/dockerfiles/gcn-gpu
## make gem5
docker run --rm -v $PWD/gem5:/gem5 -w /gem5 gcn3-test scons -sQ -j$(nproc) 
build/GCN3_X86/gem5.opt
## make application
docker run --rm -v $PWD/gem5-resources:/gem5-resources -w /gem5-resources -u 
$UID:$GID \
                
gcr.io/gem5-test/gcn-gpu<https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgcr.io%2Fgem5-test%2Fgcn-gpu&data=04%7C01%7Cmatthew.poremba%40amd.com%7C0142b05660bf49b3b16f08d8828b3bf3%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637402881812060462%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=VAv23aZVcjdHlvGcSrHjkaGD181UieigUCXD7O1T8TI%3D&reserved=0>
 make gfx8-apu -C /gem5-resources/src/square
## run gem5
docker run --rm -v $PWD/gem5:/gem5 -v $PWD/gem5-resources:/gem5-resources \
                -w /gem5 gcn3-test \
                build/GCN3_X86/gem5.opt configs/example/apu_se.py -n2 \
                --benchmark-root=/gem5-resources/src/square/bin \
                -c square.o

And here's the bugs I fixed:
diff --git a/configs/example/apu_se.py b/configs/example/apu_se.py
index 03418c3..a285a14 100644
--- a/configs/example/apu_se.py
+++ b/configs/example/apu_se.py
@@ -174,7 +174,7 @@ parser.add_option("--numLdsBanks", type="int", default=32,
                   help="number of physical banks per LDS module")
 parser.add_option("--ldsBankConflictPenalty", type="int", default=1,
                   help="number of cycles per LDS bank conflict")
-parser.add_options("--lds-size", type="int", default=65536,
+parser.add_option("--lds-size", type="int", default=65536,
                    help="Size of the LDS in bytes")
 parser.add_option('--fast-forward-pseudo-op', action='store_true',
                   help = 'fast forward using kvm until the m5_switchcpu'
diff --git a/src/gpu-compute/compute_unit.hh b/src/gpu-compute/compute_unit.hh
index fe2091d..2df4807 100644
--- a/src/gpu-compute/compute_unit.hh
+++ b/src/gpu-compute/compute_unit.hh
@@ -1015,6 +1015,8 @@ class ComputeUnit : public ClockedObject
             return sqcTLBPort;
         } else if (if_name == "ldsPort") {
             return ldsPort;
+        } else if (if_name == "gmTokenPort") {
+            return gmTokenPort;
         } else {
             return ClockedObject::getPort(if_name, idx);
         }

--

Yichen Yang

University of Michigan

Ph.D. Student in Computer Science and Engineering

Address: 2260 Hayward St, Ann Arbor, MI 48109, U.S.A.

E-mail: yang...@umich.edu<mailto:yang...@umich.edu>
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to