Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Compilers”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 595 records · Page 33

spammpack, Version 2013-06-18

This library is an implementation of the Sparse Approximate Matrix Multiplication (SpAMM) algorithm introduced. It provides a matrix data type, and an approximate matrix product, which exhibits linear scaling computational complexity for matrices with decay. The product error and the performance of the multiply can be tuned by choosing an appropriate tolerance. The library can be compiled for serial execution or parallel execution on shared memory systems with an OpenMP capable compiler

Source record↗

UPC++

UPC++ is a Partitioned Global Address Space (PGAS) extension for C++, with three main objectives: 1) to provide an object-oriented PGAS programming model in the context of the popular C++ language; 2) to add useful parallel programming idioms unavailable in UPC, such as asynchronous remote function invocation and multidimensional arrays, to support complex scientific applications; 3) to offer an easy on-ramp to PGAS programming through interoperability with other existing parallel programming systems (e.g., MPI, OpenMP, CUDA). UPC++ includes two main features beyond UPC: 1) One of the major limitations of UPC in the context of DOE application is the relatively weak notion of multidimensional arrays, which it inherited from C. To remedy this problem in UPC++, we included a multidimensional domain and array library based on that of Titanium. Titanium's library is similar to Chapel's dense and strided domains, as both were inspired by the dense and strided regions and arrays in ZPL. 2) Another feature provided by UPC++ but not by UPC is remote function invocation, which is inspired by Phalanx, X10, Habanero-C, and C++11. The user may start an asynchronous remote function invocation with the following syntax: "async(place)(function, args...);". UPC++ provides two programming constructs for specifying dynamic dependencies among tasks: 1) event-driven execution as in Phalanx and Habanero-C; 2) finish-async as in X10. We implemented UPC++ with a "compiler-free" approach using C++ templates and runtime libraries. The UPC++ front-end consists of a set of C++ header files that enables the C++ compiler to "translate" UPC++ features in a user program to runtime library calls. In particular, we use templates and operator overloading to customize the behavior of UPC++ types. This software package has been replaced with UPCC++ V 1.0

Amir Kamil, YiliZheng↗

STOMP-W

Fortran 90 source code, example problems, and output conversion scripts for the STOMP-W simulator. STOMP-W is a numerical simulator written in Fortran 90 for solving problems involving fluid flow and solute/species transport in variably saturated geologic media. The zipped file contains five directories: 1) src (the source code), 2) scripts (output conversion scripts written in perl, 3) prb-w-1 (example problem 1), 4) prb-w-2 (example problem 2), and 5) prb-w-3 (example problem 3). After downloading and unzipping the file, the user must create an executable from the files stored in the src directory. Generic instructions for compiling the source code is shown below as a UNIX/Linux command line, with f90 representing the user's Fortran 90 compiler.

White, Mark↗

HYDRATE v1.5 OPTION OF TOUGH+ v1.5

HYDRATE v1.5 is a numerical code that for the simulation of the behavior of hydrate-bearing geologic systems, and represents the third update of the code since its first release [Moridis et al., 2008]. It is an option of TOUGH+ v1.5 [Moridis and Pruess, 2014], a successor to the TOUGH2 [Pruess et al., 1999, 2012] family of codes for multi-component, multiphase fluid and heat flow developed at the Lawrence Berkeley National Laboratory. HYDRATE v1.5 needs the TOUGH+ v1.5 core code in order to compile and execute. It is written in standard FORTRAN 95/2003, and can be run on any computational platform (workstation, PC, Macintosh) for which such compilers are available. By solving the coupled equations of mass and heat balance, the fully operational TOUGH+HYDRATE code can model the non-isothermal gas release, phase behavior and flow of fluids and heat under conditions typical of common natural CH4-hydrate deposits (i.e., in the permafrost and in deep ocean sediments) in complex geological media at any scale (from laboratory to reservoir) at which Darcy's law is valid. TOUGH+HYDRATE v1.5 includes both an equilibrium and a kinetic model of hydrate formation and dissociation. The model accounts for heat and up to four mass components, i.e., water, CH4, hydrate, and water-soluble inhibitors such as salts or alcohols. These are partitioned among four possible phases (gas phase, liquid phase, ice phase and hydrate phase). Hydrate dissociation or formation, phase changes and the corresponding thermal effects are fully described, as are the effects of inhibitors. The model can describe all possible hydrate dissociation mechanisms, i.e., depressurization, thermal stimulation, salting-out effects and inhibitor-induced effects.

Moridis, GeorgeJ↗

RealGasBrine v1.0 option of TOUGH+ v1.5

