Back to SYMPHONY Home Page
 Next: Executable Names.
Up: Unix Operating Systems
 Previous: Communication with Shared Memory.
 
Configuring the Modules.
In the make file, there are
four variables that control which modules run as separate executables
and which are called directly in serial fashion. The variables are as
follows:
- COMPILE_IN_CG:
 
- If set to TRUE, then the cut generator
        function will be called directly from the LP in serial
        fashion, instead of running as a separate executable. This is
        desirable if cut generation is quick and running it in
        parallel is not worth the price of the communication overhead.
        
 
- COMPILE_IN_CP:
 
- If set to TRUE, then the cut
        pool(s) will be maintained as a data structure auxiliary to the
        tree manager. 
        
 
- COMPILE_IN_LP:
 
- If set to TRUE, then the LP
        functions will be called directly from the tree manager. When
        running the distributed version, this
        necessarily implies that there will only be one active
        subproblem at a time, and hence the code will essentially be
        running serially. IN the shared-memory version, however, the
        tree manager will be threaded in order to execute subproblems 
        in parallel.
        
 
- COMPILE_IN_TM:
 
- If set to TRUE, then the tree
        will be managed directly from the master process. This is only
        recommended if a single executable is desired (i.e. the three
        other variables are also set to true). A single executable is
        extremely useful for debugging purposes.
 
These variables can be set in virtually any combination, though some
don't really make much sense. Note that in a few user functions that
involve process communication, there will be different versions for
serial and parallel computation. This is accomplished through the use
of #ifdef statements in the source code. This is well documented
in the function descriptions and the in the source files containing
the function stubs. See also Section 9.6.1.
 
 
 
  
 Next: Executable Names.
Up: Unix Operating Systems
 Previous: Communication with Shared Memory.
Ted Ralphs 
2003-05-29