Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “programming language”

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 541 records · Page 30

Federal Workplace Charging Program Guide

The 2015 Fixing America's Surface Transportation (FAST) Act authorizes the installation, operation, and maintenance of electric vehicle supply equipment (EVSE) for the purpose of recharging employees' privately owned vehicles (POVs) under the custody or control of the General Services Administration (GSA) or a Federal agency. It requires the collection of fees to recover the costs of installing, operating, and maintaining this equipment and imposes reporting requirements. This program guide reviews those requirements, excerpts the relevant language in Appendix A, and describes when and how fees may be required to cover costs of electricity, network costs, EVSE units, and installations in various scenarios. This program guide is designed to support Federal agencies developing and refining workplace charging programs for employee POVs. While it provides guidance and best practices, it does not replace agencywide policies or agency-specific legal counsel. It contains a roadmap for agency workplace charging programs and defines roles and responsibilities. This guide explains how to determine the number of POVs likely to charge at a given site and contains a sample employee survey in Appendix B. It reviews EVSE planning, including unit selection and acquisition, charger location(s), accounting for available power capacity, using existing infrastructure, and funding an incentive program. It also discusses the costs associated with EVSE acquisition, installation, and network management. These costs inform the subsequently provided information, which describes how to amortize costs to determine appropriate fees for each charging session. The final two sections of this guide address aspects of ongoing program management that the facility coordinator should consider and the reporting requirements associated with the FAST Act. The insights in this guide are applicable to all agency-owned and GSA-leased buildings or facilities offering the use of EVSE or a 120-volt receptacle for the purpose of recharging an employee's POV. However, the FAST Act requirements typically do not apply to any building or facility operated and maintained by a third-party vendor offering the use of EVSE as part of a commercial building lease unless the agency is managing the station and/or energy on behalf of the building and collecting POV fees.

29 ENERGY PLANNING, POLICY, AND ECONOMY↗

An Evaluation of One-Sided and Two-Sided Communication Paradigms on Relaxed-Ordering Interconnect

The Cray Gemini interconnect hardware provides multiple transfer mechanisms and out-of-order message delivery to improve communication throughput. In this paper we quantify the performance of one-sided and two-sided communication paradigms with respect to: 1) the optimal available hardware transfer mechanism, 2) message ordering constraints, 3) per node and per core message concurrency. In addition to using Cray native communication APIs, we use UPC and MPI micro-benchmarks to capture one- and two-sided semantics respectively. Our results indicate that relaxing the message delivery order can improve performance up to 4.6x when compared with strict ordering. When hardware allows it, high-level one-sided programming models can already take advantage of message reordering. Enforcing the ordering semantics of two-sided communication comes with a performance penalty. Furthermore, we argue that exposing out-of-order delivery at the application level is required for the next-generation programming models. Any ordering constraints in the language specifications reduce communication performance for small messages and increase the number of active cores required for peak throughput.

97 MATHEMATICS AND COMPUTING↗

Detecting Payload Attacks on Programmable Logic Controllers (PLCs)

Programmable logic controllers (PLCs) play critical roles in industrial control systems (ICS). Providing hardware peripherals and firmware support for control programs (i.e., a PLC’s “payload”) written in languages such as ladder logic, PLCs directly receive sensor readings and control ICS physical processes. An attacker with access to PLC development software (e.g., by compromising an engineering workstation) can modify the payload program and cause severe physical damages to the ICS. To protect critical ICS infrastructure, we propose to model runtime behaviors of legitimate PLC payload program and use runtime behavior monitoring in PLC firmware to detect payload attacks. By monitoring the I/O access patterns, network access patterns, as well as payload program timing characteristics, our proposed firmware-level detection mechanism can detect abnormal runtime behaviors of malicious PLC payload. Using our proof-of-concept implementation, we evaluate the memory and execution time overhead of implementing our proposed method and find that it is feasible to incorporate our method into existing PLC firmware. In addition, our evaluation results show that a wide variety of payload attacks can be effectively detected by our proposed approach. The proposed firmware-level payload attack detection scheme complements existing bumpin- the-wire solutions (e.g., external temporal-logic-based model checkers) in that it can detect payload attacks that violate realtime requirements of ICS operations and does not require any additional apparatus.

42 ENGINEERING↗

