375 research outputs found

    Generating and Searching Families of FFT Algorithms

    Full text link
    A fundamental question of longstanding theoretical interest is to prove the lowest exact count of real additions and multiplications required to compute a power-of-two discrete Fourier transform (DFT). For 35 years the split-radix algorithm held the record by requiring just 4n log n - 6n + 8 arithmetic operations on real numbers for a size-n DFT, and was widely believed to be the best possible. Recent work by Van Buskirk et al. demonstrated improvements to the split-radix operation count by using multiplier coefficients or "twiddle factors" that are not n-th roots of unity for a size-n DFT. This paper presents a Boolean Satisfiability-based proof of the lowest operation count for certain classes of DFT algorithms. First, we present a novel way to choose new yet valid twiddle factors for the nodes in flowgraphs generated by common power-of-two fast Fourier transform algorithms, FFTs. With this new technique, we can generate a large family of FFTs realizable by a fixed flowgraph. This solution space of FFTs is cast as a Boolean Satisfiability problem, and a modern Satisfiability Modulo Theory solver is applied to search for FFTs requiring the fewest arithmetic operations. Surprisingly, we find that there are FFTs requiring fewer operations than the split-radix even when all twiddle factors are n-th roots of unity.Comment: Preprint submitted on March 28, 2011, to the Journal on Satisfiability, Boolean Modeling and Computatio

    Automating FEA programming

    Get PDF
    In this paper we briefly describe a combined symbolic and numeric approach for solving mathematical models on parallel computers. An experimental software system, PIER, is being developed in Common Lisp to synthesize computationally intensive and domain formulation dependent phases of finite element analysis (FEA) solution methods. Quantities for domain formulation like shape functions, element stiffness matrices, etc., are automatically derived using symbolic mathematical computations. The problem specific information and derived formulae are then used to generate (parallel) numerical code for FEA solution steps. A constructive approach to specify a numerical program design is taken. The code generator compiles application oriented input specifications into (parallel) FORTRAN77 routines with the help of built-in knowledge of the particular problem, numerical solution methods and the target computer

    Nonparametric estimation of first passage time distributions in flowgraph models

    Get PDF
    Statistical flowgraphs represent multistate semi-Markov processes using integral transforms of transition time distributions between adjacent states; these are combined algebraically and inverted to derive parametric estimates for first passage time distributions between nonadjacent states. This dissertation extends previous work in the field by developing estimation methods for flowgraphs using empirical transforms based on sample data, with no assumption of specific parametric probability models for transition times. We prove strong convergence of empirical flowgraph results to the exact parametric results; develop alternatives for numerical inversion of empirical transforms and compare them in terms of computational complexity, accuracy, and ability to determine error bounds; discuss (with examples) the difficulties of determining confidence bands for distribution estimates obtained in this way; develop confidence intervals for moment-based quantities such as the mean; and show how methods based on empirical transforms can be modified to accommodate censored data. Several applications of the nonparametric method, based on reliability and survival data, are presented in detail

    Parsing of Hyperedge Replacement Grammars with Graph Parser Combinators

    Get PDF
    Graph parsing is known to be computationally expensive. For this reason the construction of special-purpose parsers may be beneficial for particular graph languages. In the domain of string languages so-called parser combinators are very popular for writing efficient parsers. Inspired by this approach, we have proposed graph parser combinators in a recent paper, a framework for the rapid development of special-purpose graph parsers. Our basic idea has been to define primitive graph parsers for elementary graph components and a set of combinators for the flexible construction of more advanced graph parsers. Following this approach, a declarative, but also more operational description of a graph language can be given that is a parser at the same time. In this paper we address the question how the process of writing correct parsers on top of our framework can be simplified by demonstrating the translation of hyperedge replacement grammars into graph parsers. The result are recursive descent parsers as known from string parsing with some additional nondeterminism

    A quantitative charcterization of control flow context: software measures for programming environments

    Get PDF
    A review of published measures of control flow complexity in programs reveals three major deficiencies: loss of information, lack of specificity, and lack of analytical support. A new approach is used to characterize the control structure of a program, with the aim of defining properties and measures of control flow that can be of immediate use to programmers, regardless of their utility as complexity measures. Mathematical rigor and analytical evaluation techniques are used to define a set of properties of control structure and a corresponding vector of measures. Instead of defining the properties and measures for an entire flowgraph, they are defined at the node level, reflecting the control flow surrounding each node in a flowgraph. The properties and their measures reflect the following characteristics of control flow: nesting, iteration, structuredness, and predecessors. Algorithms for computing the properties and their measures are presented. An assessment of the computational complexity of the algorithms shows that they are feasible programming environment tools;A finite path set, representing all possible execution sequences, is evaluated as a characterizing property. Desired characteristics of the path set are defined and used to evaluate four published path subset criteria. Those criteria are shown to be deficient, so a fifth criterion is defined. However, the path set satisfying this fifth criterion is shown to be too large to be of practical use to a programmer

    Explicit Preemption Placement For Real-Time Conditional Code Via Graph Grammars And Dynamic Programming

    Get PDF
    Traditional worst-case execution time (WCET) analysis must make very pessimistic assumptions regarding the cost of preemptions for a real-time job. For every potential preemption point, the analysis must add to the WCET of a job the cache-related preemption delay (CRPD) incurred due to the contention for memory resources with other jobs in the system. However, recent work has shown that CRPD can vary at each preemption point (due to the cache lines that must be reloaded for subsequent code after the preemption). Using this observation and information obtained from schedulability analysis on the maximum length of the non-preemptive region of a job, we seek to find the optimal set of explicit preemption-points (EPPs) that minimize the WCET and ensure system schedulability. Utilizing graph grammars and dynamic programming, we develop a pseudo-polynomial-time algorithm that is capable of analyzing jobs that can be represented by control flowgraphs with arbitrarily-nested conditional structures. This algorithm extends previous work that could only handle sequential flowgraphs. Exhaustive experiments are included to show that the proposed approach is able to significantly improve the bounds on the worst-case execution times of limited preemptive tasks

    Implementation of a flowgraph-based satellite operations software for Earth Observation missions

    Get PDF
    This project aims to develop mission-critical software that facilitates the monitoring and automation of the operations plan between the Operation Center and the CubeSats. This software will assist operators in various tasks, including scheduling satellite passes, controlling one or multiple Ground Stations to follow the satellite, preparing execution plans with contingencies for all the different steps in the communication protocol, and automating these processes. To minimize errors introduced by operators, the software will offer an interactive user interface for configuring message sets and information exchange during contact. It will also allow for the setup of conditional blocks that depend on received data, creating a seamless and error-free feedback loop. The objective is to gradually reduce the operator's workload, to the point of making their interaction unnecessary. This will enable automated communication with the satellite at any time of day. As part of the operations, all uploaded and downloaded data will be stored for posterior processing, with automated processing wherever possible. The software will be developed using the Rust programming language, known for its speed, memory safety, and thread safety. Rust compiler detects a significant amount of common errors at compile-time, this will allow the development of a highly reliable and high-performance application. While the project will initially focus on supporting the 3Cat-4 satellite, it will also create the basis to operate any other satellite in the future, such as the RITA Payload

    Proceedings of the 1968 Summer Institute on Symbolic Mathematical Computation

    Get PDF
    Investigating symbolic mathematical computation using PL/1 FORMAC batch system and Scope FORMAC interactive syste

    A Prototype Virginia Ground Station Network

    Get PDF
    This paper provides a detailed technical description of a prototype ground station network, the Virginia Ground Station Network (VGSN), developed for the Virginia Cubesat Constellation (VCC) mission. Virginia Tech (VT), University of Virginia (UVA), and Old Dominion University (ODU) have each constructed ground stations to communicate with their respective VCC spacecraft. Initially, each university was responsible for commanding its own spacecraft via its own ground station. As the mission progressed, it was decided to network the ground stations and operations centers together to provide backup communications capability for the overall mission. The NASA Wallops Flight Facility (WFF) UHF smallsat ground station was also included in this network. Implementing the VGSN led to the establishment of successful communications with UVA’s Libertas spacecraft via the VT Ground Station (VTGS), demonstrating the utility of collaboration and of the VGSN. This paper provides a technical overview of the VGSN, details concerning signal processing requirements for the mission, a discussion concerning the radio regulatory process as applied to the VCC mission, and plans for future upgrades of the network to continue to support Virginia (and partner institution) small satellite missions
    • …
    corecore