[gem5-dev] Re: [gem5-users] Garnet Network Interface connection to Protocol Controllers

2020-04-23 Thread Krishna, Tushar via gem5-dev
Hmm this info might be available when you see the config file - am not entirely 
sure. Alternately, there should be a way to snoop the Msg going out of / in to 
the NIC and display the name of the controller.
Note that the order in which you connect the controllers in the topology file 
is the order in which the NI IDs get created.
For eg., if you were to use MOESI_hammer protocol with MeshDirCorners_XY.py for 
say a 8x8 mesh, NIs 0 to 63 correspond to cache controllers and NIs 64 to 67 
correspond to directory controllers.

Tushar
On Apr 23, 2020, 11:32 PM -0400, Arun Mishra , 
wrote:
That makes things a lot easier. Thank you.

A follow up question :
Where should I look if I want to identify the specific Controller connected
to a NI. I would like to identify a NI's corresponding controller by a name
and a number, e.g. CPCntrl0, L3Cntrl1 etc.

Regards,
Arun Mishra

[https://ipmcdn.avast.com/images/icons/icon-envelope-tick-green-avg-v1.png]<http://www.avg.com/email-signature?utm_medium=email_source=link_campaign=sig-email_content=webmail>
 Virus-free. 
www.avg.com<http://www.avg.com/email-signature?utm_medium=email_source=link_campaign=sig-email_content=webmail>

On Thu, Apr 23, 2020 at 11:12 PM Krishna, Tushar 
mailto:tus...@ece.gatech.edu>> wrote:
Each controller creates one NI. Multiple NIs connect to the same router within 
the NoC.
So you can collect controller specific network stats from the NI it is 
connected to.

Best,
Tushar

On Apr 23, 2020, 11:09 PM -0400, Arun Mishra via gem5-users 
mailto:gem5-us...@gem5.org>>, wrote:
Hi All,

In Garnet, is a single Network Interface object (NI) connected to a single 
Protocol Controller (e.g. Directory Controller, Cache Ctrl, Core pair Ctrl) or 
is connection to multiple controllers possible ?

I am asking this because I need to collect some controller specific network 
stats and I want to know if there is a way to separate out the stats based on 
the NI it is connected with. Otherwise, is there a better way of collecting per 
controller network stats ?

Thank You,
Arun Mishra

[https://ipmcdn.avast.com/images/icons/icon-envelope-tick-green-avg-v1.png]<http://www.avg.com/email-signature?utm_medium=email_source=link_campaign=sig-email_content=webmail>
 Virus-free. 
www.avg.com<http://www.avg.com/email-signature?utm_medium=email_source=link_campaign=sig-email_content=webmail>
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s


[gem5-dev] Re: [gem5-users] Garnet Network Interface connection to Protocol Controllers

2020-04-23 Thread Krishna, Tushar via gem5-dev
Each controller creates one NI. Multiple NIs connect to the same router within 
the NoC.
So you can collect controller specific network stats from the NI it is 
connected to.

Best,
Tushar

On Apr 23, 2020, 11:09 PM -0400, Arun Mishra via gem5-users 
, wrote:
Hi All,

In Garnet, is a single Network Interface object (NI) connected to a single 
Protocol Controller (e.g. Directory Controller, Cache Ctrl, Core pair Ctrl) or 
is connection to multiple controllers possible ?

I am asking this because I need to collect some controller specific network 
stats and I want to know if there is a way to separate out the stats based on 
the NI it is connected with. Otherwise, is there a better way of collecting per 
controller network stats ?

Thank You,
Arun Mishra

[https://ipmcdn.avast.com/images/icons/icon-envelope-tick-green-avg-v1.png]
 Virus-free. 
www.avg.com
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s


[gem5-dev] Garnet2.0 released

2016-10-10 Thread Krishna, Tushar
Hi gem5 users and developers,
I am pleased to announce the release of Garnet2.0 inside gem5!
Garnet2.0 replaces the original garnet network model within Ruby.

Note:
This change only affects users of the Ruby memory system (not the classic 
memory system).
Moreover, the default network model within Ruby continues to be the “simple" 
network.

Those of you wishing to pull out the old garnet code should clone -r 11659.

Key features of garnet2.0:
- single-cycle optimized router (by default).
- ability to model heterogeneous topologies with different latencies in each 
router.
- support in the topology and in garnet2.0 for modeling custom routing 
algorithms.
- more stats.
- cleaner code and better documentation.

The goal is to model cycle-by-cycle contention at routers, and providing close 
to the flexibility/speed of the simple network.

Details on the Model
More details on the model and how to invoke it it can be found here:
http://www.gem5.org/Interconnection_Network
http://www.gem5.org/Garnet2.0

Running Garnet in a standalone manner with synthetic traffic:
The code for running Garnet2.0 in a standalone manner with synthetic traffic 
has also been revamped, and more synthetic traffic patterns have been added.
http://www.gem5.org/Garnet_Synthetic_Traffic

As part of the Garnet2.0 development, some key changes across Ruby are:
- A new network configuration file: configs/network/Network.py for network 
specific parameters (earlier this was all in configs/ruby/Ruby.py).
- Uni-directional links between routers within the topology files (to allow 
per-direction weights for routing algorithms)
- Mesh-based topology files are now associated with a routing algorithm based 
on weights on each link. For instance: Mesh_XY, Mesh_westfirst, …

More updates with advanced features will periodically be pushed into the repo.
Please let me know if you face any issues.

Cheers,
Tushar


Tushar Krishna
Assistant Professor
School of Electrical and Computer Engineering
School of Computer Science (Adjunct)
Georgia Institute of Technology
Atlanta, GA 30332-0250
Office: KACB 2318
Phone: 404-894-9483
Email: tus...@ece.gatech.edu
Web: tusharkrishna.ece.gatech.edu

___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 3647: ruby: Fix broken regressions

2016-10-07 Thread Krishna, Tushar
Hi Brandon, Anthony,
Turned out to be a typo (dst_node was written as dst_node_) in the Cluster 
topology which is only used by APUs - hence I didn’t end up catching it when 
testing my patches earlier with other protocols.
I have fixed it and tested that it works. I have pushed the patch.

Cheers,
Tushar


> On Oct 7, 2016, at 7:26 PM, Gutierrez, Anthony <anthony.gutier...@amd.com> 
> wrote:
> 
> Thanks, Tushar.
> 
> -Original Message-
> From: gem5-dev [mailto:gem5-dev-boun...@gem5.org] On Behalf Of Krishna, Tushar
> Sent: Friday, October 07, 2016 4:01 PM
> To: gem5 Developer List <gem5-dev@gem5.org>
> Subject: Re: [gem5-dev] Review Request 3647: ruby: Fix broken regressions
> 
> Thanks.
> I see the error too now. 
> It looks like the CPU-GPU system creates the topology in a somewhat different 
> manner than the pure CPU protocols that I am familiar with (and tested all my 
> changes with).
> Let me dig deeper into it and then send out a patch.
> 
> Thanks,
> Tushar
> 
> 
>> On Oct 7, 2016, at 6:37 PM, Gutierrez, Anthony <anthony.gutier...@amd.com> 
>> wrote:
>> 
>> You can reproduce the error if you run apu_se.py by hand. For example:
>> 
>> # build the HSAIL GPU
>> scons -jN ./build/HSAIL_X86/gem5.opt
>> 
>> # run the GPU hello test
>> ./build/HSAIL_X86/gem5.opt configs/example/apu_se.py -c 
>> tests/test-progs/gpu-hello/bin/x86/linux/gpu-hello -k 
>> tests/test-progs/gpu-hello/bin/x86/linux/gpu-hello-kernel.asm
>> 
>> -Original Message-
>> From: gem5-dev [mailto:gem5-dev-boun...@gem5.org] On Behalf Of 
>> Krishna, Tushar
>> Sent: Friday, October 07, 2016 3:26 PM
>> To: gem5 Developer List <gem5-dev@gem5.org>
>> Subject: Re: [gem5-dev] Review Request 3647: ruby: Fix broken 
>> regressions
>> 
>> Hi Brandon,
>> SimpleIntLink inherits from BasicIntLink (which defines dst_node) so this 
>> error shouldn’t ideally show up. I don’t see it when I run the simple 
>> network.
>> Can you tell me what command you ran?
>> I’ll try reproducing and debugging it on my end.
>> 
>> Cheers,
>> Tushar
>> 
>> 
>>> On Oct 7, 2016, at 6:15 PM, Andreas Hansson <andreas.hans...@arm.com> wrote:
>>> 
>>> 
>>> 
>>>> On Oct. 7, 2016, 10:04 p.m., Brandon Potter wrote:
>>>>> I'm noticing that this patch doesn't completely fix the regressions on 
>>>>> its own. There are still two failures that I'm seeing with it applied 
>>>>> (although they may be unrelated, not sure):
>>>>> 
>>>>> `cat
>>>>> build/HSAIL_X86/tests/opt/quick/se/04.gpu/x86/linux/gpu-ruby-GPU_Rf
>>>>> O
>>>>> /simerr`
>>>>> 
>>>>> warn: add_child('dst_node_'): child 'int_node' already has parent
>>>>> warn: add_child('dst_node_'): child 'int_node' already has parent
>>>>> warn: add_child('dst_node_'): child 'int_node' already has parent
>>>>> warn: add_child('dst_node_'): child 'dst_node_' already has parent 
>>>>> Traceback (most recent call last):
>>>>> File "", line 1, in   File 
>>>>> "/home/bpotter/Research/gem5/gem5-public-process/src/python/m5/main.py", 
>>>>> line 400, in main
>>>>>  exec filecode in scope
>>>>> File 
>>>>> "/home/bpotter/Research/gem5/gem5-public-process/tests/testing/../run.py",
>>>>>  line 184, in 
>>>>>  execfile(joinpath(tests_root, 'configs', test_filename + '.py')) 
>>>>> File 
>>>>> "/home/bpotter/Research/gem5/gem5-public-process/tests/testing/../configs/gpu-ruby.py",
>>>>>  line 282, in 
>>>>>  Ruby.create_system(options, None, system)  File 
>>>>> "/home/bpotter/Research/gem5/gem5-public-process/configs/ruby/Ruby.py", 
>>>>> line 175, in create_system
>>>>>  Network.init_network(options, network, InterfaceClass)  File 
>>>>> "/home/bpotter/Research/gem5/gem5-public-process/configs/network/Network.py",
>>>>>  line 108, in init_network
>>>>>  network.setup_buffers()
>>>>> File 
>>>>> "/home/bpotter/Research/gem5/gem5-public-process/src/mem/ruby/network/simple/SimpleNetwork.py",
>>>>>  line 62, in setup_buffers
>>>>>  if link.dst_node == router:
>>>>> File 
>>>>> "/home/bpotter/Research/gem5/gem5-public-process/src/python/m5/SimObject.py",

Re: [gem5-dev] Review Request 3647: ruby: Fix broken regressions

2016-10-07 Thread Krishna, Tushar
Hi Brandon,
SimpleIntLink inherits from BasicIntLink (which defines dst_node) so this error 
shouldn’t ideally show up. I don’t see it when I run the simple network.
Can you tell me what command you ran?
I’ll try reproducing and debugging it on my end.

Cheers,
Tushar


> On Oct 7, 2016, at 6:15 PM, Andreas Hansson  wrote:
> 
> 
> 
>> On Oct. 7, 2016, 10:04 p.m., Brandon Potter wrote:
>>> I'm noticing that this patch doesn't completely fix the regressions on its 
>>> own. There are still two failures that I'm seeing with it applied (although 
>>> they may be unrelated, not sure):
>>> 
>>> `cat 
>>> build/HSAIL_X86/tests/opt/quick/se/04.gpu/x86/linux/gpu-ruby-GPU_RfO/simerr`
>>> 
>>> warn: add_child('dst_node_'): child 'int_node' already has parent
>>> warn: add_child('dst_node_'): child 'int_node' already has parent
>>> warn: add_child('dst_node_'): child 'int_node' already has parent
>>> warn: add_child('dst_node_'): child 'dst_node_' already has parent
>>> Traceback (most recent call last):
>>>  File "", line 1, in 
>>>  File 
>>> "/home/bpotter/Research/gem5/gem5-public-process/src/python/m5/main.py", 
>>> line 400, in main
>>>exec filecode in scope
>>>  File 
>>> "/home/bpotter/Research/gem5/gem5-public-process/tests/testing/../run.py", 
>>> line 184, in 
>>>execfile(joinpath(tests_root, 'configs', test_filename + '.py'))
>>>  File 
>>> "/home/bpotter/Research/gem5/gem5-public-process/tests/testing/../configs/gpu-ruby.py",
>>>  line 282, in 
>>>Ruby.create_system(options, None, system)
>>>  File 
>>> "/home/bpotter/Research/gem5/gem5-public-process/configs/ruby/Ruby.py", 
>>> line 175, in create_system
>>>Network.init_network(options, network, InterfaceClass)
>>>  File 
>>> "/home/bpotter/Research/gem5/gem5-public-process/configs/network/Network.py",
>>>  line 108, in init_network
>>>network.setup_buffers()
>>>  File 
>>> "/home/bpotter/Research/gem5/gem5-public-process/src/mem/ruby/network/simple/SimpleNetwork.py",
>>>  line 62, in setup_buffers
>>>if link.dst_node == router:
>>>  File 
>>> "/home/bpotter/Research/gem5/gem5-public-process/src/python/m5/SimObject.py",
>>>  line 1105, in __getattr__
>>>raise AttributeError, err_string
>>> AttributeError: object 'SimpleIntLink' has no attribute 'dst_node'
>>>  (C++ object is not yet constructed, so wrapped C++ methods are 
>>> unavailable.)
>>> 
>>> `cat 
>>> build/HSAIL_X86/tests/opt/quick/se/60.gpu-randomtest/x86/linux/gpu-randomtest-ruby-GPU_RfO/simerr`
>>> 
>>> warn: add_child('dst_node_'): child 'int_node' already has parent
>>> warn: add_child('dst_node_'): child 'int_node' already has parent
>>> warn: add_child('dst_node_'): child 'int_node' already has parent
>>> warn: add_child('dst_node_'): child 'dst_node_' already has parent
>>> Traceback (most recent call last):
>>>  File "", line 1, in 
>>>  File 
>>> "/home/bpotter/Research/gem5/gem5-public-process/src/python/m5/main.py", 
>>> line 400, in main
>>>exec filecode in scope
>>>  File 
>>> "/home/bpotter/Research/gem5/gem5-public-process/tests/testing/../run.py", 
>>> line 184, in 
>>>execfile(joinpath(tests_root, 'configs', test_filename + '.py'))
>>>  File 
>>> "/home/bpotter/Research/gem5/gem5-public-process/tests/testing/../configs/gpu-randomtest-ruby.py",
>>>  line 104, in 
>>>Ruby.create_system(options, False, system)
>>>  File 
>>> "/home/bpotter/Research/gem5/gem5-public-process/configs/ruby/Ruby.py", 
>>> line 175, in create_system
>>>Network.init_network(options, network, InterfaceClass)
>>>  File 
>>> "/home/bpotter/Research/gem5/gem5-public-process/configs/network/Network.py",
>>>  line 108, in init_network
>>>network.setup_buffers()
>>>  File 
>>> "/home/bpotter/Research/gem5/gem5-public-process/src/mem/ruby/network/simple/SimpleNetwork.py",
>>>  line 62, in setup_buffers
>>>if link.dst_node == router:
>>>  File 
>>> "/home/bpotter/Research/gem5/gem5-public-process/src/python/m5/SimObject.py",
>>>  line 1105, in __getattr__
>>>raise AttributeError, err_string
>>> AttributeError: object 'SimpleIntLink' has no attribute 'dst_node'
>>>  (C++ object is not yet constructed, so wrapped C++ methods are 
>>> unavailable.)
> 
> I would think this is "unrelated" in that it has nothing to do with the 
> import of Network.
> 
> 
> - Andreas
> 
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/3647/#review8790
> ---
> 
> 
> On Oct. 7, 2016, 5:29 p.m., Andreas Hansson wrote:
>> 
>> ---
>> This is an automatically generated e-mail. To reply, visit:
>> http://reviews.gem5.org/r/3647/
>> ---
>> 
>> (Updated Oct. 7, 2016, 5:29 p.m.)
>> 
>> 
>> Review request for Default.
>> 
>> 
>> Repository: gem5
>> 
>> 
>> Description
>> ---
>> 
>> Changeset 

[gem5-dev] Error uploading images to the gem5 wiki

2016-10-04 Thread Krishna, Tushar
Hi all,
I have been getting the following error when trying to upload an image to the 
gem5 wiki:

Warning: 
fopen(/z/www/htdocs/wiki/images/lockdir/jny8zw5whr3mvxbze7rj32hk8ghgbgf.lock): 
failed to open stream: Permission denied in 
/z/www/htdocs/wiki/includes/filebackend/lockmanager/FSLockManager.php on line 
125
[51edc250] 2016-10-02 20:30:33: Fatal exception of type “MWException"

The solution seems to be to add the following to the localSettings.php file in 
the mediawiki folder on the server hosting the wiki:
$wgLocalisationUpdateDirectory = "$IP/cache";

Who is managing the wiki?

Thanks,
Tushar
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 3558: ruby: garnet2.0

2016-10-03 Thread Krishna, Tushar
Hi Jieming,
I have been updating the wiki so that I can point to it as soon as I release 
the patches.
I am having trouble uploading images to the wiki. I get this error:

Warning: 
fopen(/z/www/htdocs/wiki/images/lockdir/jny8zw5whr3mvxbze7rj32hk8ghgbgf.lock): 
failed to open stream: Permission denied in 
/z/www/htdocs/wiki/includes/filebackend/lockmanager/FSLockManager.php on line 
125
[51edc250] 2016-10-02 20:30:33: Fatal exception of type "MWException"

It seems to be from the server hosting the wiki.
Do you know how to resolve this?

Thanks,
Tushar



On Oct 3, 2016, at 1:55 PM, Jieming Yin 
<bjm...@gmail.com<mailto:bjm...@gmail.com>> wrote:

Hi Tushar,

Thanks for addressing Zicong's comment. Do you feel comfortable checking in the 
patches?

Jieming

On Sat, Sep 24, 2016 at 9:18 AM, Krishna, Tushar 
<tus...@ece.gatech.edu<mailto:tus...@ece.gatech.edu>> wrote:
I found the bug and fixed it. [Basically by default garnet should use the 
routing table, the src_outport and dst_inport names are for supporting special 
routing algorithms that the user may want to implement. The default routing 
algo was set to the user-specified one in the config file].
Thanks Zicong!


On Sep 24, 2016, at 12:11 PM, Zicong Wang 
<wangzic...@nudt.edu.cn<mailto:wangzic...@nudt.edu.cn><mailto:wangzic...@nudt.edu.cn<mailto:wangzic...@nudt.edu.cn>>>
 wrote:

This is an automatically generated e-mail. To reply, visit: 
http://reviews.gem5.org/r/3558/


On 九月 23rd, 2016, 1:47 p.m. CST, Zicong Wang wrote:

Missing src_outport & dst_inport when create the mesh links in 
MeshDirCorners_XY.py, which will cause segmentation fault(tested in 
X86_MESI_Two_Level)

On 九月 23rd, 2016, 11:58 p.m. CST, Tushar Krishna wrote:

Hi Zicong,
Thanks for testing the patch on your end. Can you send me the command you used 
that gave you the segmentation fault?
src_outport and dst_inport are supposed to be optional parameters.
I can add them in to MeshDirCorners_XY but want to find out why they gave an 
error.
Thanks,
Tushar

Hi, Tushar,
Thanks for your working garnet2.0, and the network becomes easier to use for 
researching.
The command I used is showed as below:

./build/X86_MESI_Two_Level/gem5.debug \
configs/example/se.py \
--cmd=tests/test-progs/hello/bin/x86/linux/hello \
--cpu-type=detailed --ruby --num-cpus=16 \
--caches --cacheline_size=128 \
--l1i_size=16kB --l1i_assoc=2 \
--l1d_size=16kB --l1d_assoc=2 \
--l2cache --l2_size=128kB --l2_assoc=4 --num-l2caches=16 \
--topology=MeshDirCorners_XY --mesh-rows=4 \
--num-dirs=4 --mem-size=4GB \
--sys-clock=1GHz --ruby-clock=1GHz --cpu-clock=1GHz \
--maxinsts=1 \
--network=garnet2.0 |tee m5out/runscript.log

I test it on a latest changeset(fd783bff017c) which patched with 
rb35{49,50,54,55,56,57,58}.patch. In addition, I got the same segmentation 
fault running on my own gem5 project(based on a changeset several month before 
released). I checked the core file and found out nullptr at 
NetworkInterface.cc<http://networkinterface.cc><http://networkinterface.cc<http://networkinterface.cc/>>:178
 caused the breakdown(a packet injected to vnet 0 incorrectly enqueued at NI 0).
What's more, It works well in X86_MESI_Two_Level(Mesh_XY) and 
Garnet_standalone. When I add src_outport & dst_inport into MeshDirCorners_XY, 
it works as well as Mesh_XY.
I hope the information are useful to your working.

Zicong


- Zicong


On 八月 24th, 2016, 11:24 p.m. CST, Tushar Krishna wrote:

Review request for Default, Andreas Hansson, Brad Beckmann, Jieming Yin, and 
Matthew Poremba.
By Tushar Krishna.

Updated 八月 24, 2016, 11:24 p.m.

Repository: gem5
Description

ruby: garnet2.0
Revamped version of garnet with more optimized single-cycle routers,
more configurability, and cleaner code.


Diffs

  *   src/mem/ruby/network/garnet2.0/GarnetLink.py (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/GarnetNetwork.hh (PRE-CREATION)
  *   
src/mem/ruby/network/garnet2.0/GarnetNetwork.cc<http://garnetnetwork.cc><http://garnetnetwork.cc<http://garnetnetwork.cc/>>
 (PRE-CREATION)
  *   configs/topologies/Crossbar.py (d726d0cea027)
  *   configs/topologies/MeshDirCorners_XY.py (PRE-CREATION)
  *   configs/topologies/Mesh_XY.py (PRE-CREATION)
  *   configs/topologies/Mesh_westfirst.py (PRE-CREATION)
  *   configs/topologies/Pt2Pt.py (d726d0cea027)
  *   
src/base/statistics.cc<http://statistics.cc><http://statistics.cc<http://statistics.cc/>>
 (d726d0cea027)
  *   src/mem/ruby/network/BasicRouter.py (d726d0cea027)
  *   src/mem/ruby/network/garnet2.0/CommonTypes.hh (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/Credit.hh (PRE-CREATION)
  *   
src/mem/ruby/network/garnet2.0/Credit.cc<http://credit.cc><http://credit.cc<http://credit.cc/>>
 (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/CreditLink.hh (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/CrossbarSwitch.hh (PRE-CREATION)
  

Re: [gem5-dev] Review Request 3558: ruby: garnet2.0

2016-09-24 Thread Krishna, Tushar
I found the bug and fixed it. [Basically by default garnet should use the 
routing table, the src_outport and dst_inport names are for supporting special 
routing algorithms that the user may want to implement. The default routing 
algo was set to the user-specified one in the config file].
Thanks Zicong!


On Sep 24, 2016, at 12:11 PM, Zicong Wang 
> wrote:

This is an automatically generated e-mail. To reply, visit: 
http://reviews.gem5.org/r/3558/


On 九月 23rd, 2016, 1:47 p.m. CST, Zicong Wang wrote:

Missing src_outport & dst_inport when create the mesh links in 
MeshDirCorners_XY.py, which will cause segmentation fault(tested in 
X86_MESI_Two_Level)

On 九月 23rd, 2016, 11:58 p.m. CST, Tushar Krishna wrote:

Hi Zicong,
Thanks for testing the patch on your end. Can you send me the command you used 
that gave you the segmentation fault?
src_outport and dst_inport are supposed to be optional parameters.
I can add them in to MeshDirCorners_XY but want to find out why they gave an 
error.
Thanks,
Tushar

Hi, Tushar,
Thanks for your working garnet2.0, and the network becomes easier to use for 
researching.
The command I used is showed as below:

./build/X86_MESI_Two_Level/gem5.debug \
configs/example/se.py \
--cmd=tests/test-progs/hello/bin/x86/linux/hello \
--cpu-type=detailed --ruby --num-cpus=16 \
--caches --cacheline_size=128 \
--l1i_size=16kB --l1i_assoc=2 \
--l1d_size=16kB --l1d_assoc=2 \
--l2cache --l2_size=128kB --l2_assoc=4 --num-l2caches=16 \
--topology=MeshDirCorners_XY --mesh-rows=4 \
--num-dirs=4 --mem-size=4GB \
--sys-clock=1GHz --ruby-clock=1GHz --cpu-clock=1GHz \
--maxinsts=1 \
--network=garnet2.0 |tee m5out/runscript.log

I test it on a latest changeset(fd783bff017c) which patched with 
rb35{49,50,54,55,56,57,58}.patch. In addition, I got the same segmentation 
fault running on my own gem5 project(based on a changeset several month before 
released). I checked the core file and found out nullptr at 
NetworkInterface.cc:178 caused the breakdown(a 
packet injected to vnet 0 incorrectly enqueued at NI 0).
What's more, It works well in X86_MESI_Two_Level(Mesh_XY) and 
Garnet_standalone. When I add src_outport & dst_inport into MeshDirCorners_XY, 
it works as well as Mesh_XY.
I hope the information are useful to your working.

Zicong


- Zicong


On 八月 24th, 2016, 11:24 p.m. CST, Tushar Krishna wrote:

Review request for Default, Andreas Hansson, Brad Beckmann, Jieming Yin, and 
Matthew Poremba.
By Tushar Krishna.

Updated 八月 24, 2016, 11:24 p.m.

Repository: gem5
Description

ruby: garnet2.0
Revamped version of garnet with more optimized single-cycle routers,
more configurability, and cleaner code.


Diffs

  *   src/mem/ruby/network/garnet2.0/GarnetLink.py (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/GarnetNetwork.hh (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/GarnetNetwork.cc 
(PRE-CREATION)
  *   configs/topologies/Crossbar.py (d726d0cea027)
  *   configs/topologies/MeshDirCorners_XY.py (PRE-CREATION)
  *   configs/topologies/Mesh_XY.py (PRE-CREATION)
  *   configs/topologies/Mesh_westfirst.py (PRE-CREATION)
  *   configs/topologies/Pt2Pt.py (d726d0cea027)
  *   src/base/statistics.cc (d726d0cea027)
  *   src/mem/ruby/network/BasicRouter.py (d726d0cea027)
  *   src/mem/ruby/network/garnet2.0/CommonTypes.hh (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/Credit.hh (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/Credit.cc (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/CreditLink.hh (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/CrossbarSwitch.hh (PRE-CREATION)
  *   
src/mem/ruby/network/garnet2.0/CrossbarSwitch.cc 
(PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/GarnetLink.hh (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/GarnetLink.cc 
(PRE-CREATION)
  *   configs/network/Network.py (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/Router.cc (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/RoutingUnit.hh (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/RoutingUnit.cc 
(PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/SConscript (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/SwitchAllocator.hh (PRE-CREATION)
  *   
src/mem/ruby/network/garnet2.0/SwitchAllocator.cc 
(PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/VirtualChannel.hh (PRE-CREATION)
  *   
src/mem/ruby/network/garnet2.0/VirtualChannel.cc 
(PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/flit.hh (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/flit.cc (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/flitBuffer.hh (PRE-CREATION)
  *   src/mem/ruby/network/garnet2.0/flitBuffer.cc 
(PRE-CREATION)
  *