ZettaBricks: A Language Compiler and Runtime System for Anyscale Computing

This grant supported the ZettaBricks and OpenTuner projects. ZettaBricks is a new implicitly parallel language and compiler where defining multiple implementations of multiple algorithms to solve a problem is the natural way of programming. ZettaBricks makes algorithmic choice a first class construct of the language. Choices are provided in a way that also allows our compiler to tune at a finer granularity. The ZettaBricks compiler autotunes programs by making both fine-grained as well as algorithmic choices. Choices also include different automatic parallelization techniques, data distributions, algorithmic parameters, transformations, and blocking. Additionally, ZettaBricks introduces novel techniques to autotune algorithms for different convergence criteria. When choosing between various direct and iterative methods, the ZettaBricks compiler is able to tune a program in such a way that delivers near-optimal efficiency for any desired level of accuracy. The compiler has the flexibility of utilizing different convergence criteria for the various components within a single algorithm, providing the user with accuracy choice alongside algorithmic choice. OpenTuner is a generalization of the experience gained in building an autotuner for ZettaBricks. OpenTuner is a new open source framework for building domain-specific multi-objective program autotuners. OpenTuner supports fully-customizable configuration representations, an extensible technique representation to allow for domain-specific techniques, and an easy to use interface for communicating with the program to be autotuned. A key capability inside OpenTuner is the use of ensembles of disparate search techniques simultaneously; techniques that perform well will dynamically be allocated a larger proportion of tests.

97 MATHEMATICS AND COMPUTING↗

PyOMP: Multithreaded Parallel Programming in Python

We know that Python is a widely used language in scientific computing. When the goal is high performance, however, Python lags far behind low-level languages such as C and Fortran. To support applications that stress performance, Python needs to access the full capabilities of modern CPUs. That means support for parallel multithreading. In this paper, we describe PyOMP, a system that enables OpenMP in Python. Programmers write code in Python with OpenMP, Numba generates code that compiles to LLVM, and the resulting programs run with performance that approaches that from code written with C and OpenMP. In this paper we provide an update on the PyOMP project and explain how to install it and use it to write parallel multithreaded code in Python.

97 MATHEMATICS AND COMPUTING↗

Updating a PWR Simulator in Python

A nuclear reactor is a complicated system that is comprised of many systems and components. In order to fully model a reactor, several approximations and correlations must be used for a real-time simulation. In 1984 as part of a doctoral dissertation at Massachusetts Institute of Technology (MIT), a FORTRAN 77 program was developed to simulate a four-loop, Westinghouse pressurized water reactor (PWR). The program was later called PRISM and extended to include a comprehensive set of features accessible in a DOS-based user interface. This present work seeks to update the original PRISM program for cross platform deployment using the Python language. The goal of this present work is to update and improve a teaching tool for both students and reactor operators. Originally, PRISM was created as part of a PhD project in FORTRAN 77, but the code no longer works readily on modern operating systems. Python was chosen to rewrite the program because of the ease of use of the Python modules including Kivy as well as the portability of the program to various operating systems. This project aims to develop desktop and mobile versions of the software, allowing the user flexibility in choice of platform. This simulator is scheduled to be deployed in time for a live demonstration at the 2016 Annual ANS meeting. The project aims to produce a reactor simulator that will showcase the dynamics of a PWR system in real-time under various conditions. Some potential scenarios include startup conditions, scram operations, or failure conditions such as a break in a coolant leg. The user will be able to induce various failure scenarios and the program will simulate how the reactor will behave. The simulation will include a suite of monitoring functions that will allow automatic systems to attempt to adapt to the changing conditions, e.g., control rod movement. This program will provide an educational resource for anyone learning about nuclear reactor kinetics or dynamics of a reactor system. (authors)

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

The HITRAN2016 molecular spectroscopic database

This paper describes the contents of the 2016 edition of the HITRAN molecular spectroscopic compilation. The new edition replaces the previous HITRAN edition of 2012 and its updates during the intervening years. The HITRAN molecular absorption compilation is comprised of five major components: the traditional line-by-line spectroscopic parameters required for high-resolution radiative-transfer codes, infrared absorption cross-sections for molecules not yet amenable to representation in a line-by-line form, collision-induced absorption data, aerosol indices of refraction, and general tables such as partition sums that apply globally to the data. The new HITRAN is greatly extended in terms of accuracy, spectral coverage, additional absorption phenomena, added line-shape formalisms, and validity. Moreover, molecules, isotopologues, and perturbing gases have been added that address the issues of atmospheres beyond the Earth. Of considerable note, experimental IR cross-sections for almost 200 additional significant molecules have been added to the database.

