Internal:GPU Usage: Difference between revisions

From crtc.cs.odu.edu
Jump to navigation Jump to search
Spyridon97 (talk | contribs)
Spyridon97 (talk | contribs)
Line 5: Line 5:
## Benchmark: [https://crtc.cs.odu.edu/Internal:4D_Predicates_Benchmark PCK vs CGAL Predicates Benchmark]
## 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]
## Paper: [https://hal.inria.fr/hal-01225202 Predicate Construction Kit]
## Code:  [https://gforge.inria.fr/frs/?group_id=5833 code]  
## Code:  [https://gforge.inria.fr/frs/?group_id=5833 Predicate Construction Kit Code]  
# Remove Boost library by replacing its threads with std::thread (ask Christos for Barrier). (TODO)
# Remove Boost library by replacing its threads with std::thread (ask Christos for Barrier). (TODO)
# Remove VTK library and replace it with MeshIO (TODO)
# Remove VTK library and replace it with MeshIO (TODO)

Revision as of 10:49, 25 February 2020

PODM Refactoring

  1. Choose a specific C++ coding style✔
  2. Use C++17 standard✔
  3. Remove the CGAL library by replacing its predicates with the following one which is way faster: (TODO)
    1. Benchmark: PCK vs CGAL Predicates Benchmark
    2. Paper: Predicate Construction Kit
    3. Code: Predicate Construction Kit Code
  4. Remove Boost library by replacing its threads with std::thread (ask Christos for Barrier). (TODO)
  5. Remove VTK library and replace it with MeshIO (TODO)
  6. Update ITK to the newest version (TODO)
  7. Keep only useful Defines
    1. For PODM3D (TODO)
    2. For PODM4D✔
  8. Combine 3D and 4D PODM versions into one abstract program, in which the user will choose what he wants to use.
    1. Create namespaces for each PODM which will help to create a templated PODM wrapper✔
    2. Template the common code of each PODM for 3-4 dimensions (or even more or less) (TODO)
  9. Use GPUs:
    1. For “itkSignedMaurerParallelDistanceMapImageFilter” code:
      1. Understand the code by reading the Parallel N-Dimensional Exact Signed Euclidean Distance Transform paper
      2. Study if it’s beneficial to convert it in order to use GPUs. See the papers:
        1. A Multigrain Delaunay Mesh Generation Method for Multicore SMT-based Architectures, (TODO)
        2. Algorithm, Software, and Hardware Optimizations for Delaunay Mesh Generation on Simultaneous Multithreaded Architectures (TODO)
    2. For Predicates:
      1. Based on ACCELERATING THE EXACT EVALUATION OF GEOMETRIC PREDICATES WITH GPUS (TODO)
      2. Based on GPredicates - GPU Implementation of Robust and Adaptive Floating-Point Predicates for Computational Geometry (TODO)
  10. Decouple Contentions managers and Load Balancing from the Meshing Procedure.
  11. Add PDR
  12. Add Smoothing