12,779 research outputs found

    A model for inter-module analysis and optimizing compilation

    Full text link
    Recent research into the implementation of logic programming languages has demonstrated that global program analysis can be used to speed up execution by an order of magnitude. However, currently such global program analysis requires the program to be analysed as a whole: sepĂĄrate compilation of modules is not supported. We describe and empirically evalĂșate a simple model for extending global program analysis to support sepĂĄrate compilation of modules. Importantly, our model supports context-sensitive program analysis and multi-variant specialization of procedures in the modules

    From Physics Model to Results: An Optimizing Framework for Cross-Architecture Code Generation

    Full text link
    Starting from a high-level problem description in terms of partial differential equations using abstract tensor notation, the Chemora framework discretizes, optimizes, and generates complete high performance codes for a wide range of compute architectures. Chemora extends the capabilities of Cactus, facilitating the usage of large-scale CPU/GPU systems in an efficient manner for complex applications, without low-level code tuning. Chemora achieves parallelism through MPI and multi-threading, combining OpenMP and CUDA. Optimizations include high-level code transformations, efficient loop traversal strategies, dynamically selected data and instruction cache usage strategies, and JIT compilation of GPU code tailored to the problem characteristics. The discretization is based on higher-order finite differences on multi-block domains. Chemora's capabilities are demonstrated by simulations of black hole collisions. This problem provides an acid test of the framework, as the Einstein equations contain hundreds of variables and thousands of terms.Comment: 18 pages, 4 figures, accepted for publication in Scientific Programmin

    Open Programming Language Interpreters

    Get PDF
    Context: This paper presents the concept of open programming language interpreters and the implementation of a framework-level metaobject protocol (MOP) to support them. Inquiry: We address the problem of dynamic interpreter adaptation to tailor the interpreter's behavior on the task to be solved and to introduce new features to fulfill unforeseen requirements. Many languages provide a MOP that to some degree supports reflection. However, MOPs are typically language-specific, their reflective functionality is often restricted, and the adaptation and application logic are often mixed which hardens the understanding and maintenance of the source code. Our system overcomes these limitations. Approach: We designed and implemented a system to support open programming language interpreters. The prototype implementation is integrated in the Neverlang framework. The system exposes the structure, behavior and the runtime state of any Neverlang-based interpreter with the ability to modify it. Knowledge: Our system provides a complete control over interpreter's structure, behavior and its runtime state. The approach is applicable to every Neverlang-based interpreter. Adaptation code can potentially be reused across different language implementations. Grounding: Having a prototype implementation we focused on feasibility evaluation. The paper shows that our approach well addresses problems commonly found in the research literature. We have a demonstrative video and examples that illustrate our approach on dynamic software adaptation, aspect-oriented programming, debugging and context-aware interpreters. Importance: To our knowledge, our paper presents the first reflective approach targeting a general framework for language development. Our system provides full reflective support for free to any Neverlang-based interpreter. We are not aware of any prior application of open implementations to programming language interpreters in the sense defined in this paper. Rather than substituting other approaches, we believe our system can be used as a complementary technique in situations where other approaches present serious limitations

    Grid Search in Stellar Parameters: a software for spectrum analysis of single stars and binary systems

    Full text link
    The currently operating space missions, as well as those that will be launched in the near future, (will) deliver high-quality data for millions of stellar objects. Since the majority of stellar astrophysical applications still (at least partly) rely on spectroscopic data, an efficient tool for the analysis of medium- to high-resolution spectroscopy is needed. We aim at developing an efficient software package for the analysis of medium- to high-resolution spectroscopy of single stars and those in binary systems. The major requirements are that the code has a high performance, represents the state-of-the-art analysis tool, and provides accurate determinations of atmospheric parameters and chemical compositions for different types of stars. We use the method of atmosphere models and spectrum synthesis, which is one of the most commonly used approaches for the analysis of stellar spectra. Our Grid Search in Stellar Parameters (GSSP) code makes use of the OpenMPI implementation, which makes it possible to run in parallel mode. The method is first tested on the simulated data and is then applied to the spectra of real stellar objects. The majority of test runs on the simulated data were successful in the sense that we could recover the initially assumed sets of atmospheric parameters. We experimentally find the limits in signal-to-noise ratios of the input spectra, below which the final set of parameters gets significantly affected by the noise. Application of the GSSP package to the spectra of three Kepler stars, KIC11285625, KIC6352430, and KIC4931738, was also largely successful. We found an overall agreement of the final sets of the fundamental parameters with the original studies. For KIC6352430, we found that dependence of the light dilution factor on wavelength cannot be ignored, as it has significant impact on the determination of the atmospheric parameters of this binary system.Comment: 19 pages, 6 figures, 4 tables, 2 appendices one of which includes detailed description of input and output files. Accepted for publication in Astronomy & Astrophysi
    • 

    corecore