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
