Internal:GPU Usage: Difference between revisions
Jump to navigation
Jump to search
Spyridon97 (talk | contribs) |
Spyridon97 (talk | contribs) |
||
| Line 1: | Line 1: | ||
===PODM Refactoring=== | ===PODM Refactoring=== | ||
# Choose a specific C++ coding style✔ | # Choose a specific C++ coding style✔ | ||
# Use C++17 standard✔ | # Use C++17 standard✔ | ||
# | # Remove the CGAL library by replacing its predicates with the following one which is way faster: (TODO) | ||
## Benchmark: [https://crtc.cs.odu.edu/Internal:4D_Predicates_Benchmark PCK vs CGAL Predicates Benchmark] | |||
## Paper: [https://hal.inria.fr/hal-01225202 Predicate Construction Kit] | |||
## Code: [https://gforge.inria.fr/frs/?group_id=5833 code] | |||
# Remove Boost library by replacing its threads with std::thread (ask Christos for Barrier). (TODO) | |||
# Remove VTK library and replace it with MeshIO (TODO) | |||
# Update ITK to the newest version (TODO) | |||
# Combine 3D and 4D PODM versions into one abstract program, in which the user will choose what he wants to use. | # Combine 3D and 4D PODM versions into one abstract program, in which the user will choose what he wants to use. | ||
## Create namespaces for each PODM which will help | ## Create namespaces for each PODM which will help to create a templated PODM wrapper✔ | ||
## Template the common code of each PODM for 3-4 dimensions (or even more or less) | ## Template the common code of each PODM for 3-4 dimensions (or even more or less) (TODO) | ||
## Keep only useful Defines | ## Keep only useful Defines | ||
## For PODM3D (TODO) | |||
## For PODM4D✔ | |||
# Use GPUs: | # Use GPUs: | ||
## For “itkSignedMaurerParallelDistanceMapImageFilter” code: | ## For “itkSignedMaurerParallelDistanceMapImageFilter” code: | ||
### Understand the code by reading the [https://cepm.cs.odu.edu/pub/papers/journal_23.pdf Parallel N-Dimensional Exact Signed Euclidean Distance Transform] paper | ### Understand the code by reading the [https://cepm.cs.odu.edu/pub/papers/journal_23.pdf Parallel N-Dimensional Exact Signed Euclidean Distance Transform] paper | ||
### Study if it’s beneficial to convert it in order to use GPUs. See the papers: | ### Study if it’s beneficial to convert it in order to use GPUs. See the papers: | ||
#### [https://cepm.cs.odu.edu/pub/papers/journal_18.pdf A Multigrain Delaunay Mesh Generation Method for Multicore SMT-based Architectures], | #### [https://cepm.cs.odu.edu/pub/papers/journal_18.pdf A Multigrain Delaunay Mesh Generation Method for Multicore SMT-based Architectures], (TODO) | ||
#### [https://cepm.cs.odu.edu/pub/papers/journal_19.pdf Algorithm, Software, and Hardware Optimizations for Delaunay Mesh Generation on Simultaneous Multithreaded Architectures] | #### [https://cepm.cs.odu.edu/pub/papers/journal_19.pdf Algorithm, Software, and Hardware Optimizations for Delaunay Mesh Generation on Simultaneous Multithreaded Architectures] (TODO) | ||
## For Predicates: | ## For Predicates: | ||
### Based on [https://imr.sandia.gov/_assets/documents/2019_IMR_Papers/6B.1-de%20Matos%20Menezes.pdf ACCELERATING THE EXACT EVALUATION OF GEOMETRIC PREDICATES WITH GPUS] | ### Based on [https://imr.sandia.gov/_assets/documents/2019_IMR_Papers/6B.1-de%20Matos%20Menezes.pdf ACCELERATING THE EXACT EVALUATION OF GEOMETRIC PREDICATES WITH GPUS] (TODO) | ||
### Based on [https://ieeexplore.ieee.org/abstract/document/8692354 GPredicates - GPU Implementation of Robust and Adaptive Floating-Point Predicates for Computational Geometry] | ### Based on [https://ieeexplore.ieee.org/abstract/document/8692354 GPredicates - GPU Implementation of Robust and Adaptive Floating-Point Predicates for Computational Geometry] (TODO) | ||
# Decouple Contentions managers and Load Balancing from the Meshing Procedure. | # Decouple Contentions managers and Load Balancing from the Meshing Procedure. | ||
# Add PDR | # Add PDR | ||
# Add Smoothing | # Add Smoothing | ||
Revision as of 10:47, 25 February 2020
PODM Refactoring
- Choose a specific C++ coding style✔
- Use C++17 standard✔
- Remove the CGAL library by replacing its predicates with the following one which is way faster: (TODO)
- Benchmark: PCK vs CGAL Predicates Benchmark
- Paper: Predicate Construction Kit
- Code: code
- Remove Boost library by replacing its threads with std::thread (ask Christos for Barrier). (TODO)
- Remove VTK library and replace it with MeshIO (TODO)
- Update ITK to the newest version (TODO)
- Combine 3D and 4D PODM versions into one abstract program, in which the user will choose what he wants to use.
- Create namespaces for each PODM which will help to create a templated PODM wrapper✔
- Template the common code of each PODM for 3-4 dimensions (or even more or less) (TODO)
- Keep only useful Defines
- For PODM3D (TODO)
- For PODM4D✔
- Use GPUs:
- For “itkSignedMaurerParallelDistanceMapImageFilter” code:
- Understand the code by reading the Parallel N-Dimensional Exact Signed Euclidean Distance Transform paper
- Study if it’s beneficial to convert it in order to use GPUs. See the papers:
- For Predicates:
- For “itkSignedMaurerParallelDistanceMapImageFilter” code:
- Decouple Contentions managers and Load Balancing from the Meshing Procedure.
- Add PDR
- Add Smoothing