|
mt-Metis
|
Functions for allocating, freeing, and manipulating control structures. More...
Macros | |
| #define | MTMETIS_CTRL_C |
| #define | FIND_STRING(table, str) S_find_string(table,sizeof(table)/sizeof(char*),str) |
Functions | |
| ctrl_type * | ctrl_create (void) |
| Allocate and initialize a control structure. More... | |
| void | ctrl_setup (ctrl_type *const ctrl, real_type *const tpwgts, vtx_type const nvtxs) |
| Setup a control structure to partition a graph with a specified number of vertices. The structure should already be configured with nthreads and nparts. More... | |
| int | ctrl_parse (double const *const options, ctrl_type **const r_ctrl) |
| Create a control structure using the specified set of options. More... | |
| void | ctrl_free (ctrl_type *ctrl) |
| Free a control structure and its associated memory. More... | |
| void | ctrl_combine_timers (ctrl_type *const ctrl, ctrl_type const *const ctrl2) |
| Combine the times of the two timers into the first. More... | |
| void | ser_ctrl_split (ctrl_type const *const ctrl, vtx_type const *const hnvtxs, ctrl_type **const hctrls) |
| Split the control structure serially for recursive bisection or nested dissection. More... | |
| ctrl_type * | ser_ctrl_rb (ctrl_type *const ctrl, pid_type const *const offset) |
| Create a new control for creating an edge separator. More... | |
| void | par_ctrl_free (ctrl_type *ctrl) |
| Free a control structure and its associated memory. More... | |
| ctrl_type * | par_ctrl_split (ctrl_type const *const ctrl, vtx_type const nvtxs, pid_type const nparts, dlthread_comm_t comm) |
| Duplicate a control structure. More... | |
| int | par_ctrl_parse (double const *const options, ctrl_type **const r_ctrl, dlthread_comm_t comm) |
| Parse a control structure options in parallel. More... | |
| void | par_ctrl_setup (ctrl_type *const ctrl, real_type *const tpwgts, vtx_type const nvtxs) |
| Setup a control structure in parallel. More... | |
| ctrl_type * | par_ctrl_rb (ctrl_type *const ctrl, pid_type const *const offset) |
| Create a new control for creating an edge separator. More... | |
| char const * | trans_ptype_string (const mtmetis_ptype_t type) |
| char const * | trans_ctype_string (const mtmetis_ctype_t type) |
| char const * | trans_contype_string (const mtmetis_contype_t type) |
| char const * | trans_rtype_string (const mtmetis_rtype_t type) |
| char const * | trans_verbosity_string (const mtmetis_verbosity_t type) |
| char const * | trans_dtype_string (mtmetis_dtype_t const type) |
| mtmetis_ptype_t | trans_string_ptype (char const *const str) |
| mtmetis_ctype_t | trans_string_ctype (char const *const str) |
| mtmetis_contype_t | trans_string_contype (char const *const str) |
| mtmetis_rtype_t | trans_string_rtype (char const *const str) |
| mtmetis_verbosity_t | trans_string_verbosity (char const *const str) |
| mtmetis_dtype_t | trans_string_dtype (char const *const str) |
Functions for allocating, freeing, and manipulating control structures.
Combine the times of the two timers into the first.
| ctrl | The timer to recieve the combined times. |
| ctrl2 | The timer to combine times with. |
| ctrl_type* ctrl_create | ( | void | ) |
Allocate and initialize a control structure.
| void ctrl_free | ( | ctrl_type * | ctrl | ) |
Free a control structure and its associated memory.
| ctrl | The control structure to free. |
| int ctrl_parse | ( | double const * | options, |
| ctrl_type ** | ctrl | ||
| ) |
Create a control structure using the specified set of options.
| options | The options specifying how to setup the ctrl. |
| ctrl | A reference to the control structure to allocate and configure. |
| void ctrl_setup | ( | ctrl_type * | ctrl, |
| real_type * | tpwgts, | ||
| vtx_type | nvtxs | ||
| ) |
Setup a control structure to partition a graph with a specified number of vertices. The structure should already be configured with nthreads and nparts.
| ctrl | The control structure to configure. |
| tpwgts | The target partition weights for this control (can be NULL). |
| nvtxs | The number of vertices in the graph to partition. |
| void par_ctrl_free | ( | ctrl_type * | ctrl | ) |
Free a control structure and its associated memory.
| ctrl | The control structure to free. |
| int par_ctrl_parse | ( | double const * | options, |
| ctrl_type ** | r_ctrl, | ||
| dlthread_comm_t | comm | ||
| ) |
Parse a control structure options in parallel.
| options | The options to parse. |
| r_ctrl | A reference to the ctrl pointer. |
| comm | The thread communicator for the current thread group. |
Create a new control for creating an edge separator.
| ctrl | The control to parse options from. |
| offset | The prefixsum of the number of partitions per half (lengh 3). This is an exclusive prefixsum so offset[0] = 0, and offset[2] = ctrl->nparts. |
| void par_ctrl_setup | ( | ctrl_type * | ctrl, |
| real_type * | tpwgts, | ||
| vtx_type | nvtxs | ||
| ) |
Setup a control structure in parallel.
| ctrl | The control structure. |
| tpwgts | The target partition weights for this control (can be NULL). |
| nvtxs | The number of vertices in the graph. |
| ctrl_type* par_ctrl_split | ( | ctrl_type const * | ctrl, |
| vtx_type | nvtxs, | ||
| pid_type | nparts, | ||
| dlthread_comm_t | comm | ||
| ) |
Duplicate a control structure.
| ctrl | The control structure to split. |
| nvtxs | The new number of starting vertices. |
| nparts | The new number of partitions. |
| comm | The new thread communicator. |
Create a new control for creating an edge separator.
| ctrl | The control to parse options from. |
| offset | The prefixsum of the number of partitions per half (lengh 3). This is an exclusive prefixsum so offset[0] = 0, and offset[2] = ctrl->nparts. |
Split the control structure serially for recursive bisection or nested dissection.
| ctrl | The base control to split. |
| hnvtxs | The number of vertices in each graph. |
| hctrl | The two resulting ctrls (output). |
1.8.11