Searcharxiv⌕ Search

arXiv subjects

Gang Mei

Publications and source records attributed to Gang Mei.

36 records · Page 2Linked to original sources

GeoMFree3D: An Under-Development Meshfree Software Package for Geomechanics

This paper briefly reports the GeoMFree3D, a meshfree / meshless software package designed for analyzing the problems of large deformations and crack propagations of rock and soil masses in geotechnics. The GeoMFree3D is developed based on the meshfree RPIM, and accelerated by exploiting the parallel computing on multi-core CPU and many-core GPU. The GeoMFree3D is currently being under intensive developments. To demonstrate the correctness and effectiveness of the GeoMFree3D, several simple verification examples are presented in this paper. Moreover, future work on the development of the GeoMFree3D is introduced.

physics.comp-ph↗

A Novel Implementation of QuickHull Algorithm on the GPU

We present a novel GPU-accelerated implementation of the QuickHull algorihtm for calculating convex hulls of planar point sets. We also describe a practical solution to demonstrate how to efficiently implement a typical Divide-and-Conquer algorithm on the GPU. We highly utilize the parallel primitives provided by the library Thrust such as the parallel segmented scan for better efficiency and simplicity. To evaluate the performance of our implementation, we carry out four groups of experimental tests using two groups of point sets in two modes on the GPU K20c. Experimental results indicate that: our implementation can achieve the speedups of up to 10.98x over the state-of-art CPU-based convex hull implementation Qhull [16]. In addition, our implementation can find the convex hull of 20M points in about 0.2 seconds.

cs.CG↗

A Parallel Solution to Finding Nodal Neighbors in Generic Meshes

In this paper we specifically present a parallel solution to finding the one-ring neighboring nodes and elements for each vertex in generic meshes. The finding of nodal neighbors is computationally straightforward but expensive for large meshes. To improve the efficiency, the parallelism is adopted by utilizing the modern Graphics Processing Unit (GPU). The presented parallel solution is heavily dependent on the parallel sorting, scan, and reduction, and can be applied to determine both the neighboring nodes and elements. To evaluate the performance, the parallel solution is compared to the corresponding serial solution. Experimental results show that: our parallel solution can achieve the speedups of approximately 55 and 90 over the corresponding serial solution for finding neighboring nodes and elements, respectively. Our parallel solution is efficient and easy to implement, but requires the allocation of large device memory.

cs.CG↗

Improving GPU-accelerated Adaptive IDW Interpolation Algorithm Using Fast kNN Search

This paper presents an efficient parallel Adaptive Inverse Distance Weighting (AIDW) interpolation algorithm on modern Graphics Processing Unit (GPU). The presented algorithm is an improvement of our previous GPU-accelerated AIDW algorithm by adopting fast k-Nearest Neighbors (kNN) search. In AIDW, it needs to find several nearest neighboring data points for each interpolated point to adaptively determine the power parameter; and then the desired prediction value of the interpolated point is obtained by weighted interpolating using the power parameter. In this work, we develop a fast kNN search approach based on the space-partitioning data structure, even grid, to improve the previous GPU-accelerated AIDW algorithm. The improved algorithm is composed of the stages of kNN search and weighted interpolating. To evaluate the performance of the improved algorithm, we perform five groups of experimental tests. Experimental results show that: (1) the improved algorithm can achieve a speedup of up to 1017 over the corresponding serial algorithm; (2) the improved algorithm is at least two times faster than our previous GPU-accelerated AIDW algorithm; and (3) the utilization of fast kNN search can significantly improve the computational efficiency of the entire GPU-accelerated AIDW algorithm.

cs.DC↗

Accelerating Adaptive IDW Interpolation Algorithm on a Single GPU

