Difference between revisions of "Wmake"
m |
|||
Line 18: | Line 18: | ||
wmake comes with a simple scheduler, wmakeScheduler, which spawns a job on a free machine. It is currently set up to distribute only compilation of c,c++. Dependency building and linking gets done on the local machine. | wmake comes with a simple scheduler, wmakeScheduler, which spawns a job on a free machine. It is currently set up to distribute only compilation of c,c++. Dependency building and linking gets done on the local machine. | ||
− | It is set up with | + | It is set up with environment variables: |
+ | |||
WM_SCHEDULER : the name of the scheduler to use | WM_SCHEDULER : the name of the scheduler to use | ||
+ | |||
WM_HOSTS : the list of cores to use | WM_HOSTS : the list of cores to use | ||
+ | |||
WM_NCOMPROCS : the number of parallel builds (usually the size of WM_HOSTS) | WM_NCOMPROCS : the number of parallel builds (usually the size of WM_HOSTS) | ||
+ | |||
+ | WM_COLOURS : Optional{{Version1.5}} : per entry in WM_HOSTS the colour to use. This is used in 'setterm -foreground XXX' ; for this to work I have to set my TERM environment variable to 'linux'. | ||
+ | |||
Example to build on 1 processor of dm and 4 processors of noisy: | Example to build on 1 processor of dm and 4 processors of noisy: |
Revision as of 16:40, 17 July 2008
wmake tips:
- all invocations can have an optional directory:
wmake $FOAM_UTILITIES/mesh/manipulation/checkMesh wmake libso $FOAM_SRC/finiteVolume
- wmake all
wmake all <dir>
will recursively build all applications in current or specified directory.
- wmake <target>, e.g.
wmake Make/linux64Gcc4DPOpt/meshBb.o
will build just that taget
- distributed building: wmake comes with a simple scheduler, wmakeScheduler, which spawns a job on a free machine. It is currently set up to distribute only compilation of c,c++. Dependency building and linking gets done on the local machine.
It is set up with environment variables:
WM_SCHEDULER : the name of the scheduler to use
WM_HOSTS : the list of cores to use
WM_NCOMPROCS : the number of parallel builds (usually the size of WM_HOSTS)
WM_COLOURS : Optional : per entry in WM_HOSTS the colour to use. This is used in 'setterm -foreground XXX' ; for this to work I have to set my TERM environment variable to 'linux'.
Example to build on 1 processor of dm and 4 processors of noisy:
export WM_SCHEDULER=wmakeScheduler
export WM_HOSTS="dm:1 noisy:4"
export WM_NCOMPPROCS=$($WM_SCHEDULER -count)
export WM_SCHEDULER=wmakeScheduler
export WM_HOSTS="(dm:0 noisy:1 noisy:2 noisy:3 noisy:4)"
eval "hosts=$WM_HOSTS"
export WM_NCOMPPROCS=${#hosts[@]}