III. CONTExTO EN El qUE SE REAlIzó lA SISTEMATIzACIóN
7.14. La adecuación curricular de la secundaria acelerada
In this section, we test time performances of our new algorithm ComputeDiscreteGradient, described in Chapter4, when applied to simulation data of real size.
6.4.1
Method
Simulation Datasets. The simulation datasets considered for these tests correspond to the seven rows reported in Table6.6. The first three datasets are triangle meshes, each having three scalar fields defined on the vertices laying on R3 (see [45] Section 6.2 - Db2 for details on the functions). The last four datasets are collections of time-varying scalar fields defined on a regular grid. For our experimental analysis, we have coupled a subset of the original scalar fields, on a single time step. The Hurricane Isabel WRF Model Data describes the simulation of the Hurricane Isabel. The first dataset Hurricanept is created by coupling the scalar fields
describing pressure (weight of the atmosphere above a grid point) and temperature. The second dataset Hurricaneritstill combines the temperature measurement with two scalar fields describing
the density of clouds in the atmosphere distinguishing between rain clouds and ice clouds. The turbulent combustion simulation instead is a simulation of temporally-evolving plane jet flames. Combustionvopresents two scalar fields describing vorticity and combustion-generated
OH. Combustionhm instead combines the scalar field describing mixture fraction and the one for chi distribution. Hence, the datasets considered are both simplicial and cubical complexes. The number of parameters in the filtering functions of the datasets vary from 2 to 3.
We measure time performances for the discrete gradient retrieval via ComputeDiscreteGradient over a single and a parallel implementation. Starting from the discrete gradient, we compute the filtered Morse complex. This is done by expliciting the boundary maps as described in [92] and discussed in more details in Section6.2. Moreover, we measure timings for the retrieval of the filtered Morse complex.
6.4.2
Implementation
Algorithm implementation The algorithm ComputeDiscreteGradient has been implemented in C++ based on the MDG library [85]. The latter provides an efficient encoding for both triangle meshes and regular grids, as well as a compact encoding for the discrete gradient. The parallel implementation version is based on OpenMP.
Triangle meshes and filtrations are represented as described in Section6.1.2.
Regular Grids. A regular grid is a special case of a 3-dimensional cubical complex. It is represented as a graph G “ pN, Aq where N is the set of cells forming the regular grid and A is the set of incidence relations between the cells in N. Representing a regular grid is a much easier task than representing unstructured meshes (such as triangle meshes). The regular distribution and connectivity of the cells in G makes it possible to encode the topology of the complex implicitly. By enumerating the cells in N, we can extract any relation in A using index calculations without any overhead.
Discrete gradient representation. In the case of triangle meshes, the discrete gradient is encoded in the same way as described in Section6.1.2. In the case of a regular grid, the discrete gradient is encoded by assigning a Boolean value to each arc α in A, where the two cells connected by α are paired in V . Then, the discrete gradient is encoded as an array of bits of length |A|. As discussed in Section4.6.3, this ensures that the time for accessing to the discrete vector ps,tq given sis linear in the number of cofacets of s. Since the number of cofacets of a single cell, in a cubical complex of low dimension, is considered constant, we consider to have constant access to ps,tq.
6.4.3
Results
Experiments have been performed on a MacBook Pro with a 2.8GHz quad-core processor and 16GB of memory. We can see that the compression factor obtained goes from 40x to 7.6x in the worst case. The efficiency provided by our algorithm in computing the discrete gradient is remarkable. We have compared a single threaded implementation with a parallel implementation based on OpenMP. On average, the parallel implementation achieves a 2.7x speedup when working on triangle meshes and a 3.6x speedup when working with regular grids.
Dataset Size Fields |M| Time G. Time M. Single Parallel Neptune 12M simpl 3 1.4M (8x) 2.1m 0.8m (2.5x) 7.3m Statue 30M simpl 3 2.1M (15x) 6.1m 2.1m (2.9x) 12.1m Lucy 84M simpl 3 5.6M (15x) 15.4m 5.6m (2.7x) 22.9m Hurricanept r500 ˆ 500 ˆ 100s 2 12.2M (16x) 46.1m 11.2m (4.1x) 13.4m Hurricanerst r500 ˆ 500 ˆ 100s 3 5.7M (40x) 47.8m 12.2m (3.9x) 17.0m Combustionvo r480 ˆ 720 ˆ 120s 2 43.1M (7.6x) 58.2m 18m (3.2x) 23.7m Combustionhm r480 ˆ 720 ˆ 120s 2 45.9M (7.3x) 67.2m 18.6m (3.5x) 20.1m Table 6.6: Results obtained computing the discrete gradient and the boundary maps on three triangle meshes and four volumetric images. For each dataset, we indicate its size (number of cells for triangle meshes or resolution of the volume datasets), number of scalar values for each point (Fields), number of critical cells obtained (|M|), and timings required for computing the discrete gradient (Time G.) and the boundary maps (Time M.).
6.4.4
Discussion
The algorithm is easy to parallelize and the actual performances have been tested on real-sized datasets with realistic simulation filtering values. Our tests suggest that the pipeline from a dataset with a vector-valued function and the filtered Morse complex is feasible for data of interesting sizes. Our reduction in terms of cells might be a first step towards an efficient computation of multidimensional persistent homology. This evidences along with the results obtained in Section6.3suggest a strong practical advantage in exploiting ComputeDiscreteGradient as a preprocessing for multipersistence computations via the foliation method. However, the tests of this section compared to the results in Section6.2show an important gap between what can be reduced by ComputeDiscreteGradient and what can be exploited in the computation of the persistence module. As last remark, we observe that the Time M. column reports, generally, higher timings than column Single in Time G.. This suggests that, optimizations in the retrieval of the Morse complex when a discrete gradient is already given, would lead to even better performances.
As a conclusion to this chapter, the practical advantage of considering our algorithm as a pre- processing for multipersistence is confirmed by all tests. The proposed method scales well with dataset sizes. However, the practical problems of performing multipersistence computations, mainly depend on the invariant to be computed. There are good perspectives for the foliation method but still very limited perspective for the persistence module retrieval.
In the next chapter, we discuss properties of algorithm ComputeDiscreteGradient, not simply as a preprocessing for multipersistence, but as a visualization mean.
7
A discrete approach to multivariate data visual-
ization
In this chapter, we present our contribution in the context of data visualization of multivariate fields. Our contribution of this part is, at the moment, disconnected from the previous parts of the thesis. However, in our future works section, we will see how the two parts suggest promising research topics for the future. Both theoretical and experimental aspects for this part of the thesis have been developed in collaboration with Federico Iuricich (University of Maryland (MD), USA). The main focus of this part consists in showing the visualization perspectives related to a discrete gradient compatible with a multiparameter filtering function such as the one retrieved by the algorithm of Chapter 4. In Section7.1, we review some preliminary notions on Morse Theory applied to data visualization. In this part, we see the multiplicity of the notions in moving from the univariate to the multivariate setting and we provide the basis for the classification of state-of-the-art methods in Section7.2. In Section7.3, we present our contribution. In Section7.4, we discuss limitations of our visualization by critical cells and we report our observations on the compatibility of critical cells and Pareto-related notions from the discrete, the smooth, and the PL settings.