|
std::list< PHV::SuperCluster * > | allocDeparserZeroSuperclusters (PHV::Transaction &rst, std::list< PHV::SuperCluster * > &cluster_groups) |
|
std::list< PHV::SuperCluster * > | allocLoop (PHV::Transaction &rst, std::list< PHV::SuperCluster * > &cluster_groups, const std::list< PHV::ContainerGroup * > &container_groups, const ScoreContext &score_ctx) |
|
ordered_set< bitvec > | calc_slicing_schemas (const PHV::SuperCluster *sc, const std::set< PHV::Allocation::AvailableSpot > &spots) |
|
std::list< PHV::SuperCluster * > | crush_clusters (const std::list< PHV::SuperCluster * > &cluster_groups) |
|
std::optional< const PHV::SuperCluster::SliceList * > | diagnose_slicing (const std::list< PHV::SuperCluster * > &slicing, const std::list< PHV::ContainerGroup * > &container_groups) const |
|
std::list< PHV::SuperCluster * > | pounderRoundAllocLoop (PHV::Transaction &rst, std::list< PHV::SuperCluster * > &cluster_groups, const std::list< PHV::ContainerGroup * > &container_groups) |
|
std::list< PHV::SuperCluster * > | preslice_clusters (const std::list< PHV::SuperCluster * > &cluster_groups, const std::list< PHV::ContainerGroup * > &container_groups, std::list< const PHV::SuperCluster * > &unsliceable) |
| slice clusters into clusters with container-sized chunks.
|
|
std::optional< const PHV::SuperCluster::SliceList * > | preslice_validation (const std::list< PHV::SuperCluster * > &sliced, const std::list< PHV::ContainerGroup * > &container_groups) const |
|
void | sortClusters (std::list< PHV::SuperCluster * > &cluster_groups) |
| Sort list of superclusters into the order in which they should be allocated.
|
|
AllocResult | tryAllocationFailuresFirst (const PHV::Allocation &alloc, const std::list< PHV::SuperCluster * > &cluster_groups_input, const std::list< PHV::ContainerGroup * > &container_groups, const ordered_set< const PHV::Field * > &failures) |
|
bool | tryAllocSlicing (const std::list< PHV::SuperCluster * > &slicing, const std::list< PHV::ContainerGroup * > &container_groups, PHV::Transaction &slicing_alloc, const ScoreContext &score_ctx) |
|
bool | tryAllocSlicingStrided (unsigned num_strides, const std::list< PHV::SuperCluster * > &slicing, const std::list< PHV::ContainerGroup * > &container_groups, PHV::Transaction &slicing_alloc, const ScoreContext &score_ctx) |
|
bool | tryAllocStride (const std::list< PHV::SuperCluster * > &stride, const std::list< PHV::ContainerGroup * > &container_groups, PHV::Transaction &stride_alloc, const ScoreContext &score_ctx) |
|
bool | tryAllocStrideWithLeaderAllocated (const std::list< PHV::SuperCluster * > &stride, PHV::Transaction &leader_alloc, const ScoreContext &score_ctx) |
|
std::optional< PHV::Transaction > | tryVariousSlicing (PHV::Transaction &rst, PHV::SuperCluster *cluster_group, const std::list< PHV::ContainerGroup * > &container_groups, const ScoreContext &score_ctx, std::stringstream &alloc_history) |
|