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.

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 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
_______________________________________________
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