Guide to Partitioning Unstructured Meshes for Parallel Computing
|
|
|
- Brendan Nicholson
- 10 years ago
- Views:
Transcription
1 Guide to Partitioning Unstructured Meshes for Parallel Computing Phil Ridley Numerical Algorithms Group Ltd, Wilkinson House, Jordan Hill Road, Oxford, OX2 8DR, UK, April 17, 2010 Abstract Unstrucutured grids are used frequently in finite element or finite volume analysis. Unlike structured grids which are mostly applicable to finite difference schemes, unstructured grids require a list of the connectivity which specifies the way that a given set of vertices form the individual elements. To implement models that use an unstructured numerical decomposition on a distributed memory computer system, careful consideration is required when partitioning the initial grid. This Computational Science and Engineering (CSE) report discusses the process of partitioning an unstructured grid. First, we outline the algorithms behind graph partitioning and introduce the most commonly used applications for performing this work. Two widely used packages are introduced namely METIS and Scotch, together with how they may be implemented for use on HECToR and this section of the report is intended to be used as a quick start guide. Finally, we compare the efficiency of partitions produced from using these two packages by demonstrating their use in partitioning an unstructured grid for use with the CABARET finite volume code. 1
2 Contents 1 Introduction Background Structured and Unstructured Grids Describing an Unstructured Grid Partitioning the Grid for Distributed Computation Graph Format for Representation of an Unstructured Grid Description of the Dual Graph Format The Graph Partitioning Problem Algorithms for Finding Partitions The METIS Graph Partitioning Application Background Compiling on HECToR Partitioning an Unstructured Grid Using Scotch for Unstructured Grid Partitioning Background Compiling on HECToR Partitioning an Unstructured Grid Comparison of the Efficiency of METIS and Scotch Outline CABARET Conclusion 15 2
3 1 Introduction 1.1 Background Scientific codes which use finite element or finite volume based methods e.g. from general purpose CFD and Structural Mechanics, are most likely to employ unstructured grid methods for their underlying numerical decomposition. The feature which separates the unstructured methods from the structured ones is that we also need to manage the connectivity which specifies the way the grid or mesh is constructed. This is not to say that the underlying algorithms will not scale as efficiently to as many cores as a structured grid based scheme would, but that more effort may be required to achieve this. In terms of computational consideration this involves an additional overhead for the efficiency in data manipulation arising from indirect addressing, non-contiguous memory access and optimisation of inter process communication. For optimum inter process communication an efficient partitioning algorithm is required and this is the main discussion for this report. Algorithms for finding efficient partitions of highly unstructured graphs are critical for developing solutions for a wide range of problems in many application areas on distributed memory parallel computers. For example, large-scale numerical simulations based on finite element methods will require the finite element mesh to be distributed to the individual processors. The distribution must ensure that the number of elements assigned to each processor is roughly the same, and also that the number of adjacent elements assigned to different processors is minimized. The goal of the first condition is to achieve efficient load balancing for the computations among the processors. The second condition ensures that the communication resulting from the placement of adjacent elements to different processors is minimized. The process of graph partitioning [1] can be used to successfully satisfy these conditions by firstly converting the finite element mesh into a graph, and then partitioning it in an optimal way. 1.2 Structured and Unstructured Grids All interior vertices of a structured mesh or grid will have an equal number of adjacent elements. Structured meshes typically contain all quadlitateral (2-D) or hexahedral(3-d) elements. Algorithms employed to create such meshes generally involve complex iterative smoothing methods which attempt to align elements with boundaries or physical domains. More importantly, each cell (element) in the grid can be addressed by an index (i, j) in two dimensions or (i, j, k) in three dimensions, and each vertex has coordinates (i dx, j dy) in 2-D or (i dx, j dy, k dz) in 3-D for some real numbers dx, dy, and dz which represent the grid spacing. Unstructured meshes do not have the requirement that all interior vertices will have an equal number of adjacent elements and thus allow any number of elements to meet at a single vertex. Triangle (2-D) and Tetrahedral (3-D) meshes are most commonly thought of when referring to unstructured meshing, although quadrilateral and hexahedral meshes can also be unstructured. Unlike structured meshes or grids each cell (element) cannot be addressed simply by an index, instead a set of piecewise polynomial interpolation functions which are more specifically known as basis functions are employed. In addition we also require a list of the connectivity which specifies the way a given set of vertices make up the individual elements. There is a large amount of both commericial and freely available software [2] that deals with structured and unstructured meshing and this is more commonly referred to as grid generation. For the purpose of this report we shall not be concerned with the direct use of these packages. But we still need to be aware of the output that they produce, (i.e. the unstructured finite element grid) since this in itself will be a main source of input to any application that uses an unstructured grid approach. 3
4 1.3 Describing an Unstructured Grid Any application code which uses an unstructured numerical decomposition will require some form of input which describes the mesh or grid topology. This data will always consist of a list of NVERT vertices where each V i for i = 1..NVERT is a co-ordinate in 2 or 3 dimensional cartesian space. Furthermore how these vertices form the actual grid must also be described and this will be in the form of a cell or element connectivity list. Such a list will contain NCELL cells (or elements) where each cell contains the global reference numbers of N vertices where N is the number of vertices per cell, e.g. for tetrahedral cells N = 4 and for hexahedral cells N = 8. Usually NVERT and NCELL are placed at the beginning of any data file which may be used to store the unstructured grid data and this is so that dynamic arrays can be allocated ready for reading in the data. In a serial implementation of an unstructured grid based code there will be direct memory access to the entire mesh topology, but for the Single Process Multiple Data (SPMD) technique employed by a distributed memory version of the code, each process will have access to its own local copy of a section of the mesh i.e. a partition. In terms of keeping track of the global effects of the computation halo sections around the partition also need to be implemented. Most importantly from a software development view there are two main considerations, firstly that an efficient method of keeping track of the local to global reference of each of the individual vertices is required. Secondly, an efficient partition of the mesh is required in the first place. The first consideration is to aim for on node (intra-process) optimisation and the second consideration is to acheive optimal load balancing for the problem. 2 Partitioning the Grid for Distributed Computation 2.1 Graph Format for Representation of an Unstructured Grid Some widely used non commercial partitioning packages are Chaco [3], Jostle [4], METIS [5] and Scotch [6]. These all require the dual graph format to be used for representation of the input mesh. However, METIS does have the facility to process an unstrucutured grid from its topological description. This feature is extremely useful for converting a mesh to the dual graph format. The dual graph format of an unstructured grid may list the connectivity of each vertex or each cell (element), depending upon which option is chosen. Hence, for an unstructured grid we may calculate the dual graph of either the vertices or the elements. From a parallel processing viewpoint we are concerned with the dual graph of the elements (cells) since partitioning on the grid cells is more likely to achieve an optimum load balanced problem rather than partitioning with the vertices. The dual graph of an unstructured grid based on the grid cells is simply a list of length NCELL where each of the entries lists the neighbouring cells for each of the individual cells i = 1..NCELL. Each entry can therefore have a maximum of N neighbours where N is the number of sides of the individual element e.g. for tetrahedral cells N = 4 and for hexahedral cells N = 8. To illustrate the idea of a dual graph with respect to the cells of the original mesh let us consider the trivial triangular finite element mesh in Figure 1. Here there are 3 linear triangular finite elements and a total of 5 vertices which make up the mesh. The corresponding dual graph with respect to the cells (or elements) is shown in Figure 2 or in tabular format as
5 Figure 1: Trivial Triangular Mesh Figure 2: Dual graph for the elements 2.2 Description of the Dual Graph Format The first line contains the number of elements of the original mesh (NCELL), which is the same as the number of vertices in the dual graph V, following is the number of edges E. The following E lines then correspond to each vertex entry and give a list of each of its neighbors. This format is adopted in Chaco, Jostle and METIS, however, Scotch adopts a slightly different one which will be described later. 2.3 The Graph Partitioning Problem The common partitioning packages approach the graph partitioning problem in one of two ways, dual recursive bipartitioning methods [7] and multi-level methods [8] and [9]. The multilevel method is in fact a specific case of a more general dual recursive bipartitioning method. Scotch in particular adopts the more general recursive bipartitioning algorithm. 5
6 2.4 Algorithms for Finding Partitions The dual recursive bipartitioning method uses a divide and conquer algorithm to recursively allocate cells (i.e. the V dual graph vertices), to each partition. At each step the algorithm partitions the domain into two disjoint subdomains and calls a bipartitioning routine to efficiently allocate the vertices to these two domains. The specific bipartitioning algorithm optimises the allocation of vertices by using a cost function. There are several options to choose from for the choice of specific algorithm (multi-level is one) and the cost function should be a quantitative representation of the communication for our distributed processing system. The multi-level or k-way graph partitioning problem (GPP) can be stated as follows: given a graph G(V, E), with vertices V (which can be weighted) and edges (which can also be weighted), partition the vertices into k disjoint sets such that each set contains the same vertex weight and such that the cut-weight, i.e. the total weight of edges cut by the partition, is minimised. The GPP is usually cast as a combinatorial optimisation problem with the cut-weight as the objective function to be minimised and the balancing of vertex weight acting as a constraint. However, it is quite common to slightly relax this constraint in order to improve the partition quality. 3 The METIS Graph Partitioning Application 3.1 Background The latest version of METIS is and is available from [5]. The package has been developed as the result of a collaboration between the University of Minnesota, Army High Performance Computing Research Center, Cray Research Inc. and the Pittsburgh Supercomputing Center. Related papers are available at [5] and [10]. METIS is a set of serial programs for partitioning graphs and finite element meshes. The algorithms implemented in METIS are based on the multi-level recursive-bisection, multi-level k-way, and multi-constraint partitioning schemes. The multi-level method reduces the size of the original graph, performs a partition on this and then finally uncoarsens the graph to find a partition for the original graph. METIS can be used as a suite of stand alone partitioning applications or by linking a user s own Fortran or C application to the METIS library. ParMETIS is an MPI-based parallel library that extends the functionality provided by METIS. It includes routines that are especially suited for large scale parallel numerical simulations and it is able calculate high quality partitions of very large meshes directly, without requiring the application to create the underlying graph. Both METIS and ParMETIS can be used in parallel distrubuted computing applications but for the purpose of this report we shall only consider the use of serial METIS for partitioning, the resulting partition will then be used to generate a parallel decompostion for use by an application which uses an unstructured grid approach to solve a CFD problem. METIS can be distributed for both commerical and non-commerical use, subject to the conditions mentioned on [5]. Prior permission to distribute or include METIS with an application must also be obtained by sending to [email protected]. 3.2 Compiling on HECToR A gzipped tarball of METIS should first be downloaded with wget from [11]. It is probably most convenient to do this from the user s work directory and the package may be extracted with tar -zxvf metis-4.0.tar.gz The object code is built from a Makefile in the /metis 4.0 directory. Before typing make the user should note that the code defines it s own log2 function but this is also defined as 6
7 part of the C99 standard. So the -c89 flag must be specified during compilation. Hence, in /metis 4.0/Makefile.in the user should specify COPTIONS = c89. The compilation can then be initiated with make The directory structure of the METIS package is as follows : Doc - Contains METIS s user manual Graphs - Contains some small sample graphs and meshes that can be used with METIS. Lib - Contains the code for METIS s library Programs - Contains the code for METIS s stand-alone programs Test - Contains a comprehensive tester for METIS s partitioning routines. However, for this report we shall only be concerned with the executables mesh2dual, kmetis, partdmesh and the METIS library - libmetis.a. These should all be present in the top level metis 4.0 directory. 3.3 Partitioning an Unstructured Grid Let us introduce the following unstructured grid as an example to demonstrate the partitioning features of METIS, for this example we wish to generate an efficient partition for 128 distributed meshes of the original grid. If we consider the first few lines of the following unstructured hexahedral mesh file (hexcells.mesh), on the first line at the start of the file we have the number of cells (or finite elements) followed by the element type. The type value can be 1,2,3 or 4 which represents triangular, tetrahedral, hexahedral or quadlitateral elements respectively. The type in the example is hexahedral, hence the rest of this file will contain lines, with each line consisting of 8 vertex references The above format is ready for direct use with METIS to calculate a partition with the partdmesh command. However, this application firstly converts the mesh into a dual graph before calculating the partition so it may be more convenient do this first with the mesh2dual application. This is especially useful if we need to produce several partitions of different sizes as it saves generating the dual graph each time. The METIS instructions mesh2dual and kmetis can be used to produce 128 partitions of the original mesh in hexcells.mesh.dgraph.part.128. >./mesh2dual hexcells.mesh ********************************************************************** METIS Copyright 1998, Regents of the University of Minnesota Mesh Information Name: hexcells.mesh, #Elements: , #Nodes: , Etype: HEX Forming Dual Graph Dual Information: #Vertices: , #Edges: Timing Information I/O: Dual Creation:
8 ********************************************************************** >./kmetis hexcells.mesh.dgraph 128 ********************************************************************** METIS Copyright 1998, Regents of the University of Minnesota Graph Information Name: hexcells.mesh.dgraph, #Vertices: , #Edges: , #Parts: 128 K-way Partitioning way Edge-Cut: 25959, Balance: 1.03 Timing Information I/O: Partitioning: (KMETIS time) Total: ********************************************************************** This could have been done with partdmesh and the following produces the output file hexcells.mesh.epart.128 which is identical to hexcells.mesh.dgraph.part.128. >./partdmesh hexcells.mesh 128 ********************************************************************** METIS Copyright 1998, Regents of the University of Minnesota Mesh Information Name: hexcells.mesh, #Elements: , #Nodes: , Etype: HEX Partitioning Dual Graph way Edge-Cut: 25959, Balance: 1.03 Timing Information I/O: Partitioning: ********************************************************************** The contents of the file hexcells.map will then contain the corresponding partition number from 0 to 127 for the total number of cells (i.e ). In this section we have demonstrated the use of the stand alone METIS applications mesh2dual, kmetis, partdmesh, but it is also possible to link the METIS library to the user s own Fortran (or C) code and use the subroutines METIS PartGraphKway, METIS MeshToDual or METIS PartMeshDual to perform the partitioning automatically. 4 Using Scotch for Unstructured Grid Partitioning 4.1 Background The latest version of the Scotch package is and is available for download from [6]. Scotch is developed at the Laboratoire Bordelais de Recherche en Informatique (LaBRI) of the Universit Bordeaux I, and now within the ScAlApplixe project of INRIA Bordeaux Sud-Ouest. The Dual Recursive Bipartitioning (or DRB) mapping algorithm along with several graph bipartitioning heuristics which are based on a divide and conquer approach, have all been implemented in the Scotch software package. Recently, the ordering capabilities of Scotch have been extended to native mesh structures by the application of hypergraph partitioning algorithms. The parallel features of Scotch are referred to as PT-Scotch (Parallel Threaded 8
9 Scotch). Both packages share a signicant amount of code and PT-Scotch transfers control to the sequential routines of the Scotch library when the subgraphs on which it operates are located on a single processor. Both Scotch and PT-Scotch are extremely useful for partitioning grids for use in parallel distrubuted computing applications. For the purpose of this report we shall only consider the use of serial Scotch for partitioning, the resulting partition will then be used to generate a parallel decompostion for use in the example CFD application code. Scotch is available under a dual licensing basis. It is downloadable from the Scotch web page as free software to all interested parties willing to use it as a library or to contribute to it as a testbed for new partitioning and ordering methods. It can also be distributed under other types of licenses and conditions, e.g. to parties that wish to embed it tightly into proprietary software. The free software license under which Scotch 5.1 is distributed is the CeCILL-C license [12], which has basically the same features as the GNU LGPL (Lesser General Public License): ability to link the code as a library to any free/libre or even proprietary software, ability to modify the code and to redistribute these modications. Version 4.0 of Scotch was distributed under the LGPL itself. 4.2 Compiling on HECToR A gzipped tarball of Scotch should first be downloaded with wget from [13]. It is most probably convenient to do this from the user s work directory and the package is extracted with tar -zxvf scotch_5.1.7.tar.gz The object code is built from a Makefile which requires the input file Makefile.inc to set the machine specific compile options. The user should then cd ~/scotch_5.1/src/ There is already a suitable Makefile.inc for a CrayXT which should be copied into this file before compiling Scotch as follows. cp Make.inc/Makefile.inc.x86-64\_cray-xt4\_linux2}./Makefile.inc make Check that the executables have been compiled with ls ~/scotch_5.1/bin/ If the directory listing shows the following then Scotch has been compiled successfully. acpl amk_fft2 amk_hy amk_p2 gbase gmap gmk_m2 gmk_msh gmtst Partitioning an Unstructured Grid We shall be using Scotch to produce a partition for the same unstructured grid we considered in the METIS example. Scotch does not have the facility to read in a user s mesh directly and therefore the first step will be to convert a mesh from the following format into the dual graph form which Scotch requires. If we consider the first few lines of the following unstructured hexahedral mesh file (hexcells.mesh), at the start of the file we have the number of cells (or finite elements) followed by the element type on the first line. The type value can be 1,2,3 or 4 which represents triangular, tetrahedral, hexahedral or quadlitateral elements respectively. The type in this example is hexahedral, hence the rest of this file will contain lines, with each line consisting of 8 vertex references
10 Before we can use Scotch to partition this mesh we need to convert it into the dual graph format. This can be conveniently performed by the use of the METIS application mesh2dual. From the appropriate location for the METIS executables one should issue the following command mesh2dual hexcells.mesh This will produce an output file hexcells.mesh.dgraph However, this is not quite what we require for Scotch. So we need to re-compile METIS and mesh2dual so that it will output the number of each neighbouring cell at the beginning of every line. This is trivial and the necessary file to alter is metis-4.0/programs/io.c in the function WriteGraph. The following code snippet shows the modified version which also sets the element numbering to 0 rather than 1. void WriteGraph(char *filename, int nvtxs, idxtype *xadj, idxtype *adjncy) { int i, j; FILE *fpout; if ((fpout = fopen(filename, "w")) == NULL) { printf("failed to open file %s\n", filename); exit(0); } /* fprintf(fpout, "%d %d", nvtxs, xadj[nvtxs]/2);*/ fprintf(fpout, "%d %d", nvtxs, xadj[nvtxs]); for (i=0; i<nvtxs; i++) { fprintf(fpout, "\n"); fprintf(fpout, "%d ",xadj[i+1]-xadj[i]); for (j=xadj[i]; j<xadj[i+1]; j++) fprintf(fpout, "%d ", adjncy[j]); /* fprintf(fpout, " %d", adjncy[j]+1); */ } } fclose(fpout); After modifying metis-4.0/programs/io.c to the above one should re-compile METIS and repeat mesh2dual hexcells.mesh 10
11 The contents of the output file hexcells.mesh.dgraph should then be This is still not quite ready for Scotch since we just need to do the following minor ammendment. Firstly, one should copy or rename this file to hexcells.grf. Then edit this file so that the first line is altered as follows The file hexcells.grf is now ready for processing with Scotch. To check the consistency of this Scotch.grf file. The executable gtst can be used as follows > bin/gtst grf/hexcells.grf S Vertex nbr= S Vertex load min=1 max=1 sum= avg=1 dlt=0 S Vertex degree min=3 max=6 sum= avg=5.772 dlt= S Edge nbr= S Edge load min=1 max=1 sum= avg=1 dlt=0 To achieve our goal in obtaining a partition of the original hexahedral mesh, the following will produce 128 partitions for the mesh in the output file hexcells.map. This is similar to the METIS output in hexcells.mesh.epart.128 and hexcells.mesh.dgraph.part.128. > echo cmplt 128 bin/gmap grf/hexcells.grf - grf/hexcells.map The contents of the file hexcells.map will then contain the total number of cells (i.e ) followed by the cell number and its corresponding partition number from 0 to 127. In this section we have demonstrated use of the stand alone Scotch applications gtst and gmap it is also possible to link the scotch library to the user s own Fortran (or C) code and use the subroutines SCOTCH graphcheck or SCOTCH graphmap 5 Comparison of the Efficiency of METIS and Scotch 5.1 Outline In this section we shall compare the practical use of METIS and Scotch when applied to an unstructured CFD application, namely the CABARET Fortran 90/MPI code. We shall compare the performance of the CABARET code when using partitioned meshes produced via METIS, Scotch and also from the natural(i.e. contiguous) finite element ordering. In the remainder of this section a summary of these results will then be presented. 11
12 Figure 3: x direction velocity component of the flow field at time steps 5.2 CABARET To accurately resolve turbulent flow structures high-fidelity CFD simulations require the use of millions of grid points. The Compact Accurately Boundary Adjusting high-resolution Technique (CABARET) is capable of producing accurate results with at least 10 times more efficiency than conventional high resolution schemes. CABARET [14] is based on a local second-order finite difference scheme which lends itself extremely well to distributed memory parallel computer systems. For Reynolds numbers of 10 4 and Mach numbers as low as 0.05 the CABARET method gives rapid convergence without requiring additional preconditioning. In this section we shall discuss the performance of the CABARET unstructured hexahedral code on HECToR by considering different partitioning methods. Performance of the code for up to 256 processing cores will be discussed in relation to the effectiveness of the load balancing for grids generated from the METIS and Scotch partitioning applications. The CABARET code involves a 3 phase computation which currently uses pure MPI for the communications, for each iteration of the scheme there are 3 nearest neighbour type communications and a global all reduce. The computational grid is constructed with 8 vertex (i.e. linear) hexahedral finite elements. The parallel decomposition is required to be unstructured to facilitate future irregularity in the discretisation scheme. For our test case demonstration we shall consider the turbulent flow around a 3-D backward facing step using a fixed grid of finite elements. Results will be given for 276 iterations of the numerical scheme and timings will not include any I/O. To demonstrate the method, Figure 3 shows the normalised x direction velocity component of the flow field at time steps and Figure 4 demonstrates the accuracy of the method by showing the correctly resolved streamlines around the recirculation zone after time steps. To compare the effectiveness of the partitions produced by METIS and Scotch, the following test was carried out on 32, 64, 128 and 256 cores using the quad core processing nodes of HECToR phase 2a. A fixed grid of hexahedral finite elements was partitioned and distributed meshes were produced which were suitable to use with the parallel CABARET code. We have used METIS, Scotch and contiguous partitioning for the tests. The METIS and Scotch partitioning was performed by using both these packages with the methods described earlier in this report. The contiguous partitioning method was performed by simply dividing the grid 12
13 Figure 4: Streamlines around the recirculation zone after time steps Figure 5: Timings for 256 time steps of CABARET 13
14 Figure 6: Number of cells in each of 128 partitions size, i.e by the number of cores in question p, so the first 1, 2,.., p cells get assigned ( ) ( ) to process 1, the next p + 1,.., p to process 2, etc and then any remainder (e.g. r) is added to the first r 1 processes. This method does not take into account any optimisation factor for the communications and relies entirely upon the efficiency of the element ordering from the initial mesh generation. The contiguous partitioning method produces consecutively numbered elements within each local process and this approach is not likely to result in very good performance since elements that belong to different geometrical regions of the grid may get partitioned to the same process. The timings for 256 time steps of the CABARET code using the different methods for partitioning are shown in Figure 5. Each line shows results for METIS, Scotch and contiguous partitioning for 32, 64, 128 and 256 cores. In all cases Scotch produces slightly better performance which is around a 3% reduction in wall clock time compared with METIS. However, for 128 cores there is a noticeable increase to nearly 10%. Also for this number of partitions it is noticeable that the contiguous method gives similar performance to METIS. To give an idea of the load balancing for the 128 core case Figure 6 shows the number of cells placed in each of the 128 partitions from each of the 3 methods. Another influencing factor with the CABARET application is the number of cells in each partition which contain boundary faces. If there is an unfair distribution of the boundaries within the partitions then certain partitions may have extra communications to cope with. For this particular example, the problem size is fixed at cells and increasing the number of cores to run the problem over will increase the communications overhead, at 32 cores the total time spent in communications is around 54% which rises to 78% for 256 cores. So for 256 cores all 3 cases are dominated by communication and there is less benefit to be gained by efficient partitioning. However, for the smaller numbers of partitions the efficiency of the particular partitioner is evidently more important. 14
15 These results demonstrate that Scotch does give slightly better performance when used to produce a partitioning for an unstructured hexahedral mesh for use with CABARET. METIS is slightly easier to use since it does allow the user to provide it with input which is close to that of the original unstructured grid whereas Scotch requires the input to be in the form of a dual graph. However, this could easily be incorporated within a pre-processing stage which could be performed prior to the partitioning phase. 6 Conclusion In this report we have introduced the idea of an unstructured grid. Application codes using such a grid type will need an efficient partitioning method for the grid itself if the code is to be ported to a distributed memory parallel computer. We have summarised the use of the METIS and Scotch partitioning packages which may be used to perform this operation and have demonstrated their use on HECToR phase 2a. This has been achieved by comparing their use to produce partitions for a fixed sized unstructured hexahedral grid for use by the CABARET CFD code. For a representative test case results have shown that the partitions produced by using Scotch give slightly better performance over those produced from METIS. Although, METIS is generally easier to use than Scotch for this particular application. References [1] "An efficient heuristic procedure for partitioning graphs", B. W. Kernighan and S. Lin, Bell Systems Technical Journal 49 (1970), pp Also available at bwk/btl.mirror/new/partitioning.pdf [2] roberts/software.html [3] [4] c.walshaw/jostle/ [5] karypis/metis/ [6] pelegrin/scotch/ [7] "Static mapping by dual recursive bipartitioning of process and architecture graphs", F. Pelegrini, Proceedings of the IEEE Scalable High-Performance Computing Conference (1994), pp [8] "A multilevel algorithm for partitioning graphs", B. Hendrickson and R. Leland, Proceedings of the IEEE/ACM SC95 Conference(1995), pp Also available at bahendr/papers/multilevel.ps [9] "Multilevel k-way partitioning scheme for irregular graphs", G. Karypis and V. Kumar, Journal of Parallel and Distributed Computing Vol.48 (1998), pp Also available at karypis [10] "A Fast and Highly Quality Multilevel Scheme for Partitioning Irregular Graphs", G. Karypis and V. Kumar, SIAM Journal on Scientific Computing Vol. 20 (1999), pp [11] [12] [13] tar.gz [14] "A New Efficient High-Resolution Method for Nonlinear Problems in Aeroacoustics", S.A. Karabasov and V.M. Goloviznin, American Institute of Aeronautics and Astronautics Journal Vol. 45 (2007), pp
Mesh Partitioning and Load Balancing
and Load Balancing Contents: Introduction / Motivation Goals of Load Balancing Structures Tools Slide Flow Chart of a Parallel (Dynamic) Application Partitioning of the initial mesh Computation Iteration
Distributed Dynamic Load Balancing for Iterative-Stencil Applications
Distributed Dynamic Load Balancing for Iterative-Stencil Applications G. Dethier 1, P. Marchot 2 and P.A. de Marneffe 1 1 EECS Department, University of Liege, Belgium 2 Chemical Engineering Department,
CSE Case Study: Optimising the CFD code DG-DES
CSE Case Study: Optimising the CFD code DG-DES CSE Team NAG Ltd., [email protected] Naveed Durrani University of Sheffield June 2008 Introduction One of the activities of the NAG CSE (Computational
A FAST AND HIGH QUALITY MULTILEVEL SCHEME FOR PARTITIONING IRREGULAR GRAPHS
SIAM J. SCI. COMPUT. Vol. 20, No., pp. 359 392 c 998 Society for Industrial and Applied Mathematics A FAST AND HIGH QUALITY MULTILEVEL SCHEME FOR PARTITIONING IRREGULAR GRAPHS GEORGE KARYPIS AND VIPIN
Fast Multipole Method for particle interactions: an open source parallel library component
Fast Multipole Method for particle interactions: an open source parallel library component F. A. Cruz 1,M.G.Knepley 2,andL.A.Barba 1 1 Department of Mathematics, University of Bristol, University Walk,
Lecture 7 - Meshing. Applied Computational Fluid Dynamics
Lecture 7 - Meshing Applied Computational Fluid Dynamics Instructor: André Bakker http://www.bakker.org André Bakker (2002-2006) Fluent Inc. (2002) 1 Outline Why is a grid needed? Element types. Grid types.
Mesh Generation and Load Balancing
Mesh Generation and Load Balancing Stan Tomov Innovative Computing Laboratory Computer Science Department The University of Tennessee April 04, 2012 CS 594 04/04/2012 Slide 1 / 19 Outline Motivation Reliable
P013 INTRODUCING A NEW GENERATION OF RESERVOIR SIMULATION SOFTWARE
1 P013 INTRODUCING A NEW GENERATION OF RESERVOIR SIMULATION SOFTWARE JEAN-MARC GRATIEN, JEAN-FRANÇOIS MAGRAS, PHILIPPE QUANDALLE, OLIVIER RICOIS 1&4, av. Bois-Préau. 92852 Rueil Malmaison Cedex. France
FRIEDRICH-ALEXANDER-UNIVERSITÄT ERLANGEN-NÜRNBERG
FRIEDRICH-ALEXANDER-UNIVERSITÄT ERLANGEN-NÜRNBERG INSTITUT FÜR INFORMATIK (MATHEMATISCHE MASCHINEN UND DATENVERARBEITUNG) Lehrstuhl für Informatik 10 (Systemsimulation) Massively Parallel Multilevel Finite
Scientific Computing Programming with Parallel Objects
Scientific Computing Programming with Parallel Objects Esteban Meneses, PhD School of Computing, Costa Rica Institute of Technology Parallel Architectures Galore Personal Computing Embedded Computing Moore
Performance Comparison of a Vertical Axis Wind Turbine using Commercial and Open Source Computational Fluid Dynamics based Codes
Performance Comparison of a Vertical Axis Wind Turbine using Commercial and Open Source Computational Fluid Dynamics based Codes Taimoor Asim 1, Rakesh Mishra 1, Sree Nirjhor Kaysthagir 1, Ghada Aboufares
A Load Balancing Tool for Structured Multi-Block Grid CFD Applications
A Load Balancing Tool for Structured Multi-Block Grid CFD Applications K. P. Apponsah and D. W. Zingg University of Toronto Institute for Aerospace Studies (UTIAS), Toronto, ON, M3H 5T6, Canada Email:
Parallel Programming at the Exascale Era: A Case Study on Parallelizing Matrix Assembly For Unstructured Meshes
Parallel Programming at the Exascale Era: A Case Study on Parallelizing Matrix Assembly For Unstructured Meshes Eric Petit, Loïc Thebault, Quang V. Dinh May 2014 EXA2CT Consortium 2 WPs Organization Proto-Applications
Multiphase Flow - Appendices
Discovery Laboratory Multiphase Flow - Appendices 1. Creating a Mesh 1.1. What is a geometry? The geometry used in a CFD simulation defines the problem domain and boundaries; it is the area (2D) or volume
ParFUM: A Parallel Framework for Unstructured Meshes. Aaron Becker, Isaac Dooley, Terry Wilmarth, Sayantan Chakravorty Charm++ Workshop 2008
ParFUM: A Parallel Framework for Unstructured Meshes Aaron Becker, Isaac Dooley, Terry Wilmarth, Sayantan Chakravorty Charm++ Workshop 2008 What is ParFUM? A framework for writing parallel finite element
Introduction to CFD Analysis
Introduction to CFD Analysis 2-1 What is CFD? Computational Fluid Dynamics (CFD) is the science of predicting fluid flow, heat and mass transfer, chemical reactions, and related phenomena by solving numerically
Partitioning and Dynamic Load Balancing for Petascale Applications
Partitioning and Dynamic Load Balancing for Petascale Applications Karen Devine, Sandia National Laboratories Erik Boman, Sandia National Laboratories Umit Çatalyürek, Ohio State University Lee Ann Riesen,
Performance of Dynamic Load Balancing Algorithms for Unstructured Mesh Calculations
Performance of Dynamic Load Balancing Algorithms for Unstructured Mesh Calculations Roy D. Williams, 1990 Presented by Chris Eldred Outline Summary Finite Element Solver Load Balancing Results Types Conclusions
A scalable multilevel algorithm for graph clustering and community structure detection
A scalable multilevel algorithm for graph clustering and community structure detection Hristo N. Djidjev 1 Los Alamos National Laboratory, Los Alamos, NM 87545 Abstract. One of the most useful measures
Load Balancing Strategies for Parallel SAMR Algorithms
Proposal for a Summer Undergraduate Research Fellowship 2005 Computer science / Applied and Computational Mathematics Load Balancing Strategies for Parallel SAMR Algorithms Randolf Rotta Institut für Informatik,
ABSTRACT FOR THE 1ST INTERNATIONAL WORKSHOP ON HIGH ORDER CFD METHODS
1 ABSTRACT FOR THE 1ST INTERNATIONAL WORKSHOP ON HIGH ORDER CFD METHODS Sreenivas Varadan a, Kentaro Hara b, Eric Johnsen a, Bram Van Leer b a. Department of Mechanical Engineering, University of Michigan,
CONVERGE Features, Capabilities and Applications
CONVERGE Features, Capabilities and Applications CONVERGE CONVERGE The industry leading CFD code for complex geometries with moving boundaries. Start using CONVERGE and never make a CFD mesh again. CONVERGE
Computational Modeling of Wind Turbines in OpenFOAM
Computational Modeling of Wind Turbines in OpenFOAM Hamid Rahimi [email protected] ForWind - Center for Wind Energy Research Institute of Physics, University of Oldenburg, Germany Outline Computational
LSCFD: Meshing Tools for Open Source CFD A Practical Point of View
LSCFD: Meshing Tools for Open Source CFD A Practical Point of View Juha Kortelainen Report: Meshing Tools for Open Source CFD A Practical Point of View LSCFD Tools for Large Scale
HPC Wales Skills Academy Course Catalogue 2015
HPC Wales Skills Academy Course Catalogue 2015 Overview The HPC Wales Skills Academy provides a variety of courses and workshops aimed at building skills in High Performance Computing (HPC). Our courses
walberla: Towards an Adaptive, Dynamically Load-Balanced, Massively Parallel Lattice Boltzmann Fluid Simulation
walberla: Towards an Adaptive, Dynamically Load-Balanced, Massively Parallel Lattice Boltzmann Fluid Simulation SIAM Parallel Processing for Scientific Computing 2012 February 16, 2012 Florian Schornbaum,
Lecture 12: Partitioning and Load Balancing
Lecture 12: Partitioning and Load Balancing G63.2011.002/G22.2945.001 November 16, 2010 thanks to Schloegel,Karypis and Kumar survey paper and Zoltan website for many of today s slides and pictures Partitioning
Customer Training Material. Lecture 2. Introduction to. Methodology ANSYS FLUENT. ANSYS, Inc. Proprietary 2010 ANSYS, Inc. All rights reserved.
Lecture 2 Introduction to CFD Methodology Introduction to ANSYS FLUENT L2-1 What is CFD? Computational Fluid Dynamics (CFD) is the science of predicting fluid flow, heat and mass transfer, chemical reactions,
Cluster Scalability of ANSYS FLUENT 12 for a Large Aerodynamics Case on the Darwin Supercomputer
Cluster Scalability of ANSYS FLUENT 12 for a Large Aerodynamics Case on the Darwin Supercomputer Stan Posey, MSc and Bill Loewe, PhD Panasas Inc., Fremont, CA, USA Paul Calleja, PhD University of Cambridge,
CSE 4351/5351 Notes 7: Task Scheduling & Load Balancing
CSE / Notes : Task Scheduling & Load Balancing Task Scheduling A task is a (sequential) activity that uses a set of inputs to produce a set of outputs. A task (precedence) graph is an acyclic, directed
Big Data Graph Algorithms
Christian Schulz CompSE seminar, RWTH Aachen, Karlsruhe 1 Christian Schulz: Institute for Theoretical www.kit.edu Informatics Algorithm Engineering design analyze Algorithms implement experiment 1 Christian
2013 Code_Saturne User Group Meeting. EDF R&D Chatou, France. 9 th April 2013
2013 Code_Saturne User Group Meeting EDF R&D Chatou, France 9 th April 2013 Thermal Comfort in Train Passenger Cars Contact For further information please contact: Brian ANGEL Director RENUDA France [email protected]
MPI Hands-On List of the exercises
MPI Hands-On List of the exercises 1 MPI Hands-On Exercise 1: MPI Environment.... 2 2 MPI Hands-On Exercise 2: Ping-pong...3 3 MPI Hands-On Exercise 3: Collective communications and reductions... 5 4 MPI
An Overview of the Finite Element Analysis
CHAPTER 1 An Overview of the Finite Element Analysis 1.1 Introduction Finite element analysis (FEA) involves solution of engineering problems using computers. Engineering structures that have complex geometry
Load Balancing Strategies for Multi-Block Overset Grid Applications NAS-03-007
Load Balancing Strategies for Multi-Block Overset Grid Applications NAS-03-007 M. Jahed Djomehri Computer Sciences Corporation, NASA Ames Research Center, Moffett Field, CA 94035 Rupak Biswas NAS Division,
Learn CUDA in an Afternoon: Hands-on Practical Exercises
Learn CUDA in an Afternoon: Hands-on Practical Exercises Alan Gray and James Perry, EPCC, The University of Edinburgh Introduction This document forms the hands-on practical component of the Learn CUDA
A Refinement-tree Based Partitioning Method for Dynamic Load Balancing with Adaptively Refined Grids
A Refinement-tree Based Partitioning Method for Dynamic Load Balancing with Adaptively Refined Grids William F. Mitchell Mathematical and Computational Sciences Division National nstitute of Standards
Big Graph Processing: Some Background
Big Graph Processing: Some Background Bo Wu Colorado School of Mines Part of slides from: Paul Burkhardt (National Security Agency) and Carlos Guestrin (Washington University) Mines CSCI-580, Bo Wu Graphs
HPC enabling of OpenFOAM R for CFD applications
HPC enabling of OpenFOAM R for CFD applications Towards the exascale: OpenFOAM perspective Ivan Spisso 25-27 March 2015, Casalecchio di Reno, BOLOGNA. SuperComputing Applications and Innovation Department,
LAMMPS Developer Guide 23 Aug 2011
LAMMPS Developer Guide 23 Aug 2011 This document is a developer guide to the LAMMPS molecular dynamics package, whose WWW site is at lammps.sandia.gov. It describes the internal structure and algorithms
CFD analysis for road vehicles - case study
CFD analysis for road vehicles - case study Dan BARBUT*,1, Eugen Mihai NEGRUS 1 *Corresponding author *,1 POLITEHNICA University of Bucharest, Faculty of Transport, Splaiul Independentei 313, 060042, Bucharest,
Importing Boundary and Volume Meshes
Appendix A. Importing Boundary and Volume Meshes The volume mesh generation scheme of TGrid requires sets of line segments (2D) or triangular and/or quadrilateral elements (3D) defining the boundaries
THE CFD SIMULATION OF THE FLOW AROUND THE AIRCRAFT USING OPENFOAM AND ANSA
THE CFD SIMULATION OF THE FLOW AROUND THE AIRCRAFT USING OPENFOAM AND ANSA Adam Kosík Evektor s.r.o., Czech Republic KEYWORDS CFD simulation, mesh generation, OpenFOAM, ANSA ABSTRACT In this paper we describe
Volumetric Meshes for Real Time Medical Simulations
Volumetric Meshes for Real Time Medical Simulations Matthias Mueller and Matthias Teschner Computer Graphics Laboratory ETH Zurich, Switzerland [email protected], http://graphics.ethz.ch/ Abstract.
High Performance Computing. Course Notes 2007-2008. HPC Fundamentals
High Performance Computing Course Notes 2007-2008 2008 HPC Fundamentals Introduction What is High Performance Computing (HPC)? Difficult to define - it s a moving target. Later 1980s, a supercomputer performs
Introduction to CFD Analysis
Introduction to CFD Analysis Introductory FLUENT Training 2006 ANSYS, Inc. All rights reserved. 2006 ANSYS, Inc. All rights reserved. 2-2 What is CFD? Computational fluid dynamics (CFD) is the science
A Case Study - Scaling Legacy Code on Next Generation Platforms
Available online at www.sciencedirect.com ScienceDirect Procedia Engineering 00 (2015) 000 000 www.elsevier.com/locate/procedia 24th International Meshing Roundtable (IMR24) A Case Study - Scaling Legacy
Mesh Partitioning for Parallel Computational Fluid Dynamics Applications on a Grid
Mesh Partitioning for Parallel Computational Fluid Dynamics Applications on a Grid Youssef Mesri * Hugues Digonnet ** Hervé Guillard * * Smash project, Inria-Sophia Antipolis, BP 93, 06902 Sophia-Antipolis
OpenFOAM Optimization Tools
OpenFOAM Optimization Tools Henrik Rusche and Aleks Jemcov [email protected] and [email protected] Wikki, Germany and United Kingdom OpenFOAM Optimization Tools p. 1 Agenda Objective Review optimisation
Characterizing the Performance of Dynamic Distribution and Load-Balancing Techniques for Adaptive Grid Hierarchies
Proceedings of the IASTED International Conference Parallel and Distributed Computing and Systems November 3-6, 1999 in Cambridge Massachusetts, USA Characterizing the Performance of Dynamic Distribution
Graph Analytics in Big Data. John Feo Pacific Northwest National Laboratory
Graph Analytics in Big Data John Feo Pacific Northwest National Laboratory 1 A changing World The breadth of problems requiring graph analytics is growing rapidly Large Network Systems Social Networks
Distributed communication-aware load balancing with TreeMatch in Charm++
Distributed communication-aware load balancing with TreeMatch in Charm++ The 9th Scheduling for Large Scale Systems Workshop, Lyon, France Emmanuel Jeannot Guillaume Mercier Francois Tessier In collaboration
Interconnection Networks. Interconnection Networks. Interconnection networks are used everywhere!
Interconnection Networks Interconnection Networks Interconnection networks are used everywhere! Supercomputers connecting the processors Routers connecting the ports can consider a router as a parallel
! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.
Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three
Introduction to the Finite Element Method
Introduction to the Finite Element Method 09.06.2009 Outline Motivation Partial Differential Equations (PDEs) Finite Difference Method (FDM) Finite Element Method (FEM) References Motivation Figure: cross
LS-DYNA Scalability on Cray Supercomputers. Tin-Ting Zhu, Cray Inc. Jason Wang, Livermore Software Technology Corp.
LS-DYNA Scalability on Cray Supercomputers Tin-Ting Zhu, Cray Inc. Jason Wang, Livermore Software Technology Corp. WP-LS-DYNA-12213 www.cray.com Table of Contents Abstract... 3 Introduction... 3 Scalability
Load balancing in a heterogeneous computer system by self-organizing Kohonen network
Bull. Nov. Comp. Center, Comp. Science, 25 (2006), 69 74 c 2006 NCC Publisher Load balancing in a heterogeneous computer system by self-organizing Kohonen network Mikhail S. Tarkov, Yakov S. Bezrukov Abstract.
Expanding the CASEsim Framework to Facilitate Load Balancing of Social Network Simulations
Expanding the CASEsim Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd 4 June 2010 Abstract This research has two components, both involving the
Introduction to Visualization with VTK and ParaView
Introduction to Visualization with VTK and ParaView R. Sungkorn and J. Derksen Department of Chemical and Materials Engineering University of Alberta Canada August 24, 2011 / LBM Workshop 1 Introduction
HPC Deployment of OpenFOAM in an Industrial Setting
HPC Deployment of OpenFOAM in an Industrial Setting Hrvoje Jasak [email protected] Wikki Ltd, United Kingdom PRACE Seminar: Industrial Usage of HPC Stockholm, Sweden, 28-29 March 2011 HPC Deployment
Using CFD to improve the design of a circulating water channel
2-7 December 27 Using CFD to improve the design of a circulating water channel M.G. Pullinger and J.E. Sargison School of Engineering University of Tasmania, Hobart, TAS, 71 AUSTRALIA Abstract Computational
5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes.
1. The advantage of.. is that they solve the problem if sequential storage representation. But disadvantage in that is they are sequential lists. [A] Lists [B] Linked Lists [A] Trees [A] Queues 2. The
Fully Automatic Hex Dominant Mesher. Paul Gilfrin Sharc Ltd
Fully Automatic Hex Dominant Mesher Paul Gilfrin Sharc Ltd Sharc Ltd UK About Sharc Developer of Harpoon Founded in 1997 Distributors of Ensight Engineers with CFD/FEA experience Specialise in the integration
Uintah Framework. Justin Luitjens, Qingyu Meng, John Schmidt, Martin Berzins, Todd Harman, Chuch Wight, Steven Parker, et al
Uintah Framework Justin Luitjens, Qingyu Meng, John Schmidt, Martin Berzins, Todd Harman, Chuch Wight, Steven Parker, et al Uintah Parallel Computing Framework Uintah - far-sighted design by Steve Parker
GAMBIT Demo Tutorial
GAMBIT Demo Tutorial Wake of a Cylinder. 1.1 Problem Description The problem to be considered is schematically in fig. 1. We consider flow across a cylinder and look at the wake behind the cylinder. Air
Hypergraph-based Dynamic Load Balancing for Adaptive Scientific Computations
Hypergraph-based Dynamic Load Balancing for Adaptive Scientific Computations Umit V. Catalyurek, Erik G. Boman, Karen D. Devine, Doruk Bozdağ, Robert Heaphy, and Lee Ann Riesen Ohio State University Sandia
Load Balance Strategies for DEVS Approximated Parallel and Distributed Discrete-Event Simulations
Load Balance Strategies for DEVS Approximated Parallel and Distributed Discrete-Event Simulations Alonso Inostrosa-Psijas, Roberto Solar, Verónica Gil-Costa and Mauricio Marín Universidad de Santiago,
A STUDY OF TASK SCHEDULING IN MULTIPROCESSOR ENVIROMENT Ranjit Rajak 1, C.P.Katti 2, Nidhi Rajak 3
A STUDY OF TASK SCHEDULING IN MULTIPROCESSOR ENVIROMENT Ranjit Rajak 1, C.P.Katti, Nidhi Rajak 1 Department of Computer Science & Applications, Dr.H.S.Gour Central University, Sagar, India, [email protected]
HIGH ORDER WENO SCHEMES ON UNSTRUCTURED TETRAHEDRAL MESHES
European Conference on Computational Fluid Dynamics ECCOMAS CFD 26 P. Wesseling, E. Oñate and J. Périaux (Eds) c TU Delft, The Netherlands, 26 HIGH ORDER WENO SCHEMES ON UNSTRUCTURED TETRAHEDRAL MESHES
Dynamic Load Balancing for Cluster Computing Jaswinder Pal Singh, CSE @ Technische Universität München. e-mail: [email protected]
Dynamic Load Balancing for Cluster Computing Jaswinder Pal Singh, CSE @ Technische Universität München. e-mail: [email protected] Abstract: In parallel simulations, partitioning and load-balancing algorithms
Introduction to ANSYS
Lecture 3 Introduction to ANSYS Meshing 14. 5 Release Introduction to ANSYS Meshing 2012 ANSYS, Inc. March 27, 2014 1 Release 14.5 Introduction to ANSYS Meshing What you will learn from this presentation
Turbomachinery CFD on many-core platforms experiences and strategies
Turbomachinery CFD on many-core platforms experiences and strategies Graham Pullan Whittle Laboratory, Department of Engineering, University of Cambridge MUSAF Colloquium, CERFACS, Toulouse September 27-29
Yousef Saad University of Minnesota Computer Science and Engineering. CRM Montreal - April 30, 2008
A tutorial on: Iterative methods for Sparse Matrix Problems Yousef Saad University of Minnesota Computer Science and Engineering CRM Montreal - April 30, 2008 Outline Part 1 Sparse matrices and sparsity
The PHI solution. Fujitsu Industry Ready Intel XEON-PHI based solution. SC2013 - Denver
1 The PHI solution Fujitsu Industry Ready Intel XEON-PHI based solution SC2013 - Denver Industrial Application Challenges Most of existing scientific and technical applications Are written for legacy execution
Introduction to DISC and Hadoop
Introduction to DISC and Hadoop Alice E. Fischer April 24, 2009 Alice E. Fischer DISC... 1/20 1 2 History Hadoop provides a three-layer paradigm Alice E. Fischer DISC... 2/20 Parallel Computing Past and
Load Balancing on a Non-dedicated Heterogeneous Network of Workstations
Load Balancing on a Non-dedicated Heterogeneous Network of Workstations Dr. Maurice Eggen Nathan Franklin Department of Computer Science Trinity University San Antonio, Texas 78212 Dr. Roger Eggen Department
FD4: A Framework for Highly Scalable Dynamic Load Balancing and Model Coupling
Center for Information Services and High Performance Computing (ZIH) FD4: A Framework for Highly Scalable Dynamic Load Balancing and Model Coupling Symposium on HPC and Data-Intensive Applications in Earth
Static Load Balancing of Parallel PDE Solver for Distributed Computing Environment
Static Load Balancing of Parallel PDE Solver for Distributed Computing Environment Shuichi Ichikawa and Shinji Yamashita Department of Knowledge-based Information Engineering, Toyohashi University of Technology
Basin simulation for complex geological settings
Énergies renouvelables Production éco-responsable Transports innovants Procédés éco-efficients Ressources durables Basin simulation for complex geological settings Towards a realistic modeling P. Havé*,
Customer Training Material. Lecture 4. Meshing in Mechanical. Mechanical. ANSYS, Inc. Proprietary 2010 ANSYS, Inc. All rights reserved.
Lecture 4 Meshing in Mechanical Introduction to ANSYS Mechanical L4-1 Chapter Overview In this chapter controlling meshing operations is described. Topics: A. Global Meshing Controls B. Local Meshing Controls
Scalable coupling of Molecular Dynamics (MD) and Direct Numerical Simulation (DNS) of multi-scale flows
Scalable coupling of Molecular Dynamics (MD) and Direct Numerical Simulation (DNS) of multi-scale flows Lucian Anton 1, Edward Smith 2 1 Numerical Algorithms Group Ltd, Wilkinson House, Jordan Hill Road,
Multiphysics Software Applications in Reverse Engineering
Multiphysics Software Applications in Reverse Engineering *W. Wang 1, K. Genc 2 1 University of Massachusetts Lowell, Lowell, MA, USA 2 Simpleware, Exeter, United Kingdom *Corresponding author: University
Partitioning and Load Balancing for Emerging Parallel Applications and Architectures
Chapter Partitioning and Load Balancing for Emerging Parallel Applications and Architectures Karen D. Devine, Erik G. Boman, and George Karypis. Introduction An important component of parallel scientific
AirWave 7.7. Server Sizing Guide
AirWave 7.7 Server Sizing Guide Copyright 2013 Aruba Networks, Inc. Aruba Networks trademarks include, Aruba Networks, Aruba Wireless Networks, the registered Aruba the Mobile Edge Company logo, Aruba
