Ignore:
Timestamp:
Oct 5, 2015, 11:49:45 AM (4 years ago)
Author:
nmedfort
Message:

Added ability to limit the size of candidate multiplexing sets and choose a sample of the possible combinations.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/toolchain.cpp

    r4820 r4822  
    7878                                        cl::cat(cPabloOptimizationsOptions));
    7979
     80static cl::opt<unsigned> MultiplexingSetLimit("multiplexing-set-limit", cl::init(std::numeric_limits<unsigned>::max()),
     81                                        cl::desc("maximum size of any candidate multiplexing set."),
     82                                        cl::cat(cPabloOptimizationsOptions));
     83
     84static cl::opt<unsigned> MultiplexingSelectionLimit("multiplexing-selection-limit", cl::init(100),
     85                                        cl::desc("maximum number of selections from any partial candidate multiplexing set."),
     86                                        cl::cat(cPabloOptimizationsOptions));
     87
    8088static cl::opt<bool> EnableReassociation("reassoc", cl::init(false),
    8189                                         cl::desc("perform reassocation and distribution law optimization."),
     
    139147    if (EnableMultiplexing) {
    140148        pablo::BDDMinimizationPass::optimize(*function);
    141         pablo::AutoMultiplexing::optimize(*function);       
     149        pablo::AutoMultiplexing::optimize(*function, MultiplexingSetLimit, MultiplexingSelectionLimit);
    142150    }   
    143151    if (EnableReassociation) {
Note: See TracChangeset for help on using the changeset viewer.