RealGasBrine v1.0 is a numerical code that for the simulation of the behavior of gas-bearing porous and/fractured geologic media. It is an option of TOUGH+ v1.5 [Moridis, 2014], a successor to the TOUGH2 [Pruess et al., 1999; 2012] family of codes for multi-component, multiphase fluid and heat flow developed at the Lawrence Berkeley National Laboratory. RealGasBrine v1.0 needs the TOUGH+ v1.5 core code in order to compile and execute. It is written in standard FORTRAN 95/2003, and can be run on any computational platform (workstation, PC, Macintosh) for which such compilers are available. RealGasBrine v1.0 describes the non-isothermal two- (for pure water) or three-phase (for brine) flow of an aqueous phase and a real gas mixture in a gas-bearing medium, with a particular focus in ultra-tight (such as tight-sand and shale gas) systems. Up to 12 individual real gases can be tracked, and salt can precipitate as solid halite. The capabilities of the code include coupled flow and thermal effects, real gas behavior, Darcy and non-Darcy flow, several isotherm options of gas sorption onto the grains of the porous media, complex fracture descriptions, gas solubility into water, and geomechanical effects on flow properties. RealGasBrine v1.0 allows the study of flow and transport of fluids and heat over a wide range of time frames and spatial scales not only in gas reservoirs, but also in any problem involving the flow of gases in geologic media, including the geologic storage of greenhouse gas mixtures, the behavior of geothermal reservoirs with multi-component condensable (H2O and CO2) and non-condensable gas mixtures, the transport of water and released H2 in nuclear waste storage applications, etc.

Moridis, GeorgeJ↗

Ompparser

ompparser is a standalone and unified OpenMP parser, which is motivated by the facts that: 1) The differences in terms of syntax and semantics of OpenMP constructs between C/C++ and Fortran are minor. 2) Current OpenMP compilers often develop their own parsers, which represent redundant work. The features of ompparser include: 1) ompparser can be used standalone for static source code analysis, e.g. tools for semantics checking or similarity analysis between C/C++ and Fortran programs 2) omppaser can be integrated into an OpenMP compiler implementation can reduce the development efforts, and there is no need to create and maintain two separate parsers for C/C++ and Fortran. 3) ompparser provides a complete reference OpenMP grammar in the Backus-Naur Form that formally describes all the latest OpenMP language constructs. This will help users understand the rules and restriction of the OpenMP standard, which no longer contains a reference grammar in its recent versions.

Wang, Anjia↗

QCOR

The QCOR compiler provides a mechanism for the expression and compilation of quantum code alongside standard, modern C++. It does so through integration with Clang and its robust abstract syntax tree analysis tools, as well as integration with the XACC infrastructure.

Maccaskey, AlexanderJ↗

Gemma

Gemma is a linear electromagnetic code developed at Sandia National Laboratories based on the method of moments in the frequency domain, with the objective of supporting next-generation high-performance computing (HPC) platforms. Gemma provides full-wave computational electromagnetic modeling. As an example, Gemma models electromagnetic radiation (EMR) environments, including those resulting from radar (both hostile and friendly) and high-power-electromagnetic (HPEM) sources. Gemma refers to a suite of source code and scripts that aid in compiling, running, and testing the primary Gemma executable, which can be compiled for diverse platforms including CPUs, GPUs, and MICs by leveraging Sandia's Kokkos library.SAND2019-15221 M Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.

Zinser, Brian↗

Sparx PCA Module

Sparx, a new environment for Cryo-EM image processing; Cryo-EM, Single particle reconstruction, principal component analysis; Hardware Req.: PC, MAC, Supercomputer, Mainframe, Multiplatform, Workstation. Software Req.: operating system is Unix; Compiler C++; type of files: source code, object library, executable modules, compilation instructions; sample problem input data. Location/transmission: http://sparx-em.org; User manual & paper: http://sparx-em.org;

Yang, Chao↗

F3C++ v0.1

Fast Free Fermion Compiler (F3C) is an application-specific quantum circuit compiler for time-evolution circuits of spin Hamiltonian systems that can be mapped to free fermions.

Van Beeumen, RoelMaria Franciscus↗

F3C v0.1

Fast Free Fermion Compiler (F3C) is an application-specific quantum circuit compiler for time-evolution circuits of spin Hamiltonian systems that can be mapped to free fermions. F3C is the Matlab software version and the related F3C++ is the C++ software version.

Van Beeumen, RoelMaria Franciscus↗

Spawn v.0.5.0 Released 12.15.2023 [SWR-SWR-20-10]

Spawn is a software package for performing co-simulations involving NREL's EnergyPlus™ tool and Modelica. This package bundles the following items in one self-contained package. 1. A method for connecting EnergyPlus models to Modelica 2. A Modelica compiler toolchain for compiling and running Modelica models 3. Modelica libraries and content, including the Modelica Buildings Library (MBL) and the Modelica Standard Library. The Spawn installation package is fully self-contained, and there are no external third-party dependencies. Together the capabilities in this package provide a single integrated environment for performing hybrid Modelica and EnergyPlus simulations. The primary entry point is the Spawn command line interface.