This paper focuses on the design and implementing of GPU-accelerated Adaptive Inverse Distance Weighting (AIDW) interpolation algorithm. The AIDW is an improved version of the standard IDW, which can adaptively determine the power parameter according to the spatial points distribution pattern and achieve more accurate predictions than those by IDW. In this paper, we first present two versions of the GPU accelerated AIDW, the naive version without profiting from shared memory and the tiled version taking advantage of shared memory. We also implement the naive version and the tiled version using the data layouts, Structure of Arrays (AoS) and Array of aligned Structures (AoaS), on single and double precision. We then evaluate the performance of the GPU-accelerated AIDW by comparing it with its original CPU version. Experimental results show that: on single precision the naive version and the tiled version can achieve the speedups of approximately 270 and 400, respectively. In addition, on single precision the implementations using the layout SoA are always slightly faster than those using layout AoaS. However, on double precision, the speedup is only about 8; and we have also observed that: (1) there are no performance gains obtained from the tiled version against the naive version; and (2) the use of SoA and AoaS does not lead to significant differences in computational efficiency.

cs.DC↗

gScan: Accelerating Graham Scan on the GPU

This paper presents a fast implementation of the Graham scan on the GPU. The proposed algorithm is composed of two stages: (1) two rounds of preprocessing performed on the GPU and (2) the finalization of finding the convex hull on the CPU. We first discard the interior points that locate inside a quadrilateral formed by four extreme points, sort the remaining points according to the angles, and then divide them into the left and the right regions. For each region, we perform a second round of filtering using the proposed preprocessing approach to discard the interior points in further. We finally obtain the expected convex hull by calculating the convex hull of the remaining points on the CPU. We directly employ the parallel sorting, reduction, and partitioning provided by the library Thrust for better efficiency and simplicity. Experimental results show that our implementation achieves 6x ~ 7x speedups over the Qhull implementation for 20M points.

cs.CG↗

CudaChain: A Practical GPU-accelerated 2D Convex Hull Algorithm

This paper presents a practical GPU-accelerated convex hull algorithm and a novel Sorting-based Preprocessing Approach (SPA) for planar point sets. The proposed algorithm consists of two stages: (1) two rounds of preprocessing performed on the GPU and (2) the finalization of calculating the expected convex hull on the CPU. We first discard the interior points that locate inside a quadrilateral formed by four extreme points, and then distribute the remaining points into several (typically four) sub regions. For each subset of points, we first sort them in parallel, then perform the second round of discarding using SPA, and finally form a simple chain for the current remaining points. A simple polygon can be easily generated by directly connecting all the chains in sub regions. We at last obtain the expected convex hull of the input points by calculating the convex hull of the simple polygon. We use the library Thrust to realize the parallel sorting, reduction, and partitioning for better efficiency and simplicity. Experimental results show that our algorithm achieves 5x ~ 6x speedups over the Qhull implementation for 20M points. Thus, this algorithm is competitive in practical applications for its simplicity and satisfied efficiency.

cs.CG↗

On the Accelerating of Two-dimensional Smart Laplacian Smoothing on the GPU

This paper presents a GPU-accelerated implementation of two-dimensional Smart Laplacian smoothing. This implementation is developed under the guideline of our paradigm for accelerating Laplacianbased mesh smoothing [13]. Two types of commonly used data layouts, Array-of-Structures (AoS) and Structure-of-Arrays (SoA) are used to represent triangular meshes in our implementation. Two iteration forms that have different choices of the swapping of intermediate data are also adopted. Furthermore, the feature CUDA Dynamic Parallelism (CDP) is employed to realize the nested parallelization in Smart Laplacian smoothing. Experimental results demonstrate that: (1) our implementation can achieve the speedups of up to 44x on the GPU GT640; (2) the data layout AoS can always obtain better efficiency than the SoA layout; (3) the form that needs to swap intermediate nodal coordinates is always slower than the one that does not swap data; (4) the version of our implementation with the use of the feature CDP is slightly faster than the version where the CDP is not adopted.

cs.DC↗

A Straightforward Preprocessing Approach for Accelerating Convex Hull Computations on the GPU

