You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
325 lines
8.3 KiB
325 lines
8.3 KiB
2 years ago
|
C Copyright(C) 1999-2020 National Technology & Engineering Solutions
|
||
|
C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
|
||
|
C NTESS, the U.S. Government retains certain rights in this software.
|
||
|
C
|
||
|
C See packages/seacas/LICENSE for details
|
||
|
|
||
|
.TH NEM_SLICE 1 LOCAL
|
||
|
.SH NAME
|
||
|
nem_slice - generate a load-balance file from an ExodusII geometry file
|
||
|
.SH SYNOPSIS
|
||
|
.B nem_slice
|
||
|
[
|
||
|
.B -h
|
||
|
] [
|
||
|
.B -V
|
||
|
] [
|
||
|
.B -a
|
||
|
.I inpfile
|
||
|
] [ <
|
||
|
.B -n
|
||
|
|
|
||
|
.B -e
|
||
|
>
|
||
|
.B -v
|
||
|
.B -m
|
||
|
.I machine_desc
|
||
|
.B -l
|
||
|
.I loadbal_desc
|
||
|
.B -s
|
||
|
.I eigensolv_desc
|
||
|
] [
|
||
|
.B -w
|
||
|
.I weighting_desc
|
||
|
] [
|
||
|
.B -g
|
||
|
.I group_list
|
||
|
] [
|
||
|
.B -f
|
||
|
] [
|
||
|
.B -c
|
||
|
] [
|
||
|
.B -o
|
||
|
.I outfile
|
||
|
] [
|
||
|
.I exoIIfile
|
||
|
]
|
||
|
.SH DESCRIPTION
|
||
|
.I nem_slice
|
||
|
reads in a FEM description of the geometry of a problem from an
|
||
|
.I ExodusII
|
||
|
file,
|
||
|
.I exoIIfile
|
||
|
, generates either a nodal or elemental graph of the problem,
|
||
|
calls
|
||
|
.I Chaco
|
||
|
to load balance the graph, and outputs a
|
||
|
.I NemesisI
|
||
|
load-balance file.
|
||
|
.SH OPTIONS
|
||
|
The
|
||
|
.B -h
|
||
|
option causes
|
||
|
.I nem_slice
|
||
|
to print out usage information. If the
|
||
|
.B -h
|
||
|
option is specified all other options are ignored.
|
||
|
.PP
|
||
|
The
|
||
|
.B -V
|
||
|
option causes
|
||
|
.I nem_slice
|
||
|
to print out the version number. If the
|
||
|
.B -V
|
||
|
option is specified all other options are ignored.
|
||
|
.PP
|
||
|
If the
|
||
|
.B -a
|
||
|
option is specified all parameters will be set from an ASCII input
|
||
|
file. Other command line options may be used with
|
||
|
.B -a
|
||
|
and such options will override anything respecified in the ASCII input
|
||
|
file.
|
||
|
.PP
|
||
|
The
|
||
|
.B -n
|
||
|
option specifies that a nodal decomposition should be performed on
|
||
|
the input FEM mesh, while the
|
||
|
.B -e
|
||
|
option specifies that an elemental decomposition should be
|
||
|
performed. One of either
|
||
|
.B -e
|
||
|
or
|
||
|
.B -n
|
||
|
is required.
|
||
|
.PP
|
||
|
The
|
||
|
.B -v
|
||
|
option is used to indicate that you wish to output an ExodusII file
|
||
|
which will allow you to visualize the load balance results. If the
|
||
|
mesh consists of one type of element then the visualization is done by
|
||
|
element blocks. If the mesh consists of mixed element types then the
|
||
|
visualization is done by assigning nodal results variables to each
|
||
|
FEM node in the mesh, the value of which corresponds to the processor
|
||
|
ID that node is assigned to.
|
||
|
.PP
|
||
|
The
|
||
|
.B -m
|
||
|
option is used to describe the parallel architecture for which the
|
||
|
load balance will be performed. There are currently three choices for
|
||
|
this option,
|
||
|
.I mesh
|
||
|
for an n-dimensional mesh architecture,
|
||
|
.I hcube
|
||
|
for a hypercube architecture, or
|
||
|
.I cluster
|
||
|
for a cluster architecture. All machine type specifications require
|
||
|
a sub-option giving the dimension(s) of the machine, and thus the
|
||
|
number of processors, for which the load balance is to be performed.
|
||
|
.PP
|
||
|
The
|
||
|
.B -l
|
||
|
option is used to specify which method to utilize in generating a load
|
||
|
balance for the given problem. In addition, a sub-option of
|
||
|
.B kl
|
||
|
can be specified if Kernighan-Lin refinement is desired and the main
|
||
|
method does not use KL by default. Another sub-option is the number of
|
||
|
sections to use (see the Chaco User's Guide for further
|
||
|
information). This can be specified with the sub-option,
|
||
|
.B num_sects=value.
|
||
|
An additional sub-option requires that the load balanced domains
|
||
|
are connected. This can be specified with the sub-option,
|
||
|
.B cnctd_dom.
|
||
|
Supported methods for load balancing are:
|
||
|
.PP
|
||
|
.B multikl
|
||
|
.br
|
||
|
.B spectral
|
||
|
.br
|
||
|
.B inertial
|
||
|
.br
|
||
|
.B linear
|
||
|
.br
|
||
|
.B random
|
||
|
.br
|
||
|
.B scattered
|
||
|
.br
|
||
|
.B zpinch
|
||
|
.br
|
||
|
.B infile=filename
|
||
|
.br
|
||
|
The last option,
|
||
|
.B infile,
|
||
|
reads the assignment vector from and input file. When using this option,
|
||
|
no other load balancing is performed. In addition, the is a sub-option,
|
||
|
.B outfile=filename,
|
||
|
that will write out the assignment vector after the load balancing is
|
||
|
complete.
|
||
|
.PP
|
||
|
The
|
||
|
.B -s
|
||
|
option is used to specify parameters for the eigensolver, if the
|
||
|
method utilizes an eigensolver. Parameters which can be specified are:
|
||
|
.PP
|
||
|
.B tolerance=value
|
||
|
.br
|
||
|
.B use_rqi
|
||
|
.br
|
||
|
.B vmax=value
|
||
|
.PP
|
||
|
The
|
||
|
.B -o
|
||
|
option gives the name of the
|
||
|
.I NemesisI
|
||
|
output file. By default the output file name is generated from the
|
||
|
input file name with different additions depending on the method being
|
||
|
used for load balancing and the number of processors for which the
|
||
|
load balance was generated.
|
||
|
.PP
|
||
|
The
|
||
|
.B -w
|
||
|
option is used to specify how to weight the graph of the problem once
|
||
|
it is generated. Currently
|
||
|
.I read
|
||
|
,
|
||
|
.I eb
|
||
|
, and
|
||
|
.I edges
|
||
|
sub-options are supported. The
|
||
|
.I read
|
||
|
sub-option allows the reading in of weights from an ExodusII file.
|
||
|
Nodal values are read for nodal decompositions and elemental values
|
||
|
for elemental decompositions. Along with the
|
||
|
.I read
|
||
|
sub-option other sub-options which can be specified are the name of the
|
||
|
variable, either nodal or elemental depending on the method requested,
|
||
|
as it exists in the ExodusII input file. This variable can either be
|
||
|
specified via it's name with the
|
||
|
.I var_name
|
||
|
sub-option. Or it can be specified with it's index via the
|
||
|
.I var_index
|
||
|
sub-option.
|
||
|
In addition the time index from which to read the given variable can
|
||
|
also be specified with the
|
||
|
.I time_index
|
||
|
sub-option. The
|
||
|
.I eb
|
||
|
sub-option is used to give a specific weight to a given element block.
|
||
|
The format to give block
|
||
|
.I n
|
||
|
a weight of
|
||
|
.I m
|
||
|
is
|
||
|
.br
|
||
|
eb=n:m
|
||
|
.br
|
||
|
If the sub-option
|
||
|
.I eb
|
||
|
comes after the
|
||
|
.I read
|
||
|
sub-option in the weighting specifications, then the value for the
|
||
|
element block overwrites the values read in from the ExodusII file.
|
||
|
If the
|
||
|
.I eb
|
||
|
sub-option comes before the
|
||
|
.I read
|
||
|
sub-option, then it is ignored. The
|
||
|
.I edges
|
||
|
sub-option is used to turn on edge weights for an elemental decomposition.
|
||
|
The default is that edge weights are not calculated. This sub-option is
|
||
|
ignored for a nodal decomposition.
|
||
|
.PP
|
||
|
The
|
||
|
.B -g
|
||
|
option allows the user to break up the element blocks into groups
|
||
|
that will be passed separately to Chaco. If the group descriptor
|
||
|
has white spaces in it, then it must be enclosed in quotes (").
|
||
|
The following rules apply to the descriptor:
|
||
|
.br
|
||
|
- Blocks are grouped using the slash "/" character.
|
||
|
.br
|
||
|
- Ids are separated with white space, comma, or by the hyphen "-"
|
||
|
character. The hyphen, "-", is used to include all element blocks between
|
||
|
the two given ID's.
|
||
|
.br
|
||
|
- Any blocks not included in the list, are added to a separate group.
|
||
|
.br
|
||
|
- Duplicates in the list are permitted, but the last group to which a
|
||
|
block is placed is where the block will go.
|
||
|
.br
|
||
|
- Block IDs not in the exodus file are quietly ignored.
|
||
|
.PP
|
||
|
The
|
||
|
.B -c
|
||
|
option turns off some of the error checking that nem_slice does while
|
||
|
finding elemental communication maps.
|
||
|
.PP
|
||
|
.SH INPUT FILE FORMAT
|
||
|
The optional ASCII input file closely mimics the command line
|
||
|
options. The file consists of a sequence of keys, each with a tab or
|
||
|
``='' separated value. The order of the keys is not significant and a
|
||
|
line beginning with a ``#'' is considered to be a comment. The
|
||
|
following keys are recognized by
|
||
|
.I nem_slice
|
||
|
:
|
||
|
.PP
|
||
|
Input ExodusII File
|
||
|
.br
|
||
|
Output NemesisI File
|
||
|
.br
|
||
|
Graph Type
|
||
|
.br
|
||
|
Decomposition Method
|
||
|
.br
|
||
|
Solver Specifications
|
||
|
.br
|
||
|
Machine Description
|
||
|
.br
|
||
|
Weighting Specifications
|
||
|
.br
|
||
|
Misc Options
|
||
|
.PP
|
||
|
The case of the words forming a key is not significant.
|
||
|
.SH COMMAND LINE EXAMPLES
|
||
|
To obtain a nodal load balance for a 2D mesh parallel computer with
|
||
|
processors arrayed in a 10x20 grid using multi-level decomposition:
|
||
|
.PP
|
||
|
.B nem_slice -n -m mesh=10x20 -l multikl geom.exoII
|
||
|
.PP
|
||
|
For the same problem to be run on a 5 dimensional hypercube use:
|
||
|
.PP
|
||
|
.B nem_slice -n -m hcube=5 -l multikl geom.exoII
|
||
|
.PP
|
||
|
To generate an elemental based load balance using a spectral method,
|
||
|
with KL refinement, for a 3D mesh architecture, with the RQI
|
||
|
eigensolver and quadrisection:
|
||
|
.PP
|
||
|
.B nem_slice -e -m mesh=10x5x2 -l spectral,kl,num_sects=1 -s use_rqi
|
||
|
.PP
|
||
|
To generate a nodal based load balance with Inertial+KL with weights
|
||
|
read from nodal results contained in an ExodusII file use:
|
||
|
.PP
|
||
|
.B nem_slice -n -m mesh=10x5x2 -l inertial,kl -w read=weights.exoII,vindx=1,time=2
|
||
|
.PP
|
||
|
.SH ASCII INPUT FILE EXAMPLE
|
||
|
(See the file "input-ldbl" distributed with the executable)
|
||
|
.SH SEE ALSO
|
||
|
.B The Chaco User's Guide Version 1.0;
|
||
|
B. Hendrickson, R. Leland; Sandia Report SAND93-2339, Nov. 1993
|
||
|
.PP
|
||
|
.B NemesisI: A Set of Functions for Describing Unstructured Finite
|
||
|
.B Element Data on Parallel Computers;
|
||
|
G. Hennigan, J. Shadid
|
||
|
.SH NOTES
|
||
|
.B nem_slice
|
||
|
attempts to be smart about parsing command line, or ASCII input file,
|
||
|
options. However, some errors may sneak through, in which case
|
||
|
.B Chaco
|
||
|
is relied upon for error detection.
|
||
|
.SH AUTHORS
|
||
|
Gary L. Hennigan, Sandia National Labs, Dept. 9221
|
||
|
.br
|
||
|
Matthew M. St. John, Sandia National Labs, Dept. 9221
|
||
|
.br
|
||
|
John N. Shadid, Sandia National Labs, Dept. 9221
|