History log of /gem5/configs/topologies/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
13885:d10ea5e56cb0 18-Apr-2018 David Hashe <david.hashe@amd.com>

configs: faux-filesystem fix w/ ruby in se mode

These changes are needed so that the config scripts
can report cache hierarchy information to the faux
filesystem.

This is useful for the ROCm runtime when it reads
psuedofiles from the host filesytem from "/proc".

Change-Id: Iad3e6c088d47c9b93979f584de748367eae8259b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/12121
Reviewed-by: Brandon Potter <Brandon.Potter@amd.com>
Maintainer: Brandon Potter <Brandon.Potter@amd.com>
Tested-by: kokoro <noreply+kokoro@google.com>

13774:a1be2a0c55f2 25-Feb-2019 Andreas Sandberg <andreas.sandberg@arm.com>

configs: Use absolute import paths

Use absoluate import paths to be Python 3 compatible. This also
imports absolute_import from __future__ to ensure that Python 2.7
behaves the same way as Python 3.

Change-Id: Ica06ed95814e9cd3e768b3e1785075e36f6e56d0
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/16708
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>


/gem5/configs/common/BPConfig.py
/gem5/configs/common/Benchmarks.py
/gem5/configs/common/CacheConfig.py
/gem5/configs/common/Caches.py
/gem5/configs/common/CpuConfig.py
/gem5/configs/common/FSConfig.py
/gem5/configs/common/GPUTLBConfig.py
/gem5/configs/common/GPUTLBOptions.py
/gem5/configs/common/HMC.py
/gem5/configs/common/MemConfig.py
/gem5/configs/common/Options.py
/gem5/configs/common/PlatformConfig.py
/gem5/configs/common/SimpleOpts.py
/gem5/configs/common/Simulation.py
/gem5/configs/common/SysPaths.py
/gem5/configs/common/__init__.py
/gem5/configs/common/cores/__init__.py
/gem5/configs/common/cores/arm/HPI.py
/gem5/configs/common/cores/arm/O3_ARM_v7a.py
/gem5/configs/common/cores/arm/__init__.py
/gem5/configs/common/cores/arm/ex5_LITTLE.py
/gem5/configs/common/cores/arm/ex5_big.py
/gem5/configs/common/cpu2000.py
/gem5/configs/dram/lat_mem_rd.py
/gem5/configs/dram/low_power_sweep.py
/gem5/configs/dram/sweep.py
/gem5/configs/example/apu_se.py
/gem5/configs/example/arm/devices.py
/gem5/configs/example/arm/dist_bigLITTLE.py
/gem5/configs/example/arm/fs_bigLITTLE.py
/gem5/configs/example/arm/fs_power.py
/gem5/configs/example/arm/starter_fs.py
/gem5/configs/example/arm/starter_se.py
/gem5/configs/example/etrace_replay.py
/gem5/configs/example/fs.py
/gem5/configs/example/garnet_synth_traffic.py
/gem5/configs/example/hmc_hello.py
/gem5/configs/example/hmctest.py
/gem5/configs/example/memcheck.py
/gem5/configs/example/memtest.py
/gem5/configs/example/read_config.py
/gem5/configs/example/ruby_direct_test.py
/gem5/configs/example/ruby_gpu_random_test.py
/gem5/configs/example/ruby_mem_test.py
/gem5/configs/example/ruby_random_test.py
/gem5/configs/example/se.py
/gem5/configs/learning_gem5/part1/caches.py
/gem5/configs/learning_gem5/part1/simple.py
/gem5/configs/learning_gem5/part1/two_level.py
/gem5/configs/learning_gem5/part2/hello_goodbye.py
/gem5/configs/learning_gem5/part2/run_simple.py
/gem5/configs/learning_gem5/part2/simple_cache.py
/gem5/configs/learning_gem5/part2/simple_memobj.py
/gem5/configs/learning_gem5/part3/msi_caches.py
/gem5/configs/learning_gem5/part3/ruby_caches_MI_example.py
/gem5/configs/learning_gem5/part3/ruby_test.py
/gem5/configs/learning_gem5/part3/simple_ruby.py
/gem5/configs/learning_gem5/part3/test_caches.py
/gem5/configs/network/Network.py
/gem5/configs/network/__init__.py
/gem5/configs/ruby/GPU_RfO.py
/gem5/configs/ruby/MI_example.py
/gem5/configs/ruby/Ruby.py
/gem5/configs/splash2/cluster.py
/gem5/configs/splash2/run.py
BaseTopology.py
Cluster.py
Crossbar.py
CrossbarGarnet.py
MeshDirCorners_XY.py
Mesh_XY.py
Mesh_westfirst.py
Pt2Pt.py
__init__.py
13731:67cd980cb20f 26-Jan-2019 Andreas Sandberg <andreas.sandberg@arm.com>

