178 research outputs found

    SCALLOP : 1. Version, implementiert auf der Siemens 4004/45

    Full text link
    Zu dieser Veröffentlichung liegt kein Abstract vor

    Programmanalyse des XRTL Zwischencodes

    Get PDF
    In dieser Arbeit stellen wir das Analysetool xGCC vor. Dieses Tool analysiert den XRTL Zwischencode, um Sicherheitseigenschaften, z.B. Speicherüberlauf, die Division durch Null und die Verwendung von uninitialisierten Variablen oder Speicherstücken, zu verifizieren. XRTL ist eine von uns entwickelte Erweiterung der Register Transfer Language (RTL). Dieser sprachunabh ängige Zwischencode wird von Frontends der GNU Compiler Collection (GCC) für verschiedene Programmiersprachen, wie z.B. C, C++, Java und Fortran 77, erzeugt. xGCC unterstützt diese Programmiersprachen, da sich unsere Compilermodifikationen auf den sprachunabhängigen Teil des Compilers beschränken. Für die Analyse von XRTL setzen wir die abstrakte Interpretation ein. Wir verwenden Listen von gültigen Intervallen, um Mengen von benötigten Registern und Speicherstücken darzustellen. Gültige Intervalle sind Intervalle für die zusätzlichen Bedingungen gelten, um die Implementierung der XRTL Operationen zu erleichtern. Die Präzision der Approximation ist durch die Listenlänge einstellbar. Wir zeigen, wie einfache und parallele XRTL Anweisungen abgearbeitet werden.Wir leiten Constraints aus der Bedingung von Verzweigungen ab, um den Suchraum einzuschränken. Wir verwenden das Widening/Narrowing, um die Fixpunktberechnung für XRTL Scheifen zu beschleunigen. Wir stellen die Implementierung von xGCC vor und erläutern die getroffenen Designentscheidungen. Mit Hilfe ausgewählter Beispiele demonstrieren wir verschiedene Klassen von Fehlern, die das Analysetool xGCC entdeckt. Wir untersuchen das Laufzeitverhalten der Analyse mit Beispielen aus den Numerical Recipes in C und stellen verschiedene Optimierungen vor.We present the xGCC analysis tool for the verification of safety properties of the XRTL intermediate code. These properties include the absence of buffer overow, division by zero and the use of uninitialized variables and memory. XRTL is our extension of the Register Transfer Language (RTL). This language independent intermediate code is generated by frontends of the GNU Compiler Collection (GCC) for the programming languages C, C++, Java and Fortran 77. These programming languages are supported by xGCC since we have modified only the language independent part of the compiler. We apply abstract interpretation for the analysis of XRTL. Lists of valid intervals are used for the abstraction of sets of registers and memory blocks. Valid intervals are intervals with additional contraints that simplify the implementation of the XRTL operations. The precision of the abstraction is parameterized by the list length. We describe the interpretation of sequential and parallel XRTL instructions.We take branching conditions into account for restricting the search space, and apply the Widening/Narrowing techniques to speed up the fixpoint computation for XRTL loops. We present the implementation of xGCC and explain the tool design.We demonstrate xGCC analysis tool on a collection of examples.We analyse the tool performance on examples from the Numerical Recipes in C, and introduce several optimizations

    Transfer von Nordatlantischem Tiefenwasser durch den Südatlantik mit Tracer-Verteilungen und Transitzeit-Verteilungen

    Get PDF
    We examine the spreading of North Atlantic Deep Water (NADW) in the tropical Atlantic and subtropical South Atlantic by means of transit time distributions (TTDs) which are fitted to observations of the transient tracers CFC-11, CFC-12, CCl4 and tritium. The TTDs are derived under the assumption of steady-state flow, and the flow being formally represented by one-dimensional advection and mixing. The latter includes all non-advective processes of the transport, such as eddies, recirculations and temporal variability of the transport field. In comparison with conventional tracer dating methods, which use the approach of a purely advective transport, this method represents the next higher approximation.With the approach chosen here, the TTDs depend on a limited number of parameters only: the mean age t, and the Péclet number Pe as the ratio of advection and mixing. Additionally an explicitly tracer-free dilution V is used to account for mixing with waters that are old enough to contain little or no tracer. It has turned out that the use of different tracers and of repeated observations usually does not provide enough independent information to determine the parameters of the TTDs consistently. Therefore we assume t and V to vary linearly with the distance and that Pe is constant. This allows us to use all relevant tracer observations at different locations and times to determine the free parameters of the TTDs. Conventionally a constant apparent tracer saturation in the source waters is used as a tracer boundary condition. To obtain a more realistic boundary condition a simple mixing model for the source water masses has been devised. This approach ensures a realistic approximation of the time evolution of the tracer concentration ratios in the source waters.Using these TTDs we examine the transport of upper and lower NADW in the South Atlantic in the deep western boundary current, along the equator, and along a zonal section at 11°S

    Beschleunigung Hydrodynamischer Astrophysikalischer Simulationen mit FPGA-Basierten Rekonfigurierbaren Koprozessoren

    Get PDF
    Diese Dissertation befasst sich mit der Anwendung rekonfigurierbarer Koprozessoren zur Beschleunigung astrophysikalischer Simulationsalgorithmen, ausgehend von einer hybriden Plattform aus Standardrechner und einem Rechenbeschleuniger für die Gravitationssimulation (GRAPE). Für Simulationen, die eine Berücksichtigung der Hydrodynamik erforderlich machen, schränkt die dazu eingesetzte Simulationsmethode Smoothed Particle Hydrodynamics (SPH) die erzielbare Rechenleistung des Gesamtsystems stark ein. Es wurde der Ansatz verfolgt, durch den Einsatz einer FPGA-basierten Koprozessorplattform das SPH-Verfahren zu beschleunigen. Analysen der Simulationscodes ergaben, dass die SPH-Berechnungen unter Verwendung von Gleitkommazahlen mit 16 Mantissenbits ausreichend genau sind. Um den Ansatz zu realisieren, wurde ein FPGA-Koprozessor in Form einer PCI-Einsteckkarte verwendet, ausgestattet mit einem modernen Virtex-II-3000-FPGA von Xilinx. Es wurden FPGA-Designs entwickelt, welche für die umfangreichen aber einfach strukturierten SPH-Berechnungen bei ausreichend hoher Rechengenauigkeit eine Rechenleistung von über 3 GFlops erreichen. Dazu wurde eine Bibliothek arithmetischer Module für die rekonfigurierbare Logik entwickelt. Alle Module sind bezüglich der Rechengenauigkeit parametrisiert, und es wurden für verschiedene numerische Randbedingungen spezialisierte Operatoren entwickelt. Damit konnten optimal an die Problemstellung angepasste Rechenwerke in Form einer Pipeline aufgebaut werden. Für die SPH-Pipelines konnten 50-60 Gleitkommaoperationen unter Aufwendung von etwa 50 % der FPGA-Ressourcen implementiert werden, mit einer resultierenden Geschwindigkeit von 66 MHz. Die Schaltungen sind in der Lage, die Berechnungen synchron zur maximalen Datenrate von Speicher und PCI-Interface durchführen. Um das Beschleunigungspotential (etwa Faktor 10) effektiv auszuschöpfen, wird eine tiefgehende Umstrukturierung des Simulationsalgorithmus erforderlich, was Gegenstand der weiteren Forschung sein wird

    Bericht 2005/2006

    Get PDF

    Der Einfluß der Wärmebildung auf die Struktur der saisonalen Grenzschicht

    Get PDF
    corecore