An effective strategy for accelerating the calculation of convex hulls for point sets is to filter the input points by discarding interior points. In this paper, we present such a straightforward and efficient preprocessing approach by exploiting the GPU. The basic idea behind our approach is to discard the points that locate inside a convex polygon formed by 16 extreme points. Due to the fact that the extreme points of a point set do not alter when all points are rotated in the same angle, four groups of extreme points with min or max x or y coordinates can be found in the original point set and three rotated point sets. These 16 extreme points are then used to form a convex polygon. We check all input points and discard the points that locate inside the convex polygon. We use the remaining points to calculate the expected convex hull. Experimental results show that: when employing the proposed preprocessing algorithm, it achieves the speedups of about 4x ~5x on average and 5x ~ 6x in the best cases over the cases where the proposed approach is not used. In addition, more than 99% input points can be discarded in most experimental tests.

cs.CG↗

Performance Impact of Data Layout on the GPU-accelerated IDW Interpolation

This paper focuses on evaluating the performance impact of different data layouts on the GPU-accelerated IDW interpolation. First, we redesign and improve our previous GPU implementation that was performed by exploiting the feature CUDA Dynamic Parallel (CDP). And then, we implement three versions of GPU implementations, i.e., the naive version, the tiled version, and the improved CDP version, based on five layouts including the Structure of Arrays (SoA), the Array of Sturcutes (AoS), the Array of aligned Sturcutes (AoaS), the Structure of Arrays of aligned Structures (SoAoS), and the Hybrid layout. Experimental results show that: the layouts AoS and AoaS achieve better performance than the layout SoA for both the naive version and tiled version, while the layout SoA is the best choice for the improved CDP version. We also observe that: for the two combined data layouts (the SoAoS and the Hybrid), there are no notable performance gains when compared to other three basic layouts. We recommend that: in practical applications, the layout AoaS is the best choice since the tiled version is the fastest one among the three versions of GPU implementations, especially on single precision.

cs.DC↗

Simple and Robust Boolean Operations for Triangulated Surfaces

Boolean operations of geometric models is an essential issue in computational geometry. In this paper, we develop a simple and robust approach to perform Boolean operations on closed and open triangulated surfaces. Our method mainly has two stages: (1) We firstly find out candidate intersected-triangles pairs based on Octree and then compute the inter-section lines for all pairs of triangles with parallel algorithm; (2) We form closed or open intersection-loops, sub-surfaces and sub-blocks quite robustly only according to the cleared and updated topology of meshes while without coordinate computations for geometric enti-ties. A novel technique instead of inside/outside classification is also proposed to distinguish the resulting union, subtraction and intersection. Several examples have been given to illus-trate the effectiveness of our approach.

cs.CG↗

3D Geological Modeling and Visualization of Rock Masses Based on Google Earth: A Case Study

Google Earth (GE) has become a powerful tool for geological modeling and visualization. An interesting and useful feature of GE, Google Street View, can allow the GE users to view geological structure such as layers of rock masses at a field site. In this paper, we introduce a practical solution for building 3D geological models for rock masses based on the data acquired by use with GE. A real study case at Haut-Barr, France is presented to demonstrate our solution. We first locate the position of Haut-Barr in GE, and then determine the shape and scale of the rock masses in the study area, and thirdly acquire the layout of layers of rock masses in the Google Street View, and finally create the approximate 3D geological models by extruding and intersecting. The generated 3D geological models can simply reflect the basic structure of the rock masses at Haut-Barr, and can be used for visualizing the rock bodies interactively.

cs.GR↗

Ear-clipping Based Algorithms of Generating High-quality Polygon Triangulation

A basic and an improved ear clipping based algorithm for triangulating simple polygons and polygons with holes are presented. In the basic version, the ear with smallest interior angle is always selected to be cut in order to create fewer sliver triangles. To reduce sliver triangles in further, a bound of angle is set to determine whether a newly formed triangle has sharp angles, and edge swapping is accepted when the triangle is sharp. To apply the two algorithms on polygons with holes, "Bridge" edges are created to transform a polygon with holes to a degenerate polygon which can be triangulated by the two algorithms. Applications show that the basic algorithm can avoid creating sliver triangles and obtain better triangulations than the traditional ear clipping algorithm, and the improved algorithm can in further reduce sliver triangles effectively. Both of the algorithms run in O(n2) time and O(n) space.

cs.CG↗

