376 research outputs found

    Monadic Deep Learning

    Full text link
    The Java and Scala community has built a very successful big data ecosystem. However, most of neural networks running on it are modeled in dynamically typed programming languages. These dynamically typed deep learning frameworks treat neural networks as differentiable expressions that contain many trainable variable, and perform automatic differentiation on those expressions when training them. Until 2019, none of the learning frameworks in statically typed languages provided the expressive power of traditional frameworks. Their users are not able to use custom algorithms unless creating plenty of boilerplate code for hard-coded back-propagation. We solved this problem in DeepLearning.scala 2. Our contributions are: 1. We discovered a novel approach to perform automatic differentiation in reverse mode for statically typed functions that contain multiple trainable variable, and can interoperate freely with the metalanguage. 2. We designed a set of monads and monad transformers, which allow users to create monadic expressions that represent dynamic neural networks. 3. Along with these monads, we provide some applicative functors, to perform multiple calculations in parallel. With these features, users of DeepLearning.scala were able to create complex neural networks in an intuitive and concise way, and still maintain type safety.Comment: 27 pages, 7 figures, 3 table

    Undergraduate and Graduate Course Descriptions, 2023 Spring

    Get PDF
    Wright State University undergraduate and graduate course descriptions from Spring 2023

    Flow and transport modelling in highly heterogeneous geological porous media

    Get PDF
    Flow and transport processes through porous media are ubiquitous both in natural and industrial environments. Ranging from diffusion in human tissue to oil recovery and CO2 storage, including the design of porous reactors, geothermal energy production, groundwater remediation, oil recovery and CO2 storage, the characterisation of fluid flow and solute transport at different scales represents the paradigm to better understand the mechanisms at the base of several processes. Due to the broad spectrum of applications, a vast empirical and numerical research field developed around transport in heterogeneous porous media. While on the numerical side, the mathematical models available for simulating transport at the micro and meso scales have shown good agreement with the empirical tests, the debate around modelling transport at the macro-scale is still open. One example is the unknown relation between system parameters and their values measured at different scales which is usually addressed as scale effect. Other examples are anomalous or non-Fickian transport phenomena and the validity range of macro-scale transport models. Our study focuses on the impact of the heterogeneous distribution of the subsurface properties on the transport of solute at the macro-scale. Initially we propose an analysis of transport in heterogeneous porous media generated with a random geostatistical algorithm. Subsequently this subject is expanded and applied to a real domain which was surveyed and reconstructed with a high level of resolution. Three-dimensional meso-scale numerical simulations performed with our open-source C++ library, built on top of the finite-volume library OpenFOAM, represent the main source of data to test macro-scale mathematical models

    I’m stuck! How to efficiently debug computational solid mechanics models so you can enjoy the beauty of simulations

    Get PDF
    A substantial fraction of the time that computational modellers dedicate to developing their models is actually spent trouble-shooting and debugging their code. However, how this process unfolds is seldom spoken about, maybe because it is hard to articulate as it relies mostly on the mental catalogues we have built with the experience of past failures. To help newcomers to the field of material modelling, here we attempt to fill this gap and provide a perspective on how to identify and fix mistakes in computational solid mechanics models. To this aim, we describe the components that make up such a model and then identify possible sources of errors. In practice, finding mistakes is often better done by considering the symptoms of what is going wrong. As a consequence, we provide strategies to narrow down where in the model the problem may be, based on observation and a catalogue of frequent causes of observed errors. In a final section, we also discuss how one-time bug-free models can be kept bug-free in view of the fact that computational models are typically under continual development. We hope that this collection of approaches and suggestions serves as a “road map” to find and fix mistakes in computational models, and more importantly, keep the problems solved so that modellers can enjoy the beauty of material modelling and simulation.EC and JPP wish to thank their former supervisor Paul Steinmann for the inspiration to write this paper, which can be traced back to the talk we prepared for the ECCM-ECFD conference held in Glasgow in 2018. EC’s work was partially supported by the European Union’s Horizon 2020 research and innovation program under the Marie Skłodowska-Curie grant agreement No 841047. WB’s work was partially supported by the National Science Foundation under award OAC-1835673; by award DMS-1821210; by award EAR-1925595; and by the Computational Infrastructure in Geodynamics initiative (CIG), through the National Science Foundation under Award EAR-1550901 and The University of California – Davis .Peer ReviewedPostprint (published version

    Fast And Automatic Floating Point Error Analysis With CHEF-FP

    Full text link
    As we reach the limit of Moore's Law, researchers are exploring different paradigms to achieve unprecedented performance. Approximate Computing (AC), which relies on the ability of applications to tolerate some error in the results to trade-off accuracy for performance, has shown significant promise. Despite the success of AC in domains such as Machine Learning, its acceptance in High-Performance Computing (HPC) is limited due to stringent requirements for accuracy. We need tools and techniques to identify regions of code that are amenable to approximations and their impact on the application output quality to guide developers to employ selective approximation. To this end, we propose CHEF-FP, a flexible, scalable, and easy-to-use source-code transformation tool based on Automatic Differentiation (AD) for analyzing approximation errors in HPC applications. CHEF-FP uses Clad, an efficient AD tool built as a plugin to the Clang compiler and based on the LLVM compiler infrastructure, as a backend and utilizes its AD abilities to evaluate approximation errors in C++ code. CHEF-FP works at the source by injecting error estimation code into the generated adjoints. This enables the error-estimation code to undergo compiler optimizations resulting in improved analysis time and reduced memory usage. We also provide theoretical and architectural augmentations to source code transformation-based AD tools to perform FP error analysis. This paper primarily focuses on analyzing errors introduced by mixed-precision AC techniques. We also show the applicability of our tool in estimating other kinds of errors by evaluating our tool on codes that use approximate functions. Moreover, we demonstrate the speedups CHEF-FP achieved during analysis time compared to the existing state-of-the-art tool due to its ability to generate and insert approximation error estimate code directly into the derivative source.Comment: 11 pages, to appear in the 2023 IEEE International Parallel and Distributed Processing Symposium (IPDPS'23

    lifex-ep: a robust and efficient software for cardiac electrophysiology simulations

    Get PDF
    Background: Simulating the cardiac function requires the numerical solution of multi-physics and multi-scale mathematical models. This underscores the need for streamlined, accurate, and high-performance computational tools. Despite the dedicated endeavors of various research teams, comprehensive and user-friendly software programs for cardiac simulations, capable of accurately replicating both normal and pathological conditions, are still in the process of achieving full maturity within the scientific community. Results: This work introduces lifex-ep, a publicly available software for numerical simulations of the electrophysiology activity of the cardiac muscle, under both normal and pathological conditions. lifex-ep employs the monodomain equation to model the heart's electrical activity. It incorporates both phenomenological and second-generation ionic models. These models are discretized using the Finite Element method on tetrahedral or hexahedral meshes. Additionally, lifex-ep integrates the generation of myocardial fibers based on Laplace-Dirichlet Rule-Based Methods, previously released in Africa et al., 2023, within lifex-fiber. As an alternative, users can also choose to import myofibers from a file. This paper provides a concise overview of the mathematical models and numerical methods underlying lifex-ep, along with comprehensive implementation details and instructions for users. lifex-ep features exceptional parallel speedup, scaling efficiently when using up to thousands of cores, and its implementation has been verified against an established benchmark problem for computational electrophysiology. We showcase the key features of lifex-ep through various idealized and realistic simulations conducted in both normal and pathological scenarios. Furthermore, the software offers a user-friendly and flexible interface, simplifying the setup of simulations using self-documenting parameter files. Conclusions: lifex-ep provides easy access to cardiac electrophysiology simulations for a wide user community. It offers a computational tool that integrates models and accurate methods for simulating cardiac electrophysiology within a high-performance framework, while maintaining a user-friendly interface. lifex-ep represents a valuable tool for conducting in silico patient-specific simulations

    2022-2023 Xavier University Undergraduate and Graduate University Catalog

    Get PDF
    https://www.exhibit.xavier.edu/coursecatalog/1275/thumbnail.jp

    Efficient GPU Implementation of Automatic Differentiation for Computational Fluid Dynamics

    Get PDF
    Many scientific and engineering applications require repeated calculation of derivatives of output functions with respect to input parameters. Automatic Differentiation (AD) is a methodology that automates derivative calculation and can significantly speed up the code development. In Computational Fluid Dynamics (CFD), derivatives of flux functions with respect to state variables (Jacobian) are needed for efficient solution of nonlinear governing equations. AD of the flux function on graphics processing units (GPUs) is challenging as flux computation involves many intermediate variables that create a high register pressure and requires significant memory traffic because of the need to store the derivatives. This paper presents a forward-mode AD method based om multivariate dual numbers that addresses these challenges and simultaneously reduces the operation count. The dimension of multivariate dual numbers is optimized for performance. The flux computations are restructured to minimize the number of temporary variables and reduce the register pressure. For effective utilization of the memory bandwidth, we use shared memory to store the local Jacobian. The threads assigned to process an edge (dual-face) collectively populate the local Jacobian in the shared memory. Shared memory is used to store local flux Jacobian. The threads assigned to process a flux differentiation at an edge collectively populate the local Jacobian in the shared memory. The use of shared memory allows further reducing temporary variables. The local Jacobian is written from the shared memory to the device memory taking advantage of coalesced stores. This is another major benefit of the shared memory approach. During this work, we assessed existing GPU-based forward-mode AD approaches for flux Jacobian computation and found them performing suboptimally. We demonstrated that our GPU implementation based on multivariate dual numbers of dimension 5 outperforms other tested implementations including the hand differentiated version optimized for NVIDIA V100. Our implementation achieves 75% of the peak floating point throughput and 61% of the peak device bandwidth on V100

    Efficient and Globally Convergent Minimization Algorithms for Small- and Finite-Strain Plasticity Problems

    Get PDF
    We present efficient and globally convergent solvers for several classes of plasticity models. The models in this work are formulated in the primal form as energetic rate-independent systems with an elastic energy potential and a plastic dissipation component. Different hardening rules are considered, as well as different flow rules. The time discretization leads to a sequence of nonsmooth minimization problems. For small strains, the unknowns live in vector spaces while for finite strains we have to deal with manifold-valued quantities. For the latter, a reformulation in tangent space is performed to end up with the same dissipation functional as in the small-strain case. We present the Newton-type TNNMG solver for convex and nonsmooth minimization problems and a newly developed Proximal Newton (PN) method that can also handle nonconvex problems. The PN method generates a sequence of penalized convex, coercive but nonsmooth subproblems. These subproblems are in the form of block-separable small-strain plasticity problems, to which TNNMG can be applied. Global convergence theorems are available for both methods. In several numerical experiments, both the efficiency and the flexibility of the methods for small-strain and finite-strain models are tested

    2013-2014, University of Memphis bulletin

    Get PDF
    University of Memphis bulletin containing the graduate catalog for 2013-2014.https://digitalcommons.memphis.edu/speccoll-ua-pub-bulletins/1434/thumbnail.jp
    • …
    corecore