configs: Fix Python 3 iterator and exec compatibility issues

Python 2.7 used to return lists for operations such as map and range,
this has changed in Python 3. To make the configs Python 3 compliant,
add explicit conversions from iterators to lists where needed, replace
xrange with range, and fix changes to exec syntax.

This change doesn't fix import paths since that might require us to
restructure the configs slightly.

Change-Id: Idcea8482b286779fc98b4e144ca8f54069c08024
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/16002
Reviewed-by: Gabe Black <gabeblack@google.com>


/gem5/configs/common/BPConfig.py
/gem5/configs/common/Benchmarks.py
/gem5/configs/common/CacheConfig.py
/gem5/configs/common/CpuConfig.py
/gem5/configs/common/FSConfig.py
/gem5/configs/common/GPUTLBConfig.py
/gem5/configs/common/HMC.py
/gem5/configs/common/MemConfig.py
/gem5/configs/common/Options.py
/gem5/configs/common/PlatformConfig.py
/gem5/configs/common/Simulation.py
/gem5/configs/common/SysPaths.py
/gem5/configs/common/cores/arm/HPI.py
/gem5/configs/common/cpu2000.py
/gem5/configs/dist/sw.py
/gem5/configs/dram/lat_mem_rd.py
/gem5/configs/dram/low_power_sweep.py
/gem5/configs/example/apu_se.py
/gem5/configs/example/fs.py
/gem5/configs/example/garnet_synth_traffic.py
/gem5/configs/example/hmctest.py
/gem5/configs/example/memcheck.py
/gem5/configs/example/memtest.py
/gem5/configs/example/read_config.py
/gem5/configs/example/ruby_gpu_random_test.py
/gem5/configs/example/ruby_mem_test.py
/gem5/configs/example/ruby_random_test.py
/gem5/configs/example/se.py
/gem5/configs/ruby/AMD_Base_Constructor.py
/gem5/configs/ruby/GPU_RfO.py
/gem5/configs/ruby/GPU_VIPER.py
/gem5/configs/ruby/GPU_VIPER_Baseline.py
/gem5/configs/ruby/GPU_VIPER_Region.py
/gem5/configs/ruby/Garnet_standalone.py
/gem5/configs/ruby/MESI_Three_Level.py
/gem5/configs/ruby/MESI_Two_Level.py
/gem5/configs/ruby/MI_example.py
/gem5/configs/ruby/MOESI_AMD_Base.py
/gem5/configs/ruby/MOESI_CMP_directory.py
/gem5/configs/ruby/MOESI_CMP_token.py
/gem5/configs/ruby/MOESI_hammer.py
/gem5/configs/ruby/Ruby.py
/gem5/configs/splash2/cluster.py
/gem5/configs/splash2/run.py
MeshDirCorners_XY.py
Mesh_XY.py
Mesh_westfirst.py
Pt2Pt.py
11670:6ce719503eae 13-Oct-2016 Andreas Hansson <andreas.hansson@arm.com>

ruby: Fix regressions and make Ruby configs Python packages

This patch moves the addition of network options into the Ruby module
to avoid the regressions all having to add it explicitly. Doing this
exposes an issue in our current config system though, namely the fact
that addtoPath is relative to the Python script being executed. Since
both example and regression scripts use the Ruby module we would end
up with two different (relative) paths being added. Instead we take a
first step at turning the config modules into Python packages, simply
by adding a __init__.py in the configs/ruby, configs/topologies and
configs/network subdirectories.

As a result, we can now add the top-level configs directory to the
Python search path, and then use the package names in the various
modules. The example scripts are also updated, and the messy
path-deducing variations in the scripts are unified.

11669:220fa4099b9a 07-Oct-2016 Tushar Krishna <tushar@ece.gatech.edu>

config: fix typo in cluster topology.

11666:10d59d546ea2 06-Oct-2016 Tushar Krishna <tushar@ece.gatech.edu>

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