T-Base: A Triangle-Based Iterative Algorithm for Smoothing Quadrilateral Meshes

We present a novel approach named TBase for smoothing planar and surface quadrilateral meshes. Our motivation is that the best shape of quadrilateral element (square) can be virtually divided into a pair of equilateral right triangles by any of its diagonals. When move a node to smooth a quadrilateral, it is optimal to make a pair of triangles divided by a diagonal be equilateral right triangles separately. The finally smoothed position is obtained by weighting all individual optimal positions. Three variants are produced according to the determination of weights. Tests by the TBase are given and compared with Laplacian smoothing: The Vari.1 of TBase is effectively identical to Laplacian smoothing for planar quad meshes, while Vari.2 is the best. For the quad mesh on underlying parametric surface and interpolation surface, Vari.2 and Vari.1 are best, respectively.

cs.CG↗

An Algorithm for Finding Convex Hulls of Planar Point Sets

This paper presents an alternate choice of computing the convex hulls (CHs) for planar point sets. We firstly discard the interior points and then sort the remaining vertices by x- / y- coordinates separately, and later create a group ofquadrilaterals (e-Quads) recursively according to the sequences ofthe sorted lists of points. Finally, the desired CH is built based on a simple polygon derived from all e-Quads. Besides the preprocessing for original planar point sets, this algorithm has another mechanism of discarding interior point when form e-Quads and assemble the simple polygon. Compared with three popular CH algorithms, the proposed algorithm can generate CHs faster thanthe three but has a penalty in space cost.

cs.CG↗

A Hybrid Approach for Optimizing Planar Triangular Meshes

Modified Direct Method (MDM) is an iterative scheme based on Jacobi iterations for smoothing planar meshes [4]. The basic idea behind MDM is to make any triangular element be as close to an equilateral triangle as possible. Basedon the MDM, a length-weighted MDM is proposed and then combined with edge swapping. In length-weighted MDM, weights of each neighboring node of a smoothed node are determined by the length of its opposite edge. Also, the MDM, Laplacian smoothing and length-weighted MDM are all combined with edge swapping, and then implemented and compared on both structured and unstructured triangular meshes. Examples show that length-weighted MDM is better than the MDM and Laplacian smoothing for structured mesh but worse for unstructured mesh. The hybrid approach of combining length-weighted MDM and edge swapping is much better and can obtain more even optimized meshes than other two hybrid approaches.

cs.CG↗

Discrete Surface Modeling Based on Google Earth: A Case Study

Google Earth (GE) has become a powerful tool for geological, geophysical and geographical modeling; yet GE can be accepted to acquire elevation data of terrain. In this paper, we present a real study case of building the discrete surface model (DSM) at Haut-Barr Castle in France based on the elevation data of terrain points extracted from GE using the COM API. We first locate the position of Haut-Barr Castle and determine the region of the study area, then extract elevation data of terrain at Haut-Barr, and thirdly create a planar triangular mesh that covers the study area and finally generate the desired DSM by calculating the elevation of vertices in the planar mesh via interpolating with Universal Kriging (UK) and Inverse Distance Weighting (IDW). The generated DSM can reflect the features of the ground surface at Haut-Barr well, and can be used for constructingthe Sealed Engineering Geological Model (SEGM) in further step.

cs.GR↗

The Modified Direct Method: an Approach for Smoothing Planar and Surface Meshes

The Modified Direct Method (MDM) is an iterative mesh smoothing method for smoothing planar and surface meshes, which is developed from the non-iterative smoothing method originated by Balendran [1]. When smooth planar meshes, the performance of the MDM is effectively identical to that of Laplacian smoothing, for triangular and quadrilateral meshes; however, the MDM outperforms Laplacian smoothing for tri-quad meshes. When smooth surface meshes, for trian-gular, quadrilateral and quad-dominant mixed meshes, the mean quality(MQ) of all mesh elements always increases and the mean square error (MSE) decreases during smoothing; For tri-dominant mixed mesh, the quality of triangles always descends while that of quads ascends. Test examples show that the MDM is convergent for both planar and surface triangular, quadrilateral and tri-quad meshes.

cs.CG↗