skip to main content
US FlagAn official website of the United States government
dot gov icon
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
https lock icon
Secure .gov websites use HTTPS
A lock ( lock ) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.


Title: GPU Computation of the Euler Characteristic Curve for Imaging Data
Persistent homology is perhaps the most popular and useful tool offered by topological data analysis, with point-cloud data being the most common setup. Its older cousin, the Euler characteristic curve (ECC) is less expressive, but far easier to compute. It is particularly suitable for analyzing imaging data, and is commonly used in fields ranging from astrophysics to biomedical image analysis. These fields are embracing GPU computations to handle increasingly large datasets. We therefore propose an optimized GPU implementation of ECC computation for 2D and 3D grayscale images. The goal of this paper is twofold. First, we offer a practical tool, illustrating its performance with thorough experimentation, but also explain its inherent shortcomings. Second, this simple algorithm serves as a perfect backdrop for highlighting basic GPU programming techniques that make our implementation so efficient, and some common pitfalls we avoided. This is intended as a step towards a wider usage of GPU programming in computational geometry and topology software. We find this is particularly important as geometric and topological tools are used in conjunction with modern, GPU-accelerated machine learning frameworks.  more » « less
Award ID(s):
1855760
PAR ID:
10417463
Author(s) / Creator(s):
; ;
Date Published:
Journal Name:
Proceedings of the annual ACM Symposium on Computational Geometry
ISSN:
1055-6257
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Early childhood caries (ECC) is not only the most common chronic childhood disease but also disproportionately affects underserved populations. Of those, children living in Thailand have been found to have high rates of ECC and severe ECC. Frequently, the cause of ECC is blamed on a handful of cariogenic organisms, such as Streptococcus mutans and Streptococcus sobrinus . However, ECC is a multifactorial disease that results from an ecological shift in the oral cavity from a neutral pH (~7.5) to an acidic pH (<5.5) environment influenced by the host individual’s biological, socio-behavioral, and lifestyle factors. Currently, there is a lack of understanding of how risk factors at various levels influence the oral health of children at risk. We applied a statistical machine learning approach for multimodal data integration (parallel and hierarchical) to identify caries-related multiplatform factors in a large cohort of mother-child dyads living in Chiang Mai, Thailand (N=177). Whole saliva (1 mL) was collected from each individual for DNA extraction and 16S rRNA sequencing. A set of maternal and early childhood factors were included in the data analysis. Significantly, vaginal delivery, preterm birth, and frequent sugary snacking were found to increase the risk for ECC. The salivary microbial diversity was significantly different in children with ECC or without ECC. Results of linear discriminant analysis effect size (LEfSe) analysis of the microbial community demonstrated that S. mutans , Prevotella histicola , and Leptotrichia hongkongensis were significantly enriched in ECC children. Whereas Fusobacterium periodonticum was less abundant among caries-free children, suggesting its potential to be a candidate biomarker for good oral health. Based on the multimodal data integration and statistical machine learning models, the study revealed that the mode of delivery and snack consumption outrank salivary microbiome in predicting ECC in Thai children. The biological and behavioral factors may play significant roles in the microbial pathobiology of ECC and warrant further investigation. 
    more » « less
  2. Many popular vetting tools for Android applications use static code analysis techniques. In particular, Inter-procedural Data-Flow Graph (IDFG) construction is the computation at the core of Android static data-flow analysis and consumes most of the analysis time. Many analysis tools use a worklist algorithm, an iterative fixed-point approach, to construct the IDFG. In this paper, we observe that a straightforward GPU parallelization of the worklist algorithm leads to significant underutilization of the GPU resources. We identify four performance bottlenecks, namely, frequent dynamic memory allocations, high branch divergence, workload imbalance, and irregular memory access patterns. Accordingly, we propose GDroid, a GPU-based worklist algorithm implementation with multiple fine-grained optimizations tailored to common characteristics of Android applications. The optimizations considered are: matrix-based data structure, memory access-based node grouping, and worklist merging. Our experimental evaluation, performed on 1000 Android applications, shows that the proposed optimizations are beneficial to performance, and GDroid can achieve up to 128X speedups against a plain GPU implementation. 
    more » « less
  3. Topological Data Analysis (TDA) utilizes concepts from topology to analyze data. In general, TDA considers objects similar based on a topological invariant. Topological invariants are properties of the topological space that are homeomorphic; resilient to deformation in the space. The Euler-Poincaré Characteristic is a classic topological invariant that represents the alternating sum of the vertices, edges, faces, and higherorder cells of a closed surface. Tracking the Euler characteristic over a topological filtration produces an Euler Characteristic Curve (ECC). This study introduces a computational technique to determine the ECC of R2 or R3 data; the technique generalizes to higher dimensions. This technique separates landscapes of lowerorder homologies utilizing triangulations of the space. 
    more » « less
  4. Abstract We have developed a differentiable programming framework for truncated hierarchical B-splines (THB-splines), which can be used for several applications in geometry modeling, such as surface fitting and deformable image registration, and can be easily integrated with geometric deep learning frameworks. Differentiable programming is a novel paradigm that enables an algorithm to be differentiated via automatic differentiation, i.e., using automatic differentiation to compute the derivatives of its outputs with respect to its inputs or parameters. Differentiable programming has been used extensively in machine learning for obtaining gradients required in optimization algorithms such as stochastic gradient descent (SGD). While incorporating differentiable programming with traditional functions is straightforward, it is challenging when the functions are complex, such as splines. In this work, we extend the differentiable programming paradigm to THB-splines. THB-splines offer an efficient approach for complex surface fitting by utilizing a hierarchical tensor structure of B-splines, enabling local adaptive refinement. However, this approach brings challenges, such as a larger computational overhead and the non-trivial implementation of automatic differentiation and parallel evaluation algorithms. We use custom kernel functions for GPU acceleration in forward and backward evaluation that are necessary for differentiable programming of THB-splines. Our approach not only improves computational efficiency but also significantly enhances the speed of surface evaluation compared to previous methods. Our differentiable THB-splines framework facilitates faster and more accurate surface modeling with local refinement, with several applications in CAD and isogeometric analysis. 
    more » « less
  5. The design and analysis of parallel algorithms are both fundamental to the set of high-performance, parallel, and distributed computing skills required to use modern computing resources efficiently. In this work, we present an approach of teaching parallel computing within an undergraduate algorithms course that combines the paradigms of dynamic programming and multithreaded parallelization. We have developed a visualization tool built with the Thread Safe Graphics Library that enables interactive demonstration of parallelization techniques for two fundamental dynamic programming problems, 0/1 Knapsack and Longest Common Subsequence. We describe the implementation of the tool, the real-time animation it produces, and the results of using it in class. The tool is publicly available to be used directly or as a basis on which to build visualizations of other parallel dynamic programming algorithms. 
    more » « less