Spatial Partitioning of Data Done Outside EnSight

Choose Don't decompose in the SOS options tab if the data is already partioned outside of EnSight and you don't want EnSight to do the decomposition. This option requires that each portion of the model be prepared as a stand-alone partitioned dataset, that can be read as such by an EnSight server. For example, if it were EnSight gold format, there will be a casefile (.case or .encas) and associated gold geometry and variable results file(s) for each partitioned dataset. Depending on the format of the data that you are reading, you can use an SOS casefile (.sos), which is a simple ASCII file which informs the SOS about pertinent information needed to run a server on each of the machines that will compute the various portions and what case file partition it is to read. The SOS will read the sos casefile (.sos), and each server will read one of these pre-partitioned (.case or .encas) datasets. The SOS will conglomerate geometry together so that the client sees the whole model. The EnSight formats, PLOT3D, and any user-defined readers using our 1.0 or 2.0 APIs can be used

The advantage of external partitioning is that once the data has been partitioned once, the partitioning is done. EnSight's SOS and servers can then operate without expending any effort on partitioning. The disadvantage is that it is not easily changed. Some formats require that the number of servers be the same as the number of partitioned datasets. However, for EnSight Gold format, EnSight now has the capability of running more than one of these datasets on a given server - so it is possible to run the model on fewer servers than the number of partitioned datasets. And the number of those servers is easily changed. See Load Spatially Decomposed Case Files.

Data can be partitioned prior to reading in EnSight, for example, by a solver, or by an external partitioning utility as described below.

Partitioning with a Solver, or Self-Partitioning


Note:  If you do your own partitioning, be aware that each dataset is no longer required to have all parts present in all of the partitioned data files. EnSight now uses the part name as the unique identifier, so, if the part is present in the dataset, it must be consistently named everywhere: in all partitioned datasets over all timesteps. Therefore one can fairly easily partition as desired, whether that be with decomposed parts across several datasets, or with parts empty (or even nonexistent) in all but one of the datasets, etc. In EnSight Case Gold format, an empty part need only have the part line, the part number, and a consistent description line (or, now, it can be left out altogether).


Multiple Case File Interface

When running EnSight in parallel (either SOS or RLSOS), the steps for you to load spatially decomposed Case Gold datasets is the same as when running non-parallel. EnSight Enterprise (formerly HPC or Gold) automatically handles the assignment of the multiple Case Gold datasets to Servers, whether they are selected interactively using the Data Reader dialog MCF interface (see Reader Basics ), or using the EnSight_MCF reader with one .mcf file (see Multiple Case File Format). EnSight will round-robin the assignment of datasets to servers as long as there is at least one Case Gold dataset for every server.

EnSight's Partition Utility

Included in the EnSight distribution is a command-line Partition Utility that will take EnSight Case Gold multi-file format, C-binary unstructured datasets and partition them for you using geometric partitioning (thick slicing the geometry along it's longest edge into chunks). This utility will work for static, changing coordinate or changing geometry datasets. It will not work for ASCII files, for single file format, measured/particle data, or datasets with multiple timesets (i.e. all variables must be on same timeset). It will also not work for structured data (which must be server decomposed, see below).

Simply type partition at the command prompt to begin. This command line program will prompt you for the name of the input case file and the number of partitions in the x, y, and z and whether or not to use ghost elements, etc. and will create (in a directory of your choosing) a case sos file (.sos) pointing to the partitioned case files ready for loading into EnSight server of server mode.

You should place each partitioned portion of the model on the machine that will compute that portion. On the machine where the EnSight SOS will be run, you will need to place the sos casefile. If you move the case files around to different locations and/or different machines, you will need to edit the sos file (.sos) to properly indicate the machines and directories where the case files are located. Once you load the data into EnSight Server of Server mode, calculate the variable ServerNumber in the EnSight calculator and color your geometry by this variable to visualize the spatial distribution chosen by the partition utility. The partition utility simply takes the bounding box of the data and divides it into a grid according to the number of partitions in the x, y, and z-directions so works best on data that is cubic in shape.