| 1 | %
|
|---|
| 2 | % function to call the gmap module of the scotch partitioner.
|
|---|
| 3 | %
|
|---|
| 4 | % [status,maptab]=gmap(adj_mat,vlist,vwgt,ewgt,atype,apar,...
|
|---|
| 5 | % options)
|
|---|
| 6 | %
|
|---|
| 7 | % where the required input is:
|
|---|
| 8 | % adj_mat (double [sparse nv x nv], vertex adjacency matrix)
|
|---|
| 9 | % vlist (double [nv], vertex labels or [])
|
|---|
| 10 | % vwgt (double [nv], vertex weights (integers) or [])
|
|---|
| 11 | % ewgt (double [sparse nv x nv], edge weights (integers) or [])
|
|---|
| 12 | % atype (character, architecture type)
|
|---|
| 13 | % 'cmplt' complete graph
|
|---|
| 14 | % 'cmpltw' weighted complete graph
|
|---|
| 15 | % 'hcub' binary hypercube
|
|---|
| 16 | % 'leaf' tree-leaf architecture
|
|---|
| 17 | % 'mesh2d' bidimensional array
|
|---|
| 18 | % 'mesh3d' tridimensional array
|
|---|
| 19 | % 'torus2d' bidimensional array with wraparound edges
|
|---|
| 20 | % 'torus3d' tridimensional array with wraparound edges
|
|---|
| 21 | % apars (double, architecture params (corresponding to atype))
|
|---|
| 22 | % [size] cmplt
|
|---|
| 23 | % [size load0 load1 ...] cmpltw
|
|---|
| 24 | % [dim] hcub
|
|---|
| 25 | % [height cluster weight] leaf
|
|---|
| 26 | % [dimX dimY] mesh2d
|
|---|
| 27 | % [dimX dimY dimZ] mesh3d
|
|---|
| 28 | % [dimX dimY] torus2d
|
|---|
| 29 | % [dimX dimY dimZ] torus3d
|
|---|
| 30 | %
|
|---|
| 31 | % the required output is:
|
|---|
| 32 | % status (double, return code from gmap)
|
|---|
| 33 | % maptab (double [nv x 2], vertex labels and partitions)
|
|---|
| 34 | %
|
|---|
| 35 | % the optional input is:
|
|---|
| 36 | % options (character, options to gmap)
|
|---|
| 37 | % " -h : Display this help"
|
|---|
| 38 | % " -m<strat> : Set mapping strategy (see user's manual)"
|
|---|
| 39 | % " -s<obj> : Force unity weights on <obj>:"
|
|---|
| 40 | % " e : edges"
|
|---|
| 41 | % " v : vertices"
|
|---|
| 42 | % " -V : Print program version and copyright"
|
|---|
| 43 | % " -v<verb> : Set verbose mode to <verb>:"
|
|---|
| 44 | % " m : mapping information"
|
|---|
| 45 | % " s : strategy information"
|
|---|
| 46 | % " t : timing information"
|
|---|
| 47 | % ""
|
|---|
| 48 | % "See default strategy with option '-vs'"
|
|---|
| 49 | %
|
|---|
| 50 | function [status,maptab]=gmap(adj_mat,vlist,vwgt,ewgt,atype,apars,...
|
|---|
| 51 | varargin)
|
|---|
| 52 |
|
|---|
| 53 | if ~nargin
|
|---|
| 54 | help gmap
|
|---|
| 55 | return
|
|---|
| 56 | end
|
|---|
| 57 |
|
|---|
| 58 | % gmap_mex uses static variables, so clear those out before every run
|
|---|
| 59 | clear gmap_mex
|
|---|
| 60 |
|
|---|
| 61 | [status,maptab]=gmap_mex(adj_mat,vlist,vwgt,ewgt,atype,apars,...
|
|---|
| 62 | varargin{:});
|
|---|
| 63 |
|
|---|
| 64 | end
|
|---|