Internal:GPU Usage

From crtc.cs.odu.edu
Revision as of 08:46, 17 October 2019 by Spyridon97 (talk | contribs)
Jump to navigation Jump to search

PODM Refactoring

  1. Find a Predicates library to replace CGAL library. A possible solution is Predicate Construction Kit and its code.
  2. Update Boost, ITK, VTK libraries
  3. Choose a specific C++ coding style
  4. Use C++17 standard
  5. Create a general Mesh Format which supports both 3D and 4D (and higher dimensions). That will be helpful for Linear interpolation.
  6. 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 creating a templated PODM wrapper✔
    2. Decouple Args from PODM
    3. Create setArguments function
    4. Remove setImage* functions and create setInputImage(ImageType::Pointer, string)
    5. Remove GetShortFileName
    6. Template it for 3-4 dimensions (or even more or less)
  7. 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,
        2. Algorithm, Software, and Hardware Optimizations for Delaunay Mesh Generation on Simultaneous Multithreaded Architectures
  8. Add PDR
  9. Decouple Contentions managers and Load Balancing from the Meshing Procedure.
  10. Add Smoothing