181 research outputs found

    High-level python abstractions for optimal checkpointing in inversion problems

    Get PDF
    Inversion and PDE-constrained optimization problems often rely on solving the adjoint problem to calculate the gradient of the objec- tive function. This requires storing large amounts of intermediate data, setting a limit to the largest problem that might be solved with a given amount of memory available. Checkpointing is an approach that can reduce the amount of memory required by redoing parts of the computation instead of storing intermediate results. The Revolve checkpointing algorithm o ers an optimal schedule that trades computational cost for smaller memory footprints. Integrat- ing Revolve into a modern python HPC code and combining it with code generation is not straightforward. We present an API that makes checkpointing accessible from a DSL-based code generation environment along with some initial performance gures with a focus on seismic applications

    Temporal blocking of finite-difference stencil operators with sparse "off-the-grid" sources

    Get PDF
    Stencil kernels dominate a range of scientific applications, including seismic and medical imaging, image processing, and neural networks. Temporal blocking is a performance optimization that aims to reduce the required memory bandwidth of stencil computations by re-using data from the cache for multiple time steps. It has already been shown to be beneficial for this class of algorithms. However, applying temporal blocking to practical applications' stencils remains challenging. These computations often consist of sparsely located operators not aligned with the computational grid (“off-the-grid”). Our work is motivated by modelling problems in which source injections result in wavefields that must then be measured at receivers by interpolation from the grided wavefield. The resulting data dependencies make the adoption of temporal blocking much more challenging. We propose a methodology to inspect these data dependencies and reorder the computation, leading to performance gains in stencil codes where temporal blocking has not been applicable. We implement this novel scheme in the Devito domain-specific compiler toolchain. Devito implements a domain-specific language embedded in Python to generate optimized partial differential equation solvers using the finite-difference method from high-level symbolic problem definitions. We evaluate our scheme using isotropic acoustic, anisotropic acoustic, and isotropic elastic wave propagators of industrial significance. After auto-tuning, performance evaluation shows that this enables substantial performance improvement through temporal blocking over highly-optimized vectorized spatially-blocked code of up to 1.6x

    Full-waveform inversion, Part 3: Optimization

    Get PDF
    This tutorial is the third part of a full-waveform inversion (FWI) tutorial series with a step-by-step walkthrough of setting up forward and adjoint wave equations and building a basic FWI inversion framework. For discretizing and solving wave equations, we use Devito (http://www.opesci.org/devito-public), a Python-based domain-specific language for automated generation of finite-difference code (Lange et al., 2016). The first two parts of this tutorial (Louboutin et al., 2017, 2018) demonstrated how to solve the acoustic wave equation for modeling seismic shot records and how to compute the gradient of the FWI objective function using the adjoint-state method. With these two key ingredients, we will now build an inversion framework that can be used to minimize the FWI least-squares objective function

    Combining checkpointing and data compression for large scale seismic inversion

    Get PDF
    Seismic inversion and imaging are adjoint-based optimization problems that processes up to terabytes of data, regularly exceeding the memory capacity of available computers. Data compression is an effective strategy to reduce this memory requirement by a certain factor, particularly if some loss in accuracy is acceptable. A popular alternative is checkpointing, where data is stored at selected points in time, and values at other times are recomputed as needed from the last stored state. This allows arbitrarily large adjoint computations with limited memory, at the cost of additional recomputations. In this paper we combine compression and checkpointing for the first time to compute a realistic seismic inversion. The combination of checkpointing and compression allows larger adjoint computations compared to using only compression, and reduces the recomputation overhead significantly compared to using only checkpointing

    Architecture and performance of Devito, a system for automated stencil computation

    Get PDF
    Stencil computations are a key part of many high-performance computing applications, such as image processing, convolutional neural networks, and finite-difference solvers for partial differential equations. Devito is a framework capable of generating highly-optimized code given symbolic equations expressed in Python, specialized in, but not limited to, affine (stencil) codes. The lowering process -- from mathematical equations down to C++ code -- is performed by the Devito compiler through a series of intermediate representations. Several performance optimizations are introduced, including advanced common sub-expressions elimination, tiling and parallelization. Some of these are obtained through well-established stencil optimizers, integrated in the back-end of the Devito compiler. The architecture of the Devito compiler, as well as the performance optimizations that are applied when generating code, are presented. The effectiveness of such performance optimizations is demonstrated using operators drawn from seismic imaging applications

    Counting and effective rigidity in algebra and geometry

    Full text link
    The purpose of this article is to produce effective versions of some rigidity results in algebra and geometry. On the geometric side, we focus on the spectrum of primitive geodesic lengths (resp., complex lengths) for arithmetic hyperbolic 2-manifolds (resp., 3-manifolds). By work of Reid, this spectrum determines the commensurability class of the 2-manifold (resp., 3-manifold). We establish effective versions of these rigidity results by ensuring that, for two incommensurable arithmetic manifolds of bounded volume, the length sets (resp., the complex length sets) must disagree for a length that can be explicitly bounded as a function of volume. We also prove an effective version of a similar rigidity result established by the second author with Reid on a surface analog of the length spectrum for hyperbolic 3-manifolds. These effective results have corresponding algebraic analogs involving maximal subfields and quaternion subalgebras of quaternion algebras. To prove these effective rigidity results, we establish results on the asymptotic behavior of certain algebraic and geometric counting functions which are of independent interest.Comment: v.2, 39 pages. To appear in Invent. Mat

    Calpain 3 is important for muscle regeneration: Evidence from patients with limb girdle muscular dystrophies

    Get PDF
    <p>Abstract</p> <p>Background</p> <p>Limb girdle muscular dystrophy (LGMD) type 2A is caused by mutations in the CAPN3 gene and complete lack of functional calpain 3 leads to the most severe muscle wasting. Calpain 3 is suggested to be involved in maturation of contractile elements after muscle degeneration. The aim of this study was to investigate how mutations in the four functional domains of calpain 3 affect muscle regeneration.</p> <p>Methods</p> <p>We studied muscle regeneration in 22 patients with LGMD2A with calpain 3 deficiency, in five patients with LGMD2I, with a secondary reduction in calpain 3, and in five patients with Becker muscular dystrophy (BMD) with normal calpain 3 levels. Regeneration was assessed by using the developmental markers neonatal myosin heavy chain (nMHC), vimentin, MyoD and myogenin and counting internally nucleated fibers.</p> <p>Results</p> <p>We found that the recent regeneration as determined by the number of nMHC/vimentin-positive fibers was greatly diminished in severely affected LGMD2A patients compared to similarly affected patients with LGMD2I and BMD. Whorled fibers, a sign of aberrant regeneration, was highly elevated in patients with a complete lack of calpain 3 compared to patients with residual calpain 3. Regeneration is not affected by location of the mutation in the <it>CAPN3 </it>gene.</p> <p>Conclusions</p> <p>Our findings suggest that calpain 3 is needed for the regenerative process probably during sarcomere remodeling as the complete lack of functional calpain 3 leads to the most severe phenotypes.</p
    corecore