public Router_SortNet(Coord myCoord) : base(myCoord) { m_injectSlot = null; m_injectSlot2 = null; if (Config.sortnet_full) { m_sort = new SortNet_COW(new SortNode.Rank(rank)); } else { if (Config.bFtfly) { m_sort = new SortNet_CALF_FBFLY(new SortNode.Rank(rank), this); } else { m_sort = new SortNet_CALF(new SortNode.Rank(rank)); } } if (!Config.edge_loop) { throw new Exception("SortNet (CALF) router does not support mesh without edge loop. Use -edge_loop option."); } }
public Router_SortNet(Coord myCoord) : base(myCoord) { m_injectSlot = null; m_injectSlot2 = null; ejectBuffer = new Queue <Flit> [4]; for (int n = 0; n < 4; n++) { ejectBuffer[n] = new Queue <Flit>(); } if (Config.sortnet_full) { m_sort = new SortNet_COW(new SortNode.Rank(rank)); } else { m_sort = new SortNet_CALF(new SortNode.Rank(rank)); } if (!Config.edge_loop) { throw new Exception("SortNet (CALF) router does not support mesh without edge loop. Use -edge_loop option."); } }
public Router_SortNet(Coord myCoord) : base(myCoord) { m_injectSlot = null; m_injectSlot2 = null; ejectBuffer = new Queue<Flit>[4]; for (int n =0 ;n < 4; n++) ejectBuffer[n] = new Queue<Flit>(); if (Config.sortnet_full) m_sort = new SortNet_COW(new SortNode.Rank(rank)); else m_sort = new SortNet_CALF(new SortNode.Rank(rank)); if (!Config.edge_loop) throw new Exception("SortNet (CALF) router does not support mesh without edge loop. Use -edge_loop option."); }
public Router_SortNet(Coord myCoord) : base(myCoord) { m_injectSlot = null; m_injectSlot2 = null; if (Config.sortnet_full) m_sort = new SortNet_COW(new SortNode.Rank(rank)); else { if (Config.bFtfly) m_sort = new SortNet_CALF_FBFLY(new SortNode.Rank(rank), this); else m_sort = new SortNet_CALF(new SortNode.Rank(rank)); } if (!Config.edge_loop) throw new Exception("SortNet (CALF) router does not support mesh without edge loop. Use -edge_loop option."); }