That seems right, Tsung. The idea is that the # of CUs and the objects that 
interact with, or contain, the CUs must match certain ratios.

Can you post your changes as a full patch so I can review them?

-Tony

-----Original Message-----
From: gem5-dev <[email protected]> On Behalf Of Tsungtai Yeh
Sent: Wednesday, August 08, 2018 5:22 AM
To: [email protected]
Subject: Re: [gem5-dev] How to increase the default CU counts in GCN_X86 
gem5-apu?

The default value of the following options is 4. You have to change the default 
value to the number that is greater than 4 to scale CU count.

parser.add_option("-u", "--num-compute-units", type="int", default=32,

                  help="number of GPU compute units") 
parser.add_option("--cu-per-sqc", type="int", default=32, help="number of CUs" \

                  "sharing an SQC (icache, and thus icache TLB)") 
parser.add_option("--simds-per-cu", type="int", default=32, help="SIMD units" \
                  "per CU")
parser.add_option('--cu-per-sa', type='int', default=32,
                  help='Number of CUs per shader array. This must be a '

                  'multiple of options.cu-per-sqc and options.cu-per-scalar')

These four options have to be changed at the same time. Otherwise, the 
segmentation fault will be raised.
________________________________
From: Tsungtai Yeh
Sent: Wednesday, August 8, 2018 8:17:48 AM
To: [email protected]
Subject: Re: [gem5-dev] How to increase the default CU counts in GCN_X86 
gem5-apu?


The default value of the following options is 4. You have to change the default 
value to the number that is greater than 4 to scale CU count.


parser.add_option("-u", "--num-compute-units", type="int", default=32,

                  help="number of GPU compute units")

parser.add_option("--cu-per-sqc", type="int", default=32, help="number of CUs" \

                  "sharing an SQC (icache, and thus icache TLB)")

parser.add_option("--simds-per-cu", type="int", default=32, help="SIMD units" \

                  "per CU")

parser.add_option('--cu-per-sa', type='int', default=32,

                  help='Number of CUs per shader array. This must be a '

                  'multiple of options.cu-per-sqc and options.cu-per-scalar')


________________________________
From: Tsungtai Yeh
Sent: Monday, August 6, 2018 9:19:14 AM
To: [email protected]
Subject: Re: [gem5-dev] How to increase the default CU counts in GCN_X86 
gem5-apu?


I found I have to change the following options to increase the number of CUs in 
GCN_X86.

--num-compute-units

--cu-per-sqc

--cu-per-scalar-cache

--simds-per-cu

--cu-per-sa



________________________________
From: Tsungtai Yeh
Sent: Saturday, July 28, 2018 8:40:30 PM
To: [email protected]
Subject: Re: [gem5-dev] How to increase the default CU counts in GCN_X86 
gem5-apu?

I changed the default value of “—num-compute-units” to 8 in apu_se.py. I still 
got the segmentation fault. The following is the trace from gem5 simulation. 
The 8 CUs are initialized successfully, but get the failure during the 
instruction fetching stage. — Tsung Tai parser.add_option("-u", 
"--num-compute-units", type="int", default=8,
                  help="number of GPU compute units")

