Search NASA⌕ Search

SEARCH · Search NASA

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 595 records · Page 33

“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↗

A Fault-oblivious Extreme-scale Execution Environment

Exascale computing systems will provide a thousand-fold increase in parallelism and a proportional increase in failure rate relative to today's machines. Systems software for exascale machines must provide the infrastructure to support existing applications while simultaneously enabling efficient execution of new programming models that naturally express dynamic, adaptive, irregular computation; coupled simulations; and massive data analysis in a highly unreliable hardware environment with billions of threads of execution. We propose a new approach to the data and work distribution model provided by system software based on the unifying formalism of an abstract file system. The proposed hierarchical data model provides simple, familiar visibility and access to data structures through the file system hierarchy, while providing fault tolerance through selective redundancy. The hierarchical task model features work queues whose form and organization are represented as file system objects. Data and work are both first class entities. By exposing the relationships between data and work to the runtime system, information is available to optimize execution time and provide fault tolerance. The data distribution scheme provides replication (where desirable and possible) for fault tolerance and efficiency, and it is hierarchical to make it possible to take advantage of locality. The user, tools, and applications, including legacy applications, can interface with the data, work queues, and one another through the abstract file model. This runtime environment will provide multiple interfaces to support traditional Message Passing Interface applications, languages developed under DARPA's High Productivity Computing Systems program, as well as other, experimental programming models. We will validate our runtime system with pilot codes on existing platforms and will use simulation to validate for exascale-class platforms. In this final report, we summarize research results from the work done at the Ohio State University towards the larger goals of the project listed above.

97 MATHEMATICS AND COMPUTING↗

statusMessageReporting

Unlike computer languages like C++ which has throw/catch, Python which has try/except and other newer computer languages, C has no built-in mechanism for handling exceptions (e.g., memory allocate failure or a divide by zero exceptions). While simple exception handling in the form of an integer parameter (e.g, errno) or an enum are often implemented in C programs, the richer types of exception reporting possible with newer computer languages are rarely implemented in C. The statusMessageReporting package was created to facilitate rich exception reporting by C functions to their calling functions. The statusMessageReporting (smr) package allows a function, called the generator, to communicate an exception to its calling function using a statusMessageReporting report. The main parts of a report are: 1)the level of the report called the status (valid levels are smr_status_Ok, smr_status_Info, smr_statusWarning and smr_status_Error) 2) a string called the report's message and 3) two integer values, one representing the generator's ID, called the libraryID, and the other is the library's specific integer, called the code, that represents the type of exception the generator is reporting. The code is similar to the errno for the C standard library. Since libraries are often developed independent of one another, they often use the same code values to represent different exceptions (e.g., one library may define the code 3 to be an error opening a file while another library may define the code 3 to be a divide-by-zero error) which is why the libraryID is needed. That is, the equivalent of errno is the combination libraryID:code. To insure that each library's libraryID is unique, libraryIDs must be obtained from the function smr_registerLibrary.

Beck, Bret↗

Sci-Fri AM: Quality, Safety, and Professional Issues 05: QC Program Management and the Benefits of QATrack+

Purpose: Treatment unit uptime statistics are typically used to monitor radiation equipment performance. The Ottawa Hospital Cancer Centre has introduced the use of Quality Control (QC) test success as a quality indicator for equipment performance and overall health of the equipment QC program. Methods: Implemented in 2012, QATrack+ is used to record and monitor over 1100 routine machine QC tests each month for 20 treatment and imaging units ( http://qatrackplus.com/ ). Using an SQL (structured query language) script, automated queries of the QATrack+ database are used to generate program metrics such as the number of QC tests executed and the percentage of tests passing, at tolerance or at action. These metrics are compared against machine uptime statistics already reported within the program. Results: Program metrics for 2015 show good correlation between pass rate of QC tests and uptime for a given machine. For the nine conventional linacs, the QC test success rate was consistently greater than 97%. The corresponding uptimes for these units are better than 98%. Machines that consistently show higher failure or tolerance rates in the QC tests have lower uptimes. This points to either poor machine performance requiring corrective action or to problems with the QC program. Conclusions: QATrack+ significantly improves the organization of QC data but can also aid in overall equipment management. Complimenting machine uptime statistics with QC test metrics provides a more complete picture of overall machine performance and can be used to identify areas of improvement in the machine service and QC programs.

60 APPLIED LIFE SCIENCES↗

A scalable infrastructure for the performance analysis of passive target synchronization

Partitioned global address space (PGAS) languages combine the convenient abstraction of shared memory with the notion of affinity, extending multi-threaded programming to large-scale systems with physically distributed memory. However, in spite of their obvious advantages, PGAS languages still lack appropriate tool support for performance analysis, one of the reasons why their adoption is still in its infancy. Some of the performance problems for which tool support is needed occur at the level of the underlying one-sided communication substrate, such as the Aggregate Remote Memory Copy Interface (ARMCI). One such example is the waiting time in situations where asynchronous data transfers cannot be completed without software in- tervention at the target side. This is not uncommon on systems with reduced operating-system kernels such as IBM Blue Gene/P where the use of progress threads would double the number of cores necessary to run an application. In this paper, we present an extension of the Scalasca trace-analysis infrastructure aimed at the identification and quantification of progress-related waiting times at larger scales. We demonstrate its utility and scalability using a benchmark running with up to 32,768 processes.

performance analysis, event tracing, one-sided com↗

Nuclear Materials Packaging, Transportation, and Systems Analysis Group Software Quality Assurance Plan: ANSYS Mechanical Finite Element Analysis Software Version 2023R1

ANSYS Inc. develops and markets engineering simulation software and services used in the aerospace, automotive, manufacturing, electronics, biomedical, energy, defense, and many other industries. ANSYS is dedicated to engineering simulation and is the world’s leading software provider. ANSYS was founded in 1970 and is headquartered in Canonsburg, Pennsylvania. ANSYS provides an engineering analysis tool combining structural, thermal, computational fluid dynamics, acoustic, and electromagnetic simulation capabilities. ANSYS has two main programs, which use the same solvers: (1) Mechanical APDL (ANSYS Design Parametric Language), a Fortran-based coding platform, and (2) ANSYS Workbench, which uses a graphical user interface to aid in finite element analysis implementation. This plan covers both APDL and Workbench. The ANSYS computer program is a large-scale, multipurpose finite element program that can be used to solve several classes of engineering analyses. The analysis capabilities of ANSYS include the ability to solve static and dynamic structural analyses, steady-state and transient heat transfer problems, mode-frequency and buckling eigenvalue problems, static or time-varying magnetic analyses, and various types of field and coupled-field applications. The program contains many special features that allow nonlinearities or secondary effects such as plasticity, large strain, hyperelasticity, creep, swelling, large deflections, contact, stress stiffening, temperature dependency, material anisotropy, and radiation to be included in the solution. As ANSYS has been developed, other special capabilities such as substructuring, submodeling, random vibration, kinetostatics, kinetodynamics, free convection fluid analysis, acoustics, magnetics, piezoelectrics, coupled-field analysis, and design optimization have been added to the program. These capabilities contribute further to making ANSYS a multipurpose analysis tool for varied engineering disciplines. The ANSYS program has been in commercial use for over 50 years and has been used extensively in the aerospace, automotive, construction, electronic, energy services, manufacturing, nuclear, plastics, oil, and steel industries. Additionally, many consulting firms and hundreds of universities have used ANSYS for analysis, research, and educational purposes. ANSYS is recognized worldwide as one of the most widely used and capable programs of its type. Ansys design analysis software is the first created within a quality system with ISO 9001 certification, the internationally accepted quality standard. Product development, testing, maintenance and support processes also meet the United States Nuclear Regulatory Commission's quality requirements, as they have for nearly four decades. The Quality Assurance Service Agreement is suitable for the customers working in the nuclear industry who need to meet specific federal regulations including 10CRF50 Appendix B and provisions of 10CFR21. ANSYS has retained its original International Organization for Standardization (ISO) 9001 accreditation certificate since1995-05-04, It’s current certificate is valid until 2027-05-29.

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

Equation-based object-oriented modeling and simulation for data center cooling: A case study

© 2019 Elsevier B.V. Data center cooling accounts for about 1% of electricity usage in the United States. Computer models are pivotal in designing and operating energy-efficient cooling systems. Compared to conventional building performance simulation programs, the equation-based object-oriented modeling language Modelica is an emerging approach that can enable fast prototyping and dynamic simulation of cooling systems. In this case study, we first modeled the cooling and control systems of an actual data center located in Massachusetts using the open-source Modelica Buildings library, and then calibrated a baseline model based on measurement data. The simulation of the baseline model identified several operation-related issues in the cooling and control systems, such as degraded cooling coils, improper dead band in control settings, and simultaneous cooling and heating in air handlers. Afterwards, we used a sequential search technique as well as an optimization scheme to investigate the energy saving potentials for different energy efficiency measures aiming to address the abovementioned issues. Simulation results show potential energy savings up to 24% by resolving identified control-related issues and optimizing the supply air temperature.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

PERIOD ERROR ESTIMATION FOR THE KEPLER ECLIPSING BINARY CATALOG

The Kepler Eclipsing Binary Catalog (KEBC) describes 2165 eclipsing binaries identified in the 115 deg{sup 2} Kepler Field based on observations from Kepler quarters Q0, Q1, and Q2. The periods in the KEBC are given in units of days out to six decimal places but no period errors are provided. We present the PEC (Period Error Calculator) algorithm, which can be used to estimate the period errors of strictly periodic variables observed by the Kepler Mission. The PEC algorithm is based on propagation of error theory and assumes that observation of every light curve peak/minimum in a long time-series observation can be unambiguously identified. The PEC algorithm can be efficiently programmed using just a few lines of C computer language code. The PEC algorithm was used to develop a simple model that provides period error estimates for eclipsing binaries in the KEBC with periods less than 62.5 days: log {sigma}{sub P} Almost-Equal-To - 5.8908 + 1.4425(1 + log P), where P is the period of an eclipsing binary in the KEBC in units of days. KEBC systems with periods {>=}62.5 days have KEBC period errors of {approx}0.0144 days. Periods and period errors of seven eclipsing binary systems in the KEBC were measured using the NASA Exoplanet Archive Periodogram Service and compared to period errors estimated using the PEC algorithm.

79 ASTRONOMY AND ASTROPHYSICS↗

From OO to FPGA :

Consumer electronics today such as cell phones often have one or more low-power FPGAs to assist with energy-intensive operations in order to reduce overall energy consumption and increase battery life. However, current techniques for programming FPGAs require people to be specially trained to do so. Ideally, software engineers can more readily take advantage of the benefits FPGAs offer by being able to program them using their existing skills, a common one being object-oriented programming. However, traditional techniques for compiling object-oriented languages are at odds with today s FPGA tools, which support neither pointers nor complex data structures. Open until now is the problem of compiling an object-oriented language to an FPGA in a way that harnesses this potential for huge energy savings. In this paper, we present a new compilation technique that feeds into an existing FPGA tool chain and produces FPGAs with up to almost an order of magnitude in energy savings compared to a low-power microprocessor while still retaining comparable performance and area usage.

Kou, Stephen↗

ATDM ASD report to ECP FY18Q4

Kokkos and DARMA teams worked together on several significant proposals for the C++ standards body, including the MDSpan and Exectutors proposals. This work has potential for long-term impact into the language standard reflecting core abstractions needed for our HPC programming and development efforts. Kokkos team collaborating with AMD via the Path Forward effort. This is advancing Kokkos support for [AMD] backends, necessary for future exascale/HPC architectures.

97 MATHEMATICS AND COMPUTING↗

Sample Cybersecurity Clauses for EV Charging Infrastructure Procurements

This is the final version of PNNL-34373, with sponsor updates. The proposed sample cybersecurity clauses for EVCI procurements are designed to assist in managing the risk of cyberattacks that may degrade the safety, security, and reliability of EVCI. The sample clauses are intended to be tailored and incorporated into procurement specifications for equipment and services related to the National EV Infrastructure Formula Program deployments. Widespread adoption of the sample cybersecurity procurement language will integrate cybersecurity throughout the life cycle of the infrastructure.

33 ADVANCED PROPULSION SYSTEMS↗