Skip to content

chef partition control

Cameron Smith edited this page Apr 20, 2016 · 20 revisions

Terminology

split - increase part count

balance - balance the computational load while reducing inter process communications

pre-process - the creation of phasta input data structures

Workflow

chef's main procedures that require are illustrated below. Square brackets indicate an optional procedure.

|------------Adapt---------|--------------|-------Phasta--------|
[ UR ] ----> [ tet ] ----->  [split] ---->  pre-process 

Balance and Split Method Control

The following options will give users control over the splitting method, the balancing applied prior to uniform refinement and tetrahedronization, and the balancing method applied before pre-processing. Default options are in bold. partitionMethod and localPtn already existed so we'll keep those names for backward compatibility.

partitionMethod = {graph,scorec-rib,zoltan-rib}

localPtn = {true,false}

preAdaptBalanceMethod = {graph,rib,parma,none}

prePhastaBalanceMethod = {graph,rib,parma,parma-gap,none}

The chef preAdaptBalanceMethod flag requires a new meshAdapt flag, zoltanMethod = {graph, rib} to control the Zoltan pre-balance method.

Imbalance Target Parameters

By default the graph and RIB balance and split methods will target a one percent element imbalance. ParMA's imbalance targets will be controlled through the parmaElementImbalance and parmaVtxImbalance. Imbalance is defined as maximum part load divided by the average part load. elementImbalance and vtxImbalance already exist as parameters.

Auxillary ParMA Parameters

The following parameters provide control over parma with prePhastaBalanceMethod set to parma or parma-gap.

parmaLoops - specify how many times ParMA balaning is applied - additional loops can increase quality at the expense of run time

parmaVerbosity - specify the output level of parma - the higher the value the more output is produced

Clone this wiki locally