Gordon, I. E.↗

A novel tool for improving the data collection process during control room modernization human-system interface testing and evaluation activities - 271

The U.S. Department of Energy (DOE) Light Water Reactor Sustainability (LWRS) Program is developing a scientific basis to extend the existing U.S. nuclear power plant (NPP) operating life beyond the current 60-year licensing period and to ensure NPP long-term reliability, productivity, safety, and security. Under the Advanced Instrumentation, Information, and Control (II and C) Systems Technologies pathway, the LWRS Program conducts targeted research and development to address long-term aging and obsolescence of existing instrumentation and control technologies, as well as to implement and test new digital II and C technology that enables broad innovation and business improvement in the NPP operating model. To this end, the role of human factors engineering (HFE) is important as part of ensuring that the control room modernization (CRM) activities account for the operator's cognitive and physiological characteristics. Part of the HFE process for CRM entails conducting tests and evaluations (T and Es) that will inform the design of new human-system interface (HSI) technologies. Qualitative data that captures operator feedback and important human-system interactions are an important part of T and E. However, the analyzing this qualitative data in order to provide actionable design recommendations can be time-consuming and error prone. This paper presents an early version of a tool, which uses a combination of natural language processing and supervised machine learning to support the analysis of qualitative data. The objectives of this tool is to improve the process of (1) sifting through freeform text for improved design issue identification, (2) maintaining consistency in theme coding conventions, and (3) readily providing actionable design guidance that can be traceable to state-of-the-art HFE guidelines such as NUREG-0700. (authors)

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Hybrid Programming for Near-Term Quantum Computing Systems

Recent computations involving quantum processing units (QPUs) have demonstrated a series of challenges inherent to hybrid classical-quantum programming, compilation, execution, and verification and validation. Despite considerable progress, system-level noise, limited low-level instructions sets, remote access models, and an overall lack of portability and classical integration presents near-term programming challenges that must be overcome in order to enable reliable scientific quantum computing and support robust hardware benchmarking. In this work, we draw on our experience in programming QPUs to identify common concerns and challenges, and detail best practices for mitigating these challenges within the current hybrid classical-quantum computing paradigm. Following this discussion, we introduce the XACC quantum compilation and execution framework as a hardware and language independent solution that addresses many of these hybrid programming challenges. XACC supports extensible methodologies for managing a variety of programming, compilation, and execution concerns across the increasingly diverse set of QPUs. We use recent nuclear physics simulations to illustrate how the framework mitigates programming, compilation, and execution challenges and manages the complex workflow present in QPU-enhanced scientific applications. Finally, we codify the resulting hybrid scientific computing workflow in order to identify key areas requiring future improvement.

Mccaskey, Alex↗

Final Report from The University of Texas at Austin for DEGAS: Dynamic Global Address Space programming environments

The Dynamic, Exascale Global Address Space programming environment (DEGAS) project will develop the next generation of programming models and runtime systems to meet the challenges of Exascale computing. Our approach is to provide an efficient and scalable programming model that can be adapted to application needs through the use of dynamic runtime features and domain-specific languages for computational kernels. We address the following technical challenges: Programmability: Rich set of programming constructs based on a Hierarchical Partitioned Global Address Space (HPGAS) model, demonstrated in UPC++. Scalability: Hierarchical locality control, lightweight communication (extended GASNet), and ef- ficient synchronization mechanisms (Phasers). Performance Portability: Just-in-time specialization (SEJITS) for generating hardware-specific code and scheduling libraries for domain-specific adaptive runtimes (Habanero). Energy Efficiency: Communication-optimal code generation to optimize energy efficiency by re- ducing data movement. Resilience: Containment Domains for flexible, domain-specific resilience, using state capture mechanisms and lightweight, asynchronous recovery mechanisms. Interoperability: Runtime and language interoperability with MPI and OpenMP to encourage broad adoption.

97 MATHEMATICS AND COMPUTING↗

