2,928 research outputs found

    Finite difference methods fengshui: alignment through a mathematics of arrays

    Get PDF
    Numerous scientific-computational domains make use of array data. The core computing of the numerical methods and the algorithms involved is related to multi-dimensional array manipulation. Memory layout and the access patterns of that data are crucial to the optimal performance of the array-based computations. As we move towards exascale computing, writing portable code for efficient data parallel computations is increasingly requiring an abstract productive working environment. To that end, we present the design of a framework for optimizing scientific array-based computations, building a case study for a Partial Differential Equations solver. By embedding the Mathematics of Arrays formalism in the Magnolia programming language, we assemble a software stack capable of abstracting the continuous high-level application layer from the discrete formulation of the collective array-based numerical methods and algorithms and the final detailed low-level code. The case study lays the groundwork for achieving optimized memory layout and efficient computations while preserving a stable abstraction layer independent of underlying algorithms and changes in the architecture.Peer ReviewedPostprint (author's final draft

    3-D Hydrodynamic and Non-Cohesive Sediment Transport Modeling in the Lower Mississippi River

    Get PDF
    The purpose of this research is to develop a 3-D numerical model on the Lower Mississippi River to simulate hydrodynamics and non-cohesive sediment transport. The study reach extends from Bonnet Carré Spillway (RM 127) to Head of Passes (RM 0). Delft3D with sigma coordinates was selected as the river modeling tool. This model River domain is characterized by a complex distributary system that connects the Mississippi River to the Gulf of Mexico. The boundary conditions were: water levels in the Gulf and Head of Passes; and discharges upstream. For the calibration, there are observed data for both types of boundary conditions. Several periods of high discharge were simulated to compare water level, discharge, velocity profiles and sediment transport with measurements and accomplish calibration and validation of the model. A calibrated 3-D model has been developed with the following %RMSE: 5% for stage; 6% for discharge; and 5% for sand load

    Program Transformations in Magnolia

    Get PDF
    We explore program transformations in the context of the Magnolia programming language. We discuss research and implementations of transformation techniques, scenarios to put them to use in Magnolia, interfacing with transformations, and potential workflows and tooling that this approach to programming enables.Vi utforsker program transformasjoner med tanke på programmeringsspråket Magnolia. Vi diskuterer forsking og implementasjoner av transformasjonsteknikker, sammenhenger der vi kan bruke dei i Magnolia, grensesnitt til transformasjoner, og potensielle arbeidsflyt og verktøy som denne tilnærmingen til programmering kan tillate og fremme.Masteroppgåve i informatikkINF39

    Accurator: Nichesourcing for Cultural Heritage

    Full text link
    With more and more cultural heritage data being published online, their usefulness in this open context depends on the quality and diversity of descriptive metadata for collection objects. In many cases, existing metadata is not adequate for a variety of retrieval and research tasks and more specific annotations are necessary. However, eliciting such annotations is a challenge since it often requires domain-specific knowledge. Where crowdsourcing can be successfully used for eliciting simple annotations, identifying people with the required expertise might prove troublesome for tasks requiring more complex or domain-specific knowledge. Nichesourcing addresses this problem, by tapping into the expert knowledge available in niche communities. This paper presents Accurator, a methodology for conducting nichesourcing campaigns for cultural heritage institutions, by addressing communities, organizing events and tailoring a web-based annotation tool to a domain of choice. The contribution of this paper is threefold: 1) a nichesourcing methodology, 2) an annotation tool for experts and 3) validation of the methodology and tool in three case studies. The three domains of the case studies are birds on art, bible prints and fashion images. We compare the quality and quantity of obtained annotations in the three case studies, showing that the nichesourcing methodology in combination with the image annotation tool can be used to collect high quality annotations in a variety of domains and annotation tasks. A user evaluation indicates the tool is suited and usable for domain specific annotation tasks

    P3 problem and Magnolia language: Specializing array computations for emerging architectures

    Get PDF
    The problem of producing portable high-performance computing (HPC) software that is cheap to develop and maintain is called the P3 (performance, portability, productivity) problem. Good solutions to the P3 problem have been achieved when the performance profiles of the target machines have been similar. The variety of HPC architectures is, however, large and can be expected to grow larger. Software for HPC therefore needs to be highly adaptable, and there is a pressing need to provide developers with tools to produce software that can target machines with vastly different profiles. Multi-dimensional array manipulation constitutes a core component of numerous numerical methods, such as finite difference solvers of Partial Differential Equations (PDEs). The efficiency of these computations is tightly connected to traversing and distributing array data in a hardware-friendly way. The Mathematics of Arrays (MoA) allows for formally reasoning about array computations and enables systematic transformations of array-based programs, e.g., to use data layouts that fit to a specific architecture. This paper presents a programming methodology aimed for tackling the P3 problem in domains that are well-explored using Magnolia, a language designed to embody generic programming. The Magnolia programmer can restrict the semantic properties of abstract generic types and operations by defining so-called axioms. Axioms can be used to produce tests for concrete implementations of specifications, for formal verification, or to perform semantics-preserving program transformations. We leverage Magnolia's semantic specification facilities to extend the Magnolia compiler with a term rewriting system. We implement MoA's transformation rules in Magnolia, and demonstrate through a case study on a finite difference solver of PDEs how our rewriting system allows exploring the space of possible optimizations.publishedVersio

    Prediction of groundwater levels from lake levels and climate data using ann approach

    Get PDF
    There are many environmental concerns relating to the quality and quantity of surface and groundwater. It is very important to estimate the quantity of water by using readily available climate data for managing water resources of the natural environment. As a case study an artificial neural network (ANN) methodology is developed for estimating the groundwater levels (upper Floridan aquifer levels) as a function of monthly averaged precipitation, evaporation, and measured levels of Magnolia and Brooklyn Lakes in north-central Florida. Groundwater and surface water are highly interactive in the region due to the characteristics of the geological structure, which consists of a sandy surficial aquifer, and a highly transmissive limestoneconfined aquifer known as the Floridan aquifer system (FAS), which are separated by a leaky clayey confining unit. In a lake groundwater system that is typical of many karst lakes in Florida, a large part of the groundwater outflow occurs by means of vertical leakage through the underlying confining unit to a deeper highly transmissive upper Floridan aquifer. This providesa direct hydraulic connection between the lakes and the aquifer, which creates fast and dynamic surface water/groundwater interaction. Relationships among lake levels, groundwater levels, rainfall, and evapotranspiration were determined using ANN-based models and multiple-linear regression (MLR) and multiple-nonlinear regression (MNLR) models. All the models were fitted to the monthly data series and their performances were compared. ANN-based models performed better than MLR and MNLR models in predicting groundwater levels.Keywords: groundwater, surface water, interaction, artificial neural networ

    EXPLORING THE BIOCHEMICAL AND EVOLUTIONARY DIVERSITY OF TERPENE BIOSYNTHETIC ENZYMES IN PLANTS

    Get PDF
    Southern Magnolia (Magnolia grandiflora) is a primitive tree species that has attracted attention because of its horticultural distinctiveness, the wealth of natural products associated with it, and its evolutionary position as a basal angiosperm. Terpenoid constituents were determined from Magnolia leaves and flowers. Magnolia leaves constitutively produced two major terpenoids, andamp;acirc;-cubebene and germacrene A. However, upon wounding Magnolia leaves biosynthesized a significant array of monoand sesquiterpenoids, including andamp;acirc;-pinene, trans-andamp;acirc;-ocimene, andamp;aacute;-gurjunene, andamp;acirc;-caryophyllene and andamp;acirc;-cubebene, along with fatty acid derivatives such as cis-jasmone, for up to 19 hours after treatment. Flowers were also examined for their emission of terpene volatiles prior to and after opening, and also in response to challenge by Japanese beetles. Opened and un-opened flowers constitutively emitted a blend of monoterpenes dominated by andamp;acirc;-pinene and cis-andamp;acirc;-ocimene. However, the emission levels of monoterpenes such as verbenone, geraniol, and citral, and sesquiterpenes such as andamp;acirc;-cubebene, andamp;aacute;-farnesene, and andamp;acirc;-caryophyllene were significantly elevated in the emissions of the beetle-challenged flowers. Three cDNAs corresponding to terpene synthase (TPS) genes expressed in young Magnolia leaves were isolated and the corresponding enzymes were functionally characterized in vitro. Recombinant Mg25 converted FPP (C15) predominantly to andamp;acirc;-cubebene, while Mg17 converted GPP (C5) to andamp;aacute;-terpineol. Efforts to functionally characterize Mg11 were unsuccessful. Transcript levels for all 3 genes were prominent in young leaf tissue and significantly elevated for Mg25 and Mg11 mRNAs in stamens. A putative N-terminal signal peptide of Mg17 targeted the reporter GFP protein to both chloroplasts and mitochondria when transiently expressed in epidermal cells of Nicotiana tabacum leaves. Phylogenetic analyses indicated that Mg25 and Mg11 belonged to the angiosperm sesquiterpene synthase subclass TPS-a, while Mg17 aligned more closely to the angiosperm monoterpene synthase subclass TPS-b. Unexpectedly, intron/exon organizations for the three Magnolia TPS genes were different from one another and from other well characterized terpene synthase gene sets. The Mg17 gene consists of 6 introns arranged in a manner similar to many other angiosperm sesquiterpene synthases, but Mg11 contains only 4 introns, and Mg25 has only a single intron near the 5 terminus of the gene. Our results suggest that much of the structural diversity observed in the Magnolia TPS genes may have occurred by means other than intron-loss from a common ancestor TPS gene. Costunolide is a sesquiterpene lactone widely recognized for its diverse biological activities, including its bitter taste in lettuces, and as a precursor to the more potent pharmacological agent parthenolide. A lettuce EST database was screened for cytochrome P450 genes that might be associated with sesquiterpene hydroxylation. Five ESTs were selected based on sequence similarity to known sesquiterpene hydroxylases and three of them (Ls7108, Ls3597 and Ls2101) were successfully amplified as fulllength cDNAs. To functionally characterize these cDNAs, they were co-expressed along with a germacrene A synthase and a cytochrome P450 reductase in yeast. Based on product profile comparisons between the three different lines to the control line, only the Ls7108-harboring line produced unique compounds. Neither of the other lines showed a new product peak. The more abundant, polar product generated by the Ls7108-containing line was purified and identified as a 12-acetoxy-germacrene by NMR analysis. In vitro studies using Ls7108 microsomal proteins did not yield the 12-acetoxy-germacrene A, but the putative germacra-1(10),4,11(13)-trien-12-ol intermediate. Catalytic activity of the Ls7108 microsomal enzyme was NADPH, pH and time dependent. Our results demonstrate that Ls7108 is a lettuce cytochrome P450 which catalyzes the hydroxylation of a methyl group of the isopropenyl substituent of germacrene A, generating germacra-1(10),4,11(13)-trien-12-ol, and that when this mono-hydroxylated sesquiterpene is synthesized in yeast, an endogenous yeast enzyme further modifies the germacrenol compound by acetylation of the alcohol group at the C-12 position

    Revisiting Language Support for Generic Programming: When Genericity Is a Core Design Goal

    Get PDF
    Context Generic programming, as defined by Stepanov, is a methodology for writing efficient and reusable algorithms by considering only the required properties of their underlying data types and operations. Generic programming has proven to be an effective means of constructing libraries of reusable software components in languages that support it. Generics-related language design choices play a major role in how conducive generic programming is in practice. Inquiry Several mainstream programming languages (e.g. Java and C++) were first created without generics; features to support generic programming were added later, gradually. Much of the existing literature on supporting generic programming focuses thus on retrofitting generic programming into existing languages and identifying related implementation challenges. Is the programming experience significantly better, or different when programming with a language designed for generic programming without limitations from prior language design choices? Approach We examine Magnolia, a language designed to embody generic programming. Magnolia is representative of an approach to language design rooted in algebraic specifications. We repeat a well-known experiment, where we put Magnolia’s generic programming facilities under scrutiny by implementing a subset of the Boost Graph Library, and reflect on our development experience. Knowledge We discover that the idioms identified as key features for supporting Stepanov-style generic programming in the previous studies and work on the topic do not tell a full story. We clarify which of them are more of a means to an end, rather than fundamental features for supporting generic programming. Based on the development experience with Magnolia, we identify variadics as an additional key feature for generic programming and point out limitations and challenges of genericity by property. Grounding Our work uses a well-known framework for evaluating the generic programming facilities of a language from the literature to evaluate the algebraic approach through Magnolia, and we draw comparisons with well-known programming languages. Importance This work gives a fresh perspective on generic programming, and clarifies what are fundamental language properties and their trade-offs when considering supporting Stepanov-style generic programming. The understanding of how to set the ground for generic programming will inform future language design.publishedVersio
    corecore