/gem5/configs/network/Network.py
Crossbar.py
MeshDirCorners_XY.py
Mesh_XY.py
Mesh_westfirst.py
Pt2Pt.py
/gem5/src/base/statistics.cc
/gem5/src/mem/ruby/network/BasicRouter.py
/gem5/src/mem/ruby/network/garnet2.0/CommonTypes.hh
/gem5/src/mem/ruby/network/garnet2.0/Credit.cc
/gem5/src/mem/ruby/network/garnet2.0/Credit.hh
/gem5/src/mem/ruby/network/garnet2.0/CreditLink.hh
/gem5/src/mem/ruby/network/garnet2.0/CrossbarSwitch.cc
/gem5/src/mem/ruby/network/garnet2.0/CrossbarSwitch.hh
/gem5/src/mem/ruby/network/garnet2.0/GarnetLink.cc
/gem5/src/mem/ruby/network/garnet2.0/GarnetLink.hh
/gem5/src/mem/ruby/network/garnet2.0/GarnetLink.py
/gem5/src/mem/ruby/network/garnet2.0/GarnetNetwork.cc
/gem5/src/mem/ruby/network/garnet2.0/GarnetNetwork.hh
/gem5/src/mem/ruby/network/garnet2.0/GarnetNetwork.py
/gem5/src/mem/ruby/network/garnet2.0/InputUnit.cc
/gem5/src/mem/ruby/network/garnet2.0/InputUnit.hh
/gem5/src/mem/ruby/network/garnet2.0/NetworkInterface.cc
/gem5/src/mem/ruby/network/garnet2.0/NetworkInterface.hh
/gem5/src/mem/ruby/network/garnet2.0/NetworkLink.cc
/gem5/src/mem/ruby/network/garnet2.0/NetworkLink.hh
/gem5/src/mem/ruby/network/garnet2.0/OutVcState.cc
/gem5/src/mem/ruby/network/garnet2.0/OutVcState.hh
/gem5/src/mem/ruby/network/garnet2.0/OutputUnit.cc
/gem5/src/mem/ruby/network/garnet2.0/OutputUnit.hh
/gem5/src/mem/ruby/network/garnet2.0/README.txt
/gem5/src/mem/ruby/network/garnet2.0/Router.cc
/gem5/src/mem/ruby/network/garnet2.0/Router.hh
/gem5/src/mem/ruby/network/garnet2.0/RoutingUnit.cc
/gem5/src/mem/ruby/network/garnet2.0/RoutingUnit.hh
/gem5/src/mem/ruby/network/garnet2.0/SConscript
/gem5/src/mem/ruby/network/garnet2.0/SwitchAllocator.cc
/gem5/src/mem/ruby/network/garnet2.0/SwitchAllocator.hh
/gem5/src/mem/ruby/network/garnet2.0/VirtualChannel.cc
/gem5/src/mem/ruby/network/garnet2.0/VirtualChannel.hh
/gem5/src/mem/ruby/network/garnet2.0/flit.cc
/gem5/src/mem/ruby/network/garnet2.0/flit.hh
/gem5/src/mem/ruby/network/garnet2.0/flitBuffer.cc
/gem5/src/mem/ruby/network/garnet2.0/flitBuffer.hh
11664:2365e9e396f7 06-Oct-2016 Tushar Krishna <tushar@ece.gatech.edu>

config: add port directions and per-router delay in topology.
This patch adds port direction names to the links during topology
creation, which can be used for better printed names for the links
or for users to code up their own adaptive routing algorithms.
It also adds support for every router to have an independent latency
value to support heterogeneous topologies with the subsequent
garnet2.0 patch.

11663:cf870cd20cfc 06-Oct-2016 Tushar Krishna <tushar@ece.gatech.edu>

config: make internal links in network topology unidirectional.
This patch makes the internal links within the network topology
unidirectional, thus allowing any deadlock-free routing algorithms to
be specified from the topology itself using weights.
This patch also renames Mesh.py and MeshDirCorners.py to
Mesh_XY.py and MeshDirCorners_XY.py (Mesh with XY routing).
It also adds a Mesh_westfirst.py and CrossbarGarnet.py topologies.

10088:eca928d8a4ab 23-Feb-2014 Nilay Vaish <nilay@cs.wisc.edu>

config: topologies: slight code refactor

9862:54d6728d99cf 06-Sep-2013 Nilay Vaish <nilay@cs.wisc.edu>

ruby: network: correct naming of routers

The routers are created before the network class. This results in the routers
becoming children of the first link they are connected to and they get generic
names like int_node and node_b. This patch creates the network object first
and passes it to the topology creation function. Now the routers are children
of the network object and names are much more sensible.

9148:a7a72f42919e 10-Aug-2012 Jason Power <powerjg@cs.wisc.edu>

Ruby: Clean up topology changes
This patch moves instantiateTopology into Ruby.py and removes the
mem/ruby/network/topologies directory. It also adds some extra inheritance to
the topologies to clean up some issues in the existing topologies.

9100:3caf131d7a95 11-Jul-2012 Brad Beckmann <Brad.Beckmann@amd.com>

ruby: changes how Topologies are created

Instead of just passing a list of controllers to the makeTopology function
in src/mem/ruby/network/topologies/<Topo>.py we pass in a function pointer
which knows how to make the topology, possibly with some extra state set
in the configs/ruby/<protocol>.py file. Thus, we can move all of the files
from network/topologies to configs/topologies. A new class BaseTopology
is added which all topologies in configs/topologies must inheirit from and
follow its API.