Difference between revisions of "Cores"

From crtc.cs.odu.edu
Jump to: navigation, search
(Partially-coupled approaches)
(Introduction)
Line 5: Line 5:
  
 
==Introduction==
 
==Introduction==
 +
<li style="display: inline-block;">
 +
[[File:Telescopic.png|frameless|right|600px]]
 +
 
Our long term goal is to achieve extreme-scale adaptive CFD simulations on the
 
Our long term goal is to achieve extreme-scale adaptive CFD simulations on the
complex, heterogeneous
+
complex, heterogeneous High Performance Computing (HPC) platforms. To achieve this
High Performance
+
goal, we proposed in a telescopic approach (see
Computing (HPC)
+
Figure) [https://crtc.cs.odu.edu/pub/html_output/details.php?&title=Telescopic%20Approach%20for%20Extreme-scale%20Parallel%20Mesh%20Generation%20for%20CFD%20Applications&paper_type=1&from=year]. The telescopic approach is critical in leveraging the
platforms. To achieve this
+
concurrency that exists at multiple levels in anisotropic and adaptive
goal, we proposed in a
+
simulations. At the chip and node levels, the telescopic approach
telescopic approach (see
+
deploys a Parallel Optimistic (PO) layer and Parallel Data Refinement
Figure 1) [1] [2]. The
+
(PDR) layer, respectively. Finally, between different nodes  the loosely-coupled approach is employed
telescopic approach is
+
 
critical in leveraging the
+
The requirements for parallel mesh
concurrency that exists at
 
multiple levels in
 
anisotropic and adaptive
 
simulations. At the chip
 
and node levels, the
 
telescopic approach
 
deploys a Parallel
 
Optimistic (PO) layer and
 
Parallel Data Refinement
 
(PDR) layer, respectively
 
(see Sections below). In
 
this paper, we focus on the implementation of PDR. In future efforts, the PDR layer will
 
be implemented on top of the PO layer [3]. The PDR layer relies on theory presented for
 
parallel mesh generation and adaptivity [4] [5] [6]. The requirements for parallel mesh
 
 
generation and adaptivity are:
 
generation and adaptivity are:
Figure 1 Telescopic Approach to parallel mesh generation and adaptation and
+
# '''Stability:''' The quality of the mesh generated in parallel must be comparable to that of a mesh generated sequentially. The quality is defined in terms of the shape of the elements (using a chosen location/error-dependent metric), and the number of the elements (fewer is better for the same shape constraint).
PDR layer in the middle.
+
# '''Robustness:''' the ability of the software to correctly and efficiently process any input data. Operator intervention into a massively parallel computation is not only highly expensive, but most likely infeasible due to the large number of concurrently processed sub-problems.
1. Stability: the quality of the mesh generated in parallel must be comparable to that
+
# '''Code re-use:''' a modular design of the parallel software that builds upon previously designed sequential meshing code, such that it can be replaced and/or updated with a minimal effort. Code re-use is feasible only if the code satisfies the reproducibility criterion, identified for the first time in this project. However, the experience from this project indicated that the complexity of state-of-the-art codes inhibits their modifications to a degree that their integration with parallel frameworks like PDR becomes impractical.
of a mesh generated sequentially. The quality is defined in terms of the shape of
+
# '''Scalability:''' the ratio of the time taken by the best sequential implementation to the time taken by the parallel implementation. The speedup is always limited by the inverse of the sequential fraction of the software, and therefore all non-trivial stages of the computation must be parallelized to leverage the current architectures with millions of cores.
the elements (using a chosen location/error-dependent metric), and the number of
+
# '''Reproducibility:''' Which can be expressed into two forms:
the elements (fewer is better for the same shape constraint).
+
:#''Strong Reproducibility'' requires that the sequential mesh generation code, when executed with the same input, produces identical results under the following modes of execution:
2. Robustness: the ability of the software to correctly and efficiently process any
+
:## continuous without restarts,and
input data. Operator intervention into a massively parallel computation is not only
+
:## with restarts and reconstructions of the internal data structures.
highly expensive, but most likely infeasible due to the large number of
+
:#''Weak Reproducibility'' requires that the sequential mesh generation code, when executed with the same input, produces results of the same quality under the following modes of execution:
concurrently processed sub-problems.
+
:## continuous without restarts, and
3. Code re-use: a modular design of the parallel software that builds upon
+
:## with restarts and reconstructions of the internal data structures.
previously designed sequential meshing code, such that it can be replaced and/or
+
</li>
updated with a minimal effort. Code re-use is feasible only if the code satisfies the
+
 
reproducibility criterion, identified for the first time in this project. However, the
 
experience from this project indicated that the complexity of state-of-the-art codes
 
inhibits their modifications to a degree that their integration with parallel
 
frameworks like PDR becomes impractical.
 
4. Scalability: the ratio of the time taken by the best sequential implementation to
 
the time taken by the parallel implementation. The speedup is always limited by
 
the inverse of the sequential fraction of the software, and therefore all non-trivial
 
stages of the computation must be parallelized to leverage the current
 
architectures with millions of cores.
 
The experience from the PDR implementation suggests that the code-reuse criterion
 
ought to be adjusted for several reasons: (i) complexity of industrial strength sequential
 
mesh generation codes and (ii) their reproducibility properties.  
 
  
 
=== Tightly-coupled approaches ===
 
=== Tightly-coupled approaches ===
 
This groups is experimented with two tightly-coupled approaches :  
 
This groups is experimented with two tightly-coupled approaches :  
 
# CDT3D
 
# CDT3D
# Parallel Optimistic Delaunay Mesh Generation for medical images, for details see [LINK]
+
# Parallel Optimistic Delaunay Mesh Generation for medical images, for details see [https://crtc.cs.odu.edu/pub/html_output/details.php?&title=High%20Quality%20Real-Time%20Image-to-Mesh%20Conversion%20for%20Finite%20Element%20Simulations&paper_type=2&from=year]
  
 
=== Partially-coupled approaches ===
 
=== Partially-coupled approaches ===
Line 67: Line 44:
 
:# [[Cores/PDR | Parallel Data Refinement using TetGen ]]
 
:# [[Cores/PDR | Parallel Data Refinement using TetGen ]]
 
:# [[PDR.AFLR  | Parallel Data Refinement using AFLR]]
 
:# [[PDR.AFLR  | Parallel Data Refinement using AFLR]]
:# Parallel Data Refinement using Parallel Optimistic Delaunay Mesh Generation for medical images , for details see [LINK to Daming papers]
+
:# Parallel Data Refinement using Parallel Optimistic Delaunay Mesh Generation for medical images , for details see [https://crtc.cs.odu.edu/pub/html_output/details.php?&title=Scalable%203D%20Hybrid%20Parallel%20Delaunay%20Image-to-Mesh%20Conversion%20Algorithm%20for%20Distributed%20Shared%20Memory%20Architectures&paper_type=2&from=year] and  [https://crtc.cs.odu.edu/pub/html_output/details.php?&title=A%20Hybrid%20Parallel%20Delaunay%20Image-to-Mesh%20Conversion%20Algorithm%20Scalable%20on%20Distributed-Memory%20Clusters&paper_type=2&from=year]
 +
 
  
 
:''' Domain Decomposition'''
 
:''' Domain Decomposition'''
: PCDM LINK TO PAPER
+
: [https://crtc.cs.odu.edu/pub/html_output/details.php?&title=Algorithm%20872:%20Parallel%202D%20Constrained%20Delaunay%20Mesh%20Generation&paper_type=2&from=year PCDM]
 
:extension to 3D is in progress.
 
:extension to 3D is in progress.
  

Revision as of 05:23, 29 March 2018

Each page lists the activities within the different cores for metrics-driven extreme scale parallel anisotropic mesh generation


Parallel Adaptive Mesh Generation

Introduction

  • Telescopic.png

    Our long term goal is to achieve extreme-scale adaptive CFD simulations on the complex, heterogeneous High Performance Computing (HPC) platforms. To achieve this goal, we proposed in a telescopic approach (see Figure) [1]. The telescopic approach is critical in leveraging the concurrency that exists at multiple levels in anisotropic and adaptive simulations. At the chip and node levels, the telescopic approach deploys a Parallel Optimistic (PO) layer and Parallel Data Refinement (PDR) layer, respectively. Finally, between different nodes the loosely-coupled approach is employed

    The requirements for parallel mesh generation and adaptivity are:

    1. Stability: The quality of the mesh generated in parallel must be comparable to that of a mesh generated sequentially. The quality is defined in terms of the shape of the elements (using a chosen location/error-dependent metric), and the number of the elements (fewer is better for the same shape constraint).
    2. Robustness: the ability of the software to correctly and efficiently process any input data. Operator intervention into a massively parallel computation is not only highly expensive, but most likely infeasible due to the large number of concurrently processed sub-problems.
    3. Code re-use: a modular design of the parallel software that builds upon previously designed sequential meshing code, such that it can be replaced and/or updated with a minimal effort. Code re-use is feasible only if the code satisfies the reproducibility criterion, identified for the first time in this project. However, the experience from this project indicated that the complexity of state-of-the-art codes inhibits their modifications to a degree that their integration with parallel frameworks like PDR becomes impractical.
    4. Scalability: the ratio of the time taken by the best sequential implementation to the time taken by the parallel implementation. The speedup is always limited by the inverse of the sequential fraction of the software, and therefore all non-trivial stages of the computation must be parallelized to leverage the current architectures with millions of cores.
    5. Reproducibility: Which can be expressed into two forms:
    1. Strong Reproducibility requires that the sequential mesh generation code, when executed with the same input, produces identical results under the following modes of execution:
      1. continuous without restarts,and
      2. with restarts and reconstructions of the internal data structures.
    2. Weak Reproducibility requires that the sequential mesh generation code, when executed with the same input, produces results of the same quality under the following modes of execution:
      1. continuous without restarts, and
      2. with restarts and reconstructions of the internal data structures.

  • Tightly-coupled approaches

    This groups is experimented with two tightly-coupled approaches :

    1. CDT3D
    2. Parallel Optimistic Delaunay Mesh Generation for medical images, for details see [2]

    Partially-coupled approaches

    Data Decomposition
    1. Parallel Data Refinement using TetGen
    2. Parallel Data Refinement using AFLR
    3. Parallel Data Refinement using Parallel Optimistic Delaunay Mesh Generation for medical images , for details see [3] and [4]


    Domain Decomposition
    PCDM
    extension to 3D is in progress.

    Loosely-coupled approach

    Loosely coupled using CDT3D [MiniRTS workshop slides]

    Parallel Runtime Software Systems

    Real-time Medical Image Computing

    Real Time Medical Image Computing