Internal:GPU Usage: Difference between revisions

From crtc.cs.odu.edu
Jump to navigation Jump to search
Spyridon97 (talk | contribs)
Spyridon97 (talk | contribs)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
===PODM Refactoring===
=Explore Usage of GPU=
# Choose a specific C++ coding style✔
# For “itkSignedMaurerParallelDistanceMapImageFilter” code:
# Use C++17 standard✔
## 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
# Remove the CGAL library by replacing its predicates with the following one which is way faster: (TODO)
## Study if it’s beneficial to convert it in order to use GPUs. See the papers:
## Benchmark: [https://crtc.cs.odu.edu/Internal:4D_Predicates_Benchmark PCK vs CGAL Predicates Benchmark]
### [https://crtc.cs.odu.edu/pub/papers/journal_18.pdf A Multigrain Delaunay Mesh Generation Method for Multicore SMT-based Architectures], (TODO)
## Paper: [https://hal.inria.fr/hal-01225202 Predicate Construction Kit]
### [https://crtc.cs.odu.edu/pub/papers/journal_19.pdf Algorithm, Software, and Hardware Optimizations for Delaunay Mesh Generation on Simultaneous Multithreaded Architectures] (TODO)
## Code:  [https://gforge.inria.fr/frs/?group_id=5833 code]
# For Predicates:
# Remove Boost library by replacing its threads with std::thread (ask Christos for Barrier). (TODO)
## 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)
# Remove VTK library and replace it with MeshIO (TODO)
## Based on [https://ieeexplore.ieee.org/abstract/document/8692354 GPredicates - GPU Implementation of Robust and Adaptive Floating-Point Predicates for Computational Geometry] (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 [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:
#### [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] (TODO)
## 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] (TODO)
### 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.
# Add PDR
# Add Smoothing

Latest revision as of 16:20, 30 April 2020