Li, Yanfei↗

ORNL-QCI/TISCC

We introduce the Trapped-Ion Surface Code Compiler (TISCC), a software tool that generates circuits for a universal set of surface code patch operations in terms of a native trapped-ion gate set. To accomplish this, TISCC manages an internal representation of a trapped-ion system where a repeating pattern of trapping zones and junctions is arranged in an arbitrarily large rectangular grid. Surface code operations are compiled by instantiating surface code patches on the grid and using methods to generate transversal operations over data qubits, rounds of error correction over stabilizer plaquettes, and/or lattice surgery operations between neighboring patches. Beyond the implementation of a basic surface code instruction set, TISCC contains corner movement functionality and a patch translation that is implemented using ion movement alone. Except in the latter case, all TISCC functionality is extensible to alternative grid-like hardware architectures. TISCC output has been verified using the Oak Ridge Quasi-Clifford Simulator (ORQCS).

LeBlond, Tyler↗

pnnl/COMET

COMET: Domain Specific Compilation in Multi-level IR COMET is a compiler for dense and sparse tensor algebra and a domain-specific-language (DSL) that facilitates development and implementation of high-performance computing, graph analytics, and artificial intelligence (AI) applications.

Kestor, Gokcen↗

Mneme

A simple tool allowing recording the execution of a GPU (CUDA) kernel and replaying that kernel as an independent executable. The tool operates in 3 phases. During compile time the user needs to apply a provided LLVM pass to instrument the code. The pass detects all device global variables and device functions and stores this information with the respective LLVM-IR in the global device memory. The compilation generates a record-able executable. The second phase involves running the application executable with a desired input and using LD_PRELOAD to enable recording. When recording before invoking a device kernel the pre-loaded library stores device memory in persistent storage and associates the memory with the device kernel and an LLVM IR file. At the end of the recorded execution the pre-load library generates a database in the form of a JSON file containing information regarding the LLVM-IR files and the snapshots of device memory. During the third and last phase the user can replay the execution of an kernel as a separate independent executable. Besides executing it the user can modify the LLVM IR file and auto-tune parameters such as kernel launch-bounds or kernel runtime execution parameters (e.g. Kernel Block and Grid Dimensions). Is

Parasyris, Konstantinos↗

OpenARC

OpenARC is an open-sourced, very High-Level Intermediate Representation (HLIR)-based, extensible compiler framework, where various performance optimizations, traceability mechanisms, fault tolerance techniques, etc., can be built for better debuggability/performance/resilience on the complex accelerator computing. OpenARC is the first OpenACC compiler supporting Altera FPGAs, in addition to NVIDIA GPUs, AMD GPUs, and Intel Xeon Phis.

Lee, Seyong [Oak Ridge National Laboratory (ORNL),↗

Hypergraph Models of Biological Networks to Identify Genes Critical to Pathogenic Viral Response

Motivation: Representing biological networks as graphs is a powerful approach to reveal underlying patterns, signatures, and critical components from high-throughput biomolecular data. However, graphs do not natively capture the multi-way relationships present among genes and proteins in biological systems such as protein complexes, metabolic reactions, and signal transduction pathways. Hypergraphs are generalizations of graphs that naturally model multi-way interactions in data, and we therefore seek to understand how they can more faithfully identify, and potentially predict, complex relationships in genomic expression data sets. Results: We compiled a novel data set of transcriptional host response to pathogenic viral infections and formulated relationships between genes as a hypergraph where hyperedges are differentially expressed genes and vertices represent conditions. We find that hypergraph betweenness centrality is a superior method for identification of genes important to viral response when compared with graph centrality. Our results demonstrate the utility of using hypergraphs to represent complex biological systems, and highlight potentially interesting biological results about host response to highly pathogenic viruses.

systems biology, hypergraph, viral infection, biol↗

Pathways to Identity. Using Visualization to Aid Law Enforcement in Identification Tasks

The nature of identity has changed dramatically in recent years and has grown in complexity. Identities are defined in multiple domains: biological and psychological elements strongly contribute, but biographical and cyber elements also are necessary to complete the picture. Law enforcement is beginning to adjust to these changes, recognizing identity’s importance in criminal justice. The SuperIdentity project seeks to aid law enforcement officials in their identification tasks through research of techniques for discovering identity traits, generation of statistical models of identity and analysis of identity traits through visualization. We present use cases compiled through user interviews in multiple fields, including law enforcement, and describe the modeling and visualization tools design to aid in those use cases.

99 GENERAL AND MISCELLANEOUS↗