The simulation itself worked fine. The error happened after simulation when Orion is trying to compute network power using activity stats. The assertion seems to indicate that a router with zero input ports was created, which is weird. I know the Mesh topology works if you use equal number of CPUs and directories. To use 4 directories, you can use MeshDirCorners. Am not very sure what will happen if you use 2 directories and 6 CPUs with the mesh topology. Take a look at the topology file (configs/topologies/Mesh.py) to see what is being created. Or use a printf or debug statement inside orion to see why the assertion failed.
On Apr 25, 2013, at 3:12 AM, amina belhaj messaoud wrote: > hello everybody , > > I am working the configuration of the gem5 to work with 2D mesh topology > with shared directories and multiple cpus , so each cpu should execute a > given binary file : tests/test-progs/hello/bin/alpha/linux/hello > > here is the commande to generate the configuration and the execution : > > ./build/ALPHA/gem5.debug configs/example/ruby_random_test.py > --cpu-type='timing' --num-cpus=6 --num-dirs=2 --topology=Mesh --mesh-rows=2 > --garnet-network=fixed > --cmd=tests/test-progs/hello/bin/alpha/linux/hello_tests/test-progs/hello/bin/alpha/linux/hello_tests/test-progs/hello/bin/alpha/linux/hello_tests/test-progs/hello/bin/alpha/linux/hello_tests/test-progs/hello/bin/alpha/linux/hello_tests/test-progs/hello/bin/alpha/linux/hello > > but I have this as an error mesg > > **** REAL SIMULATION **** > info: Entering event queue @ 0. Starting simulation... > info: Increasing stack size by one page. > info: Increasing stack size by one page. > info: Increasing stack size by one page. > info: Increasing stack size by one page. > info: Increasing stack size by one page. > info: Increasing stack size by one page. > Hello world! > Hello world! > Hello world! > Hello world! > Hello world! > Hello world! > hack: be nice to actually delete the event here > Exiting @ tick 141039500 because target called exit() > gem5.debug: build/ALPHA/mem/ruby/network/orion/OrionRouter.cc:60: > OrionRouter::OrionRouter(uint32_t, uint32_t, uint32_t, std::vector<unsigned > int, std::allocator<unsigned int> >, uint32_t, uint32_t, uint32_t, uint32_t, > OrionConfig*): Assertion `(num_in_port_ == num_in_port_) && (num_in_port_ != > 0)' failed. > Program aborted at cycle 141039500 > Aborted > > can you explain what is this ?? because if I configure it with 3 cpus it > works properly ?? > > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users _______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
