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

Attachment: 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

Reply via email to