51620963000: system.cpu2.CUs0: trueWgSize[0] =  256
51620963000: system.cpu2.CUs0: trueWgSize[1] =  1
51620963000: system.cpu2.CUs0: trueWgSize[2] =  1
51620963000: system.cpu2.CUs0: trueWgSizeTotal =  256
51620963000: system.cpu2.CUs0: Free WF slots =  36, Mapped WFs = 0,             
VGPR Availability = 0, SGPR Availability = 0
51620963000: system.cpu2.CUs1: trueWgSize[0] =  256
51620963000: system.cpu2.CUs1: trueWgSize[1] =  1
51620963000: system.cpu2.CUs1: trueWgSize[2] =  1
51620963000: system.cpu2.CUs1: trueWgSizeTotal =  256
51620963000: system.cpu2.CUs1: Free WF slots =  36, Mapped WFs = 0,             
VGPR Availability = 0, SGPR Availability = 0
51620963000: system.cpu2.CUs2: trueWgSize[0] =  256
51620963000: system.cpu2.CUs2: trueWgSize[1] =  1
51620963000: system.cpu2.CUs2: trueWgSize[2] =  1
51620963000: system.cpu2.CUs2: trueWgSizeTotal =  256
51620963000: system.cpu2.CUs2: Free WF slots =  36, Mapped WFs = 0,             
VGPR Availability = 0, SGPR Availability = 0
51620963000: system.cpu2.CUs3: trueWgSize[0] =  256
51620963000: system.cpu2.CUs3: trueWgSize[1] =  1
51620963000: system.cpu2.CUs3: trueWgSize[2] =  1
51620963000: system.cpu2.CUs3: trueWgSizeTotal =  256
51620963000: system.cpu2.CUs3: Free WF slots =  36, Mapped WFs = 0,             
VGPR Availability = 0, SGPR Availability = 0
51620963000: system.cpu2.CUs4: trueWgSize[0] =  256
51620963000: system.cpu2.CUs4: trueWgSize[1] =  1
51620963000: system.cpu2.CUs4: trueWgSize[2] =  1
51620963000: system.cpu2.CUs4: trueWgSizeTotal =  256
51620963000: system.cpu2.CUs4: Free WF slots =  36, Mapped WFs = 0,             
VGPR Availability = 0, SGPR Availability = 0
51620963000: system.cpu2.CUs5: trueWgSize[0] =  256
51620963000: system.cpu2.CUs5: trueWgSize[1] =  1
51620963000: system.cpu2.CUs5: trueWgSize[2] =  1
51620963000: system.cpu2.CUs5: trueWgSizeTotal =  256
51620963000: system.cpu2.CUs5: Free WF slots =  36, Mapped WFs = 0,             
VGPR Availability = 0, SGPR Availability = 0
51620963000: system.cpu2.CUs6: trueWgSize[0] =  256
51620963000: system.cpu2.CUs6: trueWgSize[1] =  1
51620963000: system.cpu2.CUs6: trueWgSize[2] =  1
51620963000: system.cpu2.CUs6: trueWgSizeTotal =  256
51620963000: system.cpu2.CUs6: Free WF slots =  36, Mapped WFs = 0,             
VGPR Availability = 0, SGPR Availability = 0
51620963000: system.cpu2.CUs7: trueWgSize[0] =  256
51620963000: system.cpu2.CUs7: trueWgSize[1] =  1
51620963000: system.cpu2.CUs7: trueWgSize[2] =  1
51620963000: system.cpu2.CUs7: trueWgSizeTotal =  256
51620963000: system.cpu2.CUs7: Free WF slots =  36, Mapped WFs = 0,             
VGPR Availability = 0, SGPR Availability = 0
51620963000: system.cpu0.workload.drivers.device.dispatcher: kernel 0 failed to 
launch
51620963000: system.cpu0.workload.drivers.device.dispatcher: Returning 0 Kernels
51620964000: global: WF[0][0]: Id28 reserved fetch buffer entry for PC = 
0x7ffeebde9100
51620964000: global: CU7: WF[0][0]: Id28: Initiate fetch from pc: 
140732855652608 0x7ffeebde9100
51620964000: global: CU7: WF[0][0]: Initiating fetch translation: 0x7ffeebde9100
gem5 has encountered a segmentation fault!
________________________________
From: Tsungtai Yeh
Sent: Friday, July 27, 2018 7:20:55 AM
To: [email protected]
Cc: [email protected]
Subject: [gem5-dev] How to increase the default CU counts in GCN_X86 gem5-apu?


I tried to increase the CU counts to 32 in the gem5-apu. However, I found I 
could not only increase "--num-compute-units" default count (4). Do you know 
any other parameters I also need to change when increasing the CU counts? Thank 
you.
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to