“I Would Purposely Try to Keep them Separated”: Language Ideologies, Language Policy, and Beliefs about Emergent Bilinguals in Career and Technical Education

Abstract In the policy context of college and career readiness, career and technical education (CTE) is growing in popularity, especially for students who are underserved in academic high school programs. While CTE has shown promise for some students, very little research exists on its potential for emergent bilingual students (EBs). Thus, building on research of deficit perceptions of EBs and language ideologies (LIs), this study examines how LIs and deficit perspectives are reproduced in CTE contexts across Pennsylvania. Using a sequential mixed‐methods design, we found that, while CTE educators held generally positive attitudes toward EBs, they were influenced by monoglossic language ideology and standard language ideology. These LIs, along with other institutional factors, led educators to implement restrictive language policies within their classrooms. These implications serve to inform how, with a lack of clear language policy within CTE programs, teachers relied on their personal beliefs and reproduced deficit ideologies in the creation of classroom‐level policies.

Emerick, Mark R.↗

Framework for Extensible, Asynchronous Task Scheduling (FEATS) in Fortran

Most parallel scientific programs contain compiler directives (pragmas) such as those from OpenMP, explicit calls to runtime library procedures such as those implementing the Message Passing Interface (MPI), or compiler-specific language extensions such as those provided by CUDA. By contrast, the recent Fortran standards empower developers to express parallel algorithms without directly referencing lower-level parallel programming models. Fortran’s parallel features place the language within the Partitioned Global Address Space (PGAS) class of programming models. When writing programs that exploit data-parallelism, application developers often find it straightforward to develop custom parallel algorithms. Problems involving complex, heterogeneous, staged calculations, however, pose much greater challenges. Such applications require careful coordination of tasks in a manner that respects dependencies prescribed by a directed acyclic graph. When rolling one’s own solution proves difficult, extending a customizable framework becomes attractive. The paper presents the design, implementation, and use of the Framework for Extensible Asynchronous Task Scheduling (FEATS), which we believe to be the first task-scheduling tool written in modern Fortran. We describe the benefits and compromises associated with choosing Fortran as the implementation language, and we propose ways in which future Fortran standards can best support the use case in this paper.

Richardson, Brad↗

NVL-C: Static Analysis Techniques for Efficient, Correct Programming of Non-Volatile Main Memory Systems

Computer architecture experts expect that non-volatile memory (NVM) hierarchies will play a more significant role in future systems including mobile, enterprise, and HPC architectures. With this expectation in mind, we present NVL-C: a novel programming system that facilitates the efficient and correct programming of NVM main memory systems. The NVL-C programming abstraction extends C with a small set of intuitive language features that target NVM main memory, and can be combined directly with traditional C memory model features for DRAM. We have designed these new features to enable compiler analyses and run-time checks that can improve performance and guard against a number of subtle programming errors, which, when left uncorrected, can corrupt NVM-stored data. Moreover, to enable recovery of data across application or system failures, these NVL-C features include a flexible directive for specifying NVM transactions. So that our implementation might be extended to other compiler front ends and languages, the majority of our compiler analyses are implemented in an extended version of LLVM's intermediate representation (LLVM IR). We evaluate NVL-C on a number of applications to show its flexibility, performance, and correctness.

Denny, Joel↗

Extending C++ for Heterogeneous Quantum-Classical Computing

In this report we present qcor - a language extension to C++ and compiler implementation that enables heterogeneous quantum-classical programming, compilation, and execution in a single-source context. Our work provides a first-of-its-kind C++ compiler enabling high-level quantum kernel (function) expression in a quantum-language agnostic manner, as well as a hardware-agnostic, retargetable compiler workflow targeting a number of physical and virtual quantum computing backends. qcor leverages novel Clang plugin interfaces and builds upon the XACC system-level quantum programming framework to provide a state-of-the-art integration mechanism for quantum-classical compilation that leverages the best from the community at-large. qcor translates quantum kernels ultimately to the XACC intermediate representation, and provides user-extensible hooks for quantum compilation routines like circuit optimization, analysis, and placement. This work details the overall architecture and compiler workflow for qcor, and provides a number of illuminating programming examples demonstrating its utility for near-term variational tasks, quantum algorithm expression, and feed-forward error correction schemes.

97 MATHEMATICS AND COMPUTING↗

Geolocated dataset of Chinese overseas development finance

China is now the world's largest source of bilateral development finance and will likely continue to play a prominent role in sovereign lending through its multi-billion-dollar Belt and Road Initiative. This paper introduces major methodological enhancements in tracking this finance: the use of an original application programming interface (API) to gathers news in multiple languages; double verification of every record to ensure every finance commitment has been formalized; and visual geo-location to trace the precise footprint of every project. The resulting dataset enables economic, environmental, and social analyses with high-precision spatial accuracy, as well as spatiotemporal monitoring by project stakeholders and enhanced planning by project managers. It covers the years 2008-2019 to enable analysis before and after the announcement of the Belt and Road Initiative. It includes 862 finance commitments, 669 of which have geographic location, to 94 countries across the world.

29 ENERGY PLANNING, POLICY, AND ECONOMY↗

Beam Propagator for Weather Radars, Modules 1 and 2

This program simulates the beam propagation of weather radar pulses under particular and realistic atmospheric conditions (without using the assumption of standard refraction conditions). It consists of two modules: radiosondings_refract_index_many.pro (MAIN MODULE) beam_propagation_function.pro(EXTERNAL FUNCTION) FOR THE MAIN MODULE, THE CODE DOES OUTPUT--INTO A FILE--THE BEAM HEIGHT AS A FUNCTION OF RANGE. THE RADIOSONDE INPUT FILES SHOULD BE ALREADY AVAILABLE BY THE USER. FOR EXAMPLE, RADIOSONDE OBSERVATION FILES CAN BE OBTAINED AT: RADIOSONDE OBSERVATIONS DOWNLOADED AT "http://weather.uwyo.edu/upperair/soounding.html" OR "http://jervis.pyr.ec.gc.ca" THE EXTERNAL FUNCTION DOES THE ACTUAL COMPUTATION OF BEAM PROPAGATION. IT INCLUDES CONDITIONS OF ANOMALOUS PROPAGATION AND NEGATIVE ELEVATION ANGLES. THE EQUATIONS USED HERE WERE DERIVED BY EDWIN CAMPOS, BASED ON THE SNELL-DESCARTES LAW OF REFRACTION, CONSIDERING THE EARTH CURVATURE. THE PROGRAM REQUIRES A COMPILER FOR THE INTERACTIVE DATA LANGUAGE (IDL). DESCRIPTION AND VALIDATION DETAILS HAVE BEEN PUBLISHED IN THE PEER-REVIEWED SCIENTIFIC LITERATURE, AS FOLLOWS: Campos E. 2012. Estimating weather radar coverage over complex terrain, pp.26-32, peer reviewed, in Weather Radar and Hydrology, edited by Moore RJ, Cole SJ and Illingworth AJ. International Association of Hydrological Sciences (IAHS) Press, IAHS Publ. 351. ISBN 978-1-907161-26-1.

Ortega, EdwinCampos↗

CMinx: A CMake Documentation Generator

This manuscript introduces CMinx, a program for generating application programming interface (API) documentation written in the CMake language, and CMake modules in particular. Since most of CMinx’s intended audience is comprised of C/C++ developers, CMinx is designed to operate similar to Doxygen, the de facto C/C++ API documentation tool. Specifically, developers annotate their CMake source with “documentation” comments, which are traditional CMake block comments starting with an extra “[” character. The documentation comments, written in reST, describe to the reader how the functions, parameters, and variables should be used. Running CMinx on the annotated source code generates reST files containing the API documentation. The reST files can then be converted into static websites with tools such as Sphinx or easily converted to another format via Pandoc.

97 MATHEMATICS AND COMPUTING↗

Mid-circuit Measurement & Branching in QSCOUT: A Ping-Pong Teleportation Exemplar Program

This document is intended to help users program the new mid-circuit measurement (MCM) and classical branching capabilities of the Quantum Scientific Computing Open User Testbed (QSCOUT). Here, we present and explain an exemplar “ping-pong teleportation” program that makes repeated MCM and branching calls. The program is written in Jaqal, the quantum assembly language used by QSCOUT. This document is intended to accompany a companion Jupyter notebook Exemplar_one_bit_teleportation_pingpong.ipynb.

97 MATHEMATICS AND COMPUTING↗