
This paper describes the implementation of parallel computing to model seismic waves in heterogeneous media based on Laguerre transform with respect to time. The main advantages of the transform are a definite sign of the spatial part of the operator and its independence of the parameter of separation. This property allows one to efficiently organize parallel computations by means of decomposition of the computational domain with successive application of the additive Schwarz method. At each step of the Schwarz alternations, a system of linear algebraic equations in each subdomain is resolved independently of all the others. A proper choice of Domain Decomposition reduces the size of matrices and ensures the use of direct solvers, in particular, the ones based on LU decomposition. Thanks to the independence of the matrix of the parameter of Laguerre transform with respect to time, LU decomposition for each subdomain is done only once, saved in the memory and used afterwards for different right-hand sides. A software is being developed for a cluster using hybrid OpenMP and MPI parallelization. At each cluster node, a system of linear algebraic equations with different right-hand sides is solved by the direct sparse solver PARDISO from Intel Math Kernel Library (Intel MKL). The solver is extensively parallelized and optimized for the high performance on many core systems with shared memory. A high performance parallel algorithm to solve the problem has been developed. The algorithm scalability and efficiency is investigated. For a two-dimensional heterogeneous medium, describing a realistic geological structure, which is typical of the North Sea, the results of numerical modeling are presented.
The ever-growing demand for higher accuracy in scientific simulations based on the discretization of equations given on physical domains is typically coupled with an increase in the number of mesh elements. Conventional mesh generation tools struggle to keep up with the increased workload, as they do not scale with the availability of, for example, multi-core CPUs. We present a parallel mesh generation approach for multi-core and distributed computing environments based on our generic meshing library ViennaMesh and on the Advancing Front mesh generation algorithm. Our approach is discussed in detail and performance results are shown.
In this paper we discuss a parallel variant of the interval Newton method for root finding of non linear continuously differentiable functions on the CUDA architecture. For this purpose we have investigated different dynamic load balancing methods to get an evenly balanced workload during the parallel computation. We tested the functionality, correctness and performance of our implementation in different case studies and compared it with other implementations.
A parallel program based on the Message Passing Interface (MPI) commonly uses point-to-point communication for updating data between processes, and its scalability is ultimately limited by communication costs. To minimize these costs we have developed a library that reduces network congestion, and thus improves performance, by optimizing the placement of processes onto nodes allocated to the parallel job. Our approach is useful on production machines, as irregular communication patterns can at run-time be optimally placed on non-contiguous node allocations. It is also portable as it supports multiple architectures: Cray XT, IBM BlueGene/P and regular SMP clusters. We demonstrate on a Cray XT5m and an Infiniband cluster that good placement of processes doubles the total bandwidth compared to random placement and, furthermore, by up to a factor of 1.4 compared to to the original placement. It is not only important to place processes well on individual nodes, minimizing the number of link traversals on the Cray XT5m provides up to 20% of additional performance. The scalability of a real-world application, Vlasiator, is also investigated and the scalability is shown to improve by up to 35%. For communication limited applications the approach provides an avenue to improve performance, and is useful even with dynamic load balancing as the placement is optimized at run-time.
We describe our recent attempts to produce effective parallel block preconditioners by employing the open source finite element package Elmer. Two example problems corresponding to the computational simulation of land ice flow and the high-fidelity modelling of small acoustical devises are considered. We present features which make these problems challenging from the viewpoint of the preconditioner design and also demonstrate how the requirement of achieving scalability can even lead to rethinking the overall formulation of the problem. The utility of the preconditioners implemented has been explored experimentally.
The FETI methods blend iterative and direct solvers. The dual problem is solved iteratively using e.g. CG method; in each iteration, the auxiliary problems related to the application of an unassembled system matrix (subdomain problems’ solutions and projector application in dual operator) are solved directly. The paper deals with the comparison of the direct solvers available in PETSc on the Cray XE6 machine HECToR (PETSc, MUMPS, SuperLU) regarding their performance in the two most time consuming actions in TFETI – the pseudoinverse application and the coarse problem solution. For the numerical experiments, our novel TFETI implementation in FLLOP (FETI Light Layer on top of PETSc) library was used.
Simulation of large scale seismic wave propagation is an important tool in seismology for efficient strong motion analysis and risk mitigation. Being particularly CPU-consuming, this three-dimensional problem has been early ported on graphics cards to improve the performance by several order of magnitude. Scientific visualization of data produced by these simulations is essential for a good comprehension of the physical phenomena involved. In the same time, post-petascale architectures demonstrates that the I/O turn to become a major performance bottleneck. This situation is worsened with GPU-based systems because of the gap between I/O bandwidth and computational capabilities. In this paper, we introduce a prototype of computational steering and in-situ visualization suitable for seismic wave propagation on hybrid architecture. We detail the overall architecture of the system we set up and comment on the parallel performance measured.
This paper investigates efficient and powerful approach to the Gradient and the Hessian evaluation for complex functions. The idea is to apply the parallel GPU architecture and the Automatic Differentiation methods. In order to achieve better accuracy, the interval arithmetic is used. Considerations are based on sequential and parallel authors' implementation. In this solution, both the AD methods: Forward and Reverse modes are employed. Computational experiments include analysis of performance and are studied on the generated test functions with a given complexity.
Osteoporosis is considered as a major health problem in the world. An understanding of the behavior of human bone under cyclic load requires numerical simulation of the physics. For that purpose, a large scale poroleastic solver is developed based on the mixed finite element method. This approach is free of numerical instabilities yet the discretization leads to an indefinite system that needs special attention. In this work, a comparison is made on several preconditioners that work efficiently in parallel environments.
The paper is devoted to an interval difference method for solving one dimensional wave equation with the initial-boundary value problem. The method is an adaptation of the well-known central and backward difference methods with respect to discretization errors of the methods. The approximation of an initial condition is derived on the basis of expansion of a third-degree Taylor polynomial. The initial condition is also written in the interval form with respect to a discretization error. Therefore, the presented interval method includes all approximation errors (of the wave equation and the initial condition). The floating-point interval arithmetic is used. It allows to obtain interval solutions which contain all calculations errors. Moreover, it is indicated that an exact solution belongs to the interval solution obtained.
Matrix diffusion is a phenomenon in which tracer particles convected along a flow channel can diffuse into porous walls of the channel, and it causes a delay and broadening of the breakthrough curve of a tracer pulse. Analytical and numerical methods exist for modeling matrix diffusion, but there are still some features of this phenomenon, which are difficult to address using traditional approaches. To this end we propose to use the lattice-Boltzmann method with point-like tracer particles. These particles move in a continuous space, are advected by the flow, and there is a stochastic force causing them to diffuse. This approach can be extended to include particle-particle and particle-wall interactions of the tracer. Numerical results that can also be considered as validation of the LBM approach, are reported. As the reference we use recently-derived analytical solutions for the breakthrough curve of the tracer.
This paper introduces Numprof, a profiling framework for performance analysis of numerical libraries. The framework consists of a profiler and replayer for the BLAS and FFTW3 libraries. The profiler records library call events with a user configurable amount of detail. The replayer can be used to execute library calls based on the profiling trace files generated by the profiler. We explore real-world use cases for the framework and demonstrate that due to its low overhead it is feasible to be used for continuous statistical analysis of numerical library calls.
In this study we report the load-balancing performance issues that are observed during the petascaling of a space plasma simulation code developed at the Finnish Meteorological Institute (FMI). The code models the communication pattern as a hypergraph, and partitions the computational grid using the parallel hypergraph partitioning scheme (PHG) of the Zoltan partitioning framework. The result of partitioning determines the distribution of grid cells to processors. It is observed that the initial partitioning and data distribution phases take a substantial percentage of the overall computation time. Alternative (graph-partitioning-based) schemes that provide better balance are investigated. Comparisons in terms of effect on running time and load-balancing quality are presented. Test results on Juelich BlueGene/P cluster are reported.
Two block cyclic reduction linear system solvers are considered and implemented using the OpenCL framework. The topics of interest include a simplified scalar cyclic reduction tridiagonal system solver and the impact of increasing the radix-number of the algorithm. Both implementations are tested for the Poisson problem in two and three dimensions, using a Nvidia GTX 580 series GPU and double precision floating-point arithmetic. The numerical results indicate up to 6-fold speed increase in the case of the two-dimensional problems and up to 3-fold speed increase in the case of the three-dimensional problems when compared to equivalent CPU implementations run on a Intel Core i7 quad-core CPU.
The problem of computing the hull, that is the tightest interval enclosure of the solution set for linear systems with parameters being nonlinear functions of interval parameters, is an NP-hard problem. However, since the problem of computing the hull can be considered as a combinatorial or as a constrained optimisation problem, metaheuristic techniques might be helpful. Alas, experiments performed so far show that they are time consuming and their performance may depend on the problem size and structure, therefore some acceleration and stabilisation techniques are required. In this paper, a new approach which rely on a multi-agent system is proposed. The idea is to apply evolutionary method and differential evolution for different agents working together to solve constrained optimisation problems. The results obtained for several examples from structural mechanics involving many parameters with large uncertainty ranges show that some synergy effect of the metaheuristics can be achieved, especially for problems of a larger size.
The paper presents a distributed computing system that is based on evolutionary algorithms and utilizing a web browser on a client's side. Evolutionary algorithm is coded in JavaScript language embedded in a web page sent to the client. The code is optimized with regards to the memory usage and communication efficiency between the server and the clients. The server side is also based on JavaScript language, as node.js server was applied. The proposed system has been tested on the basis of permutation flowshop scheduling problem, one of the most popular optimization benchmarks for heuristics studied in the literature. The results have shown, that the system scales quite smoothly, taking additional advantage of local search algorithm executed by some clients.
Interval methods are an approach to performing numerical computations of various kinds, in the presence of errors and uncertainty.
The multi-objective firm expansion problem on competitive facility location model, and an evolutionary algorithm suitable to solve multi-objective optimization problems are reviewed in the paper. Several strategies to parallelize the algorithm utilizing both the distributed and shared memory parallel programing models are presented. Results of experimental investigation carried out by solving the competitive facility location problem using up to 2048 processing units are presented and discussed.
We discuss how power management development in multi-core processors to achieve higher performance using automatic frequency scaling can cause artifacts when doing performance comparisons and give pessimistic efficiency estimates for algorithms. Overclocking also causes underestimates of the theoretical peak performance of the CPU as can be seen in some cases on the TOP500 list. We show that overclocking capabilities, when available, must be taken into account in thread scheduling for better overall performance.
This paper introduces a parallel version of the machine learning based feature selection algorithm known as greedy regularized least-squares (RLS). The aim of such machine learning methods is to develop accurate predictive models on complex datasets. Greedy RLS is an efficient implementation of the greedy forward feature selection procedure using regularized least-squares, capable of efficiently selecting the most predictive features from large datasets. It has previously been shown, through the use of matrix algebra shortcuts, to perform feature selection in only a fraction of the time required by traditional implementations. In this paper, the algorithm is adapted to allow for efficient parallel-based feature selection in order to scale the method to run on modern clusters. To demonstrate its effectiveness in practice, we implemented it on a sample genome-wide association study, as well as a number of other high-dimensional datasets, scaling the method to up to 128 cores.