Hello Gabriel I have been debugging and delving into more details of the code for CHI.py and CHI_config.py. In the attached Winrar archive are the latest customised versions of CHI.py and CHI_config.py that I have generated to date.
When defining one cluster with N x CPUs and checking the config.ini file, I noticed that the L2$ generated was a private one for each CPU in the cluster as opposed to the L2$ being shared between the CPUs in the cluster (this was making use of CHI_config.CHI_RNF() CHI_config.CHI_RNF.addPrivL2Cache()) Therefore, in CHI_config.py, I took a copy of CHI_RNF() class object and 1) Renamed it CHI_RNF_CLUST_SHARED_L2 2) Generated a new method, CHI_RNF_CLUST_SHARED_L2.addSharedL2Cache() The run script I am using being: ./build/ARM/gem5.opt configs/example/se_kirin_custom.py --ruby --topology=Pt2Pt --cpu-type=DerivO3CPU --num-cpus=4 --num-dirs=1 --n um-l3caches=1 --num-cpu-bigclust=0 --num-cpu-middleclust=0 --num-cpu-littleclust=4 --num-clusters=1 --cpu-type-bigclust=derivo3 --c pu-type-middleclust=hpi --cpu-type-littleclust=timesimple --bigclust-l2cache=shared --middleclust-l2cache=shared --littleclust-l2c ache=shared --num-bigclust-subclust=1 --num-middleclust-subclust=1 --num-littleclust-subclust=1 --cmd=tests/test-progs/hello/bin/ar m/linux/hello This defines one cluster (littleCluster) with four CPUs. Each CPU has its private & split L1 cache. Furthermore, it defines a shared L2 cache, shared amongst the 4 CPUs in the cluster. The HelloWorld program completes okay. But checking the config.ini file (in the attachment), 1) Can see the 4 x CPUs with their private L1 caches 2) Cannot see the shared L2 cache which should be associated with the littleCluster. Any insight into why I am unable to implement the shared L2Cache would be much appreciated. Thanks in advance JO -----Original Message----- From: Javed Osmany Sent: 12 July 2021 09:29 To: gem5 users mailing list <gem5-users@gem5.org> Cc: Gabriel Busnot <gabriel.bus...@arteris.com>; Javed Osmany <javed.osm...@huawei.com> Subject: RE: [gem5-users] Re: CHI - Cluster CPUs having a private L2 cache Hello Gabriel Thank you for your reply. Will realise your suggestions. Best regards JO -----Original Message----- From: Gabriel Busnot via gem5-users [mailto:gem5-users@gem5.org] Sent: 12 July 2021 09:23 To: gem5-users@gem5.org<mailto:gem5-users@gem5.org> Cc: Gabriel Busnot <gabriel.bus...@arteris.com<mailto:gabriel.bus...@arteris.com>> Subject: [gem5-users] Re: CHI - Cluster CPUs having a private L2 cache Hi Javed, This looks fine to me, at least regarding L2s being private. CHI_config.py:538 in the line where you instantiate a cache memory per CPU and CHI_config.py:557 is the line where you instantiate the CHI ruby controller that makes use of that cache memory instance. One way to check if two python variables point to the same instance or not is to test them with "is": ((a is b) == True) means that a and b are the same object. (a is not b) is the test syntax you want to test for non-identity. Just check that ruby_system.littleCluster._cpus[i].l2 as well as ruby_system.littleCluster._cpus[i].l2.cache are different for all i. Best, Gabriel _______________________________________________ gem5-users mailing list -- gem5-users@gem5.org<mailto:gem5-users@gem5.org> To unsubscribe send an email to gem5-users-le...@gem5.org<mailto:gem5-users-le...@gem5.org> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
chi_one_cluster_four_cpu_shared_l2.rar
Description: chi_one_cluster_four_cpu_shared_l2.rar
_______________________________________________ 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