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 577 records · Page 32

Scheduling and Performance of Asynchronous Tasks in Fortran 2018 with FEATS

Most parallel scientific programs contain compiler directives (pragmas) such as those from OpenMP (Hermanns in Parallel programming in Fortran 95 using openMP, 2002. School of Aeronautical Engineering, Universidad Politécnica de Madrid, España, 2011), explicit calls to runtime library procedures such as those implementing the Message Passing Interface (MPI) (in A message-passing interface standard version 4.0, 2021. https://www.mpi-forum.org/docs/mpi-4.0/mpi40-report.pdf), or compiler-specific language extensions such as those provided by CUDA (Ruetsch and Fatica in CUDA Fortran for scientists and engineers: best practices for efficient CUDA Fortran programming, Elsevier, 2013). By contrast, the recent Fortran standards empower developers to express parallel algorithms without directly referencing lower-level parallel programming models (Numrich in Parallel programming with co-arrays, CRC Press, 2018, and Curcic in Modern Fortran: building efficient parallel applications, Manning Publications, 2020). 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. Further, 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.

97 MATHEMATICS AND COMPUTING↗

Program Generators for Exascale and Beyond (Final Technical Report)

The major goals of this project were to devise programming models and supporting tools that simplify the construction of specialized high‐performance generators, leading to improvements over the state of the art along the various dimensions of portability, performance, and productivity. In particular, the project achieved these goals by focusing on domain‐specific languages (DSLs) as intermediate layers in a translation and optimization framework, on composability of program generators, on re‐targeting legacy code, and on fundamental methodologies such as stage polymorphism or "generic programming in time".

97 MATHEMATICS AND COMPUTING↗

Scaling Irregular Applications through Data Aggregation and Software Multithreading

Bioinformatics, data analytics, semantic databases, knowledge discovery are emerging high performance application areas that exploit dynamic, linked data structures such as graphs, unbalanced trees or unstructured grids. These data structures usually are very large, requiring significantly more memory than available on single shared memory systems. Additionally, these data structures are difficult to partition on distributed memory systems. They also present poor spatial and temporal locality, thus generating unpredictable memory and network accesses. The Partitioned Global Address Space (PGAS) programming model seems suitable for these applications, because it allows using a shared memory abstraction across distributed-memory clusters. However, current PGAS languages and libraries are built to target regular remote data accesses and block transfers. Furthermore, they usually rely on the Single Program Multiple Data (SPMD) parallel control model, which is not well suited to the fine grained, dynamic and unbalanced parallelism of irregular applications. In this paper we present {\bf GMT} (Global Memory and Threading library), a custom runtime library that enables efficient execution of irregular applications on commodity clusters. GMT integrates a PGAS data substrate with simple fork/join parallelism and provides automatic load balancing on a per node basis. It implements multi-level aggregation and lightweight multithreading to maximize memory and network bandwidth with fine-grained data accesses and tolerate long data access latencies. A key innovation in the GMT runtime is its thread specialization (workers, helpers and communication threads) that realize the overall functionality. We compare our approach with other PGAS models, such as UPC running using GASNet, and hand-optimized MPI code on a set of typical large-scale irregular applications, demonstrating speedups of an order of magnitude.

Aggregation↗

Berkeley Unified Parallel C (BUPC) Compiler

This program is a portable, open-source, compiler for the UPC language. It is based on the Open64 framework and has extensive support for optimizations. This compiler operates by translating UPC into ANSI/ISO C for compilation by a native compiler and linking with the UPC Runtime Library. This design eases portability to both shared- and distributed-memory parallel architectures. For proper operation it requires the "Berkeley Unified Parallel C (UPC) Runtime Library" and its dependencies.

Iancu, Costin↗

Domain Aware Deep-learning Algorithms Integrated with Scientific-computing Technologies (DADAIST)

This technical report summarized the contribution of the DADAIST project funded by the Data Model Convergence Initiative via the Laboratory Directed Research and Development (LDRD) investments at Pacific Northwest National Laboratory (PNNL). Specifically, we report the development of the NeuroMANCER (Neural Modules with Adaptive Nonlinear Constraints and Efficient Regularizations), a new open-source Scientific Machine Learning library for formulating and solving parametric constrained optimization problems, physics-informed system identification, and parametric optimal control problems. NeuroMANCER is using differentiable programming to combine modern data-driven models and optimization modeling language into a coherent algorithmic and software framework. NeuroMANCER is a Pytorch-based framework and adopts much of its philosophy focused on research and development, rapid prototyping, and streamlined deployment. Strong emphasis is given to extensibility, interoperability with the PyTorch ecosystem, and quick adaptability to custom domain problems. Neuromancer repository contains a comprehensive library of differentiable modules, including custom activation functions, matrix factorizations, deep learning architectures, neural differential equations, differential equation solvers, implicit layers such as iterative solvers, high-level API for symbolic expressions, API for modeling and control of dynamical systems, and extensive set of tutorial code examples in the form of python scripts and jupyter notebooks.

97 MATHEMATICS AND COMPUTING↗

Highlights of X-Stack ExM Deliverable Swift/T

Swift/T is a key success from the ExM: System support for extreme-scale, many-task applications1 X-Stack project, which proposed to use concurrent dataflow as an innovative programming model to exploit extreme parallelism in exascale computers. The Swift/T component of the project reimplemented the Swift language from scratch to allow applications that compose scientific modules together to be build and run on available petascale computers (Blue Gene, Cray). Swift/T does this via a new compiler and runtime that generates and executes the application as an MPI program. We assume that mission-critical emerging exascale applications will be composed as scalable applications using existing software components, connected by data dependencies. Developers wrap native code fragments using a higherlevel language, then build composite applications to form a computational experiment. This exemplifies hierarchical concurrency: lower-level messaging libraries are used for fine-grained parallelism; highlevel control is used for inter-task coordination. These patterns are best expressed with dataflow, but static DAGs (i.e., other workflow languages) limit the applications that can be built; they do not provide the expressiveness of Swift, such as conditional execution, iteration, and recursive functions.

97 MATHEMATICS AND COMPUTING↗

CLC: A cross-level program characterization method

Characterization of program execution plays a key role in performance improvement. There are numerous transformations applied to each step that a program takes on its lowering from source code to a compiler intermediate representation to machine language to microarchitecture-specific execution. The unpredictable benefit of each transformation step could lead a notionally superior algorithm to exhibit inferior performance once actually run, and it can be hard to discern which step in the transformation path contradicted the code developer’s assumptions. Conventional approaches to program-execution characterization consider the behavior after only a single one of those steps, which limits the information that can be provided to the user. To help address the issue of myopic views of program execution, this paper presents a novel cross-level characterization approach for understanding the behavior of program execution at different levels in the process of writing, compiling, and running a program. We show that this approach provides a richer view of the sources of performance gains and losses and helps identify program execution in a more accurate manner.

97 MATHEMATICS AND COMPUTING↗

A Full-Stack Exploration of Language-Based Parallelism in Fortran 2023

This poster explores native parallel features in Fortran 2023 through the lens of supporting applications with libraries, compilers, and parallel runtimes. The language revision informally named Fortran 2008 introduced parallelism in the form of Single Program Multiple Data (SPMD) execution with two broad feature sets: (1) loop-level parallelism via do concurrent and (2) a Partitioned Global Address Space (PGAS) comprised of distributed “coarray” data structures. Fortran’s native parallelism has demonstrated high performance [1] and reduced the burden of inserting what sometimes amounts to more directives than code. Several compilers support both feature sets, typically by translating do concurrent into serial do loops annotated by parallel directives and by translating SPMD/PGAS features into direct calls to a communication library. Our research focuses primarily on two questions: (1) can the compiler’s parallel runtime library be developed in the language being compiled (Fortran) and (2) can we define an interface to the runtime that liberates compilers from being hardwired to one runtime and vice versa. We are answering these questions by developing the Parallel Runtime Interface for Fortran (PRIF) [2] and the Co-Array Fortran Framework of Efficient Interfaces to Network Environments (Caffeine) [3]. Caffeine is initially targeting adoption by LLVM Flang, a new open-source Fortran compiler developed by a broad community in industry, academia, and government labs. We are also exploring the use of these features in Inference-Engine, a deep learning library designed to facilitate neural network training and inference for high-performance computing applications written in modern Fortran.

Rasmussen, Katherine↗

Developing a Supply Chain Security Program

Amid growing concerns over foreign manufacturing for components and devices deployed in critical energy infrastructure, this research from the national labs will highlight best practices for developing and maintaining a supply chain security program. Tools for asset inventory, tips for developing and maintaining software- and hardware-bills-of-materials (SBOMs and HBOMs), recommended contractual language for vendor agreements, and identification of responsibilities will be shared. We discuss the one-time requirements to enable a successful supply chain security program and the best ways to operationalize this program for maximum impact, including development of robust practices for vulnerability tracking, patch management, and workarounds, with understanding of the reliability and uptime requirements for utilities. The recommendations shared are based on a cyber-informed engineering approach to identification of high-consequence impacts and the engineering controls related to supply chain management that can best mitigate these impacts. This approach allows for prioritization of resources. Additionally, we highlight relative up-front and ongoing costs associated with recommended controls. Viewers will leave with an understanding what a supply chain security program is, and what steps, prioritized for resource-constrained organizations, can build a robust program.

14 SOLAR ENERGY↗

TU-CD-213-00: Administrative Aspects of Medical Physics

As part of the AAPM’s Scope of Practice, medical physicists are expected to collaborate effectively with practioners and allied health care providers. Interpersonal skills such as communication, negotiation and persuasion are vital for successful collaboration to achieve shared goals. This session will provide some theoretical background of these interpersonal skills as well as specific techniques and practical tools to influence others. Applications of these interpersonal skills for administrative and human resource management purposes vital to medical physicists will be shared. Session attendees will gain knowledge and tools to help them effectively collaborate with administrative and physician leaders in areas such as capital and human resource selection, prioritization, and implementation. Participants will hear methods of how to articulate their goals and to understand the goals of administration, helping ensure alignment of purpose. Session speakers will present one of the topics: equipment selection, budget creation, contracts, and program-related policy development. Specifics may include designing a business case in language that administrators understand, calculating the prioritization of budget requests, and influencing policies for safe and effective care. Human resource topics may include staffing justification, recruitment for fit, employment contracts, and benefits. Speakers will provide examples in both radiation therapy and diagnostic imaging departments and will share experiences and outcomes of their approaches for better results. Learning Objectives: After this course attendees will be better able to Understand the shared goal between administrative and physicist leadership. Articulate the “why” of the technical or human resource need. Utilize communication, negotiation and persuasion tools to improve collaboration.

60 APPLIED LIFE SCIENCES↗

TU-CD-213-01: Communication, Negotiation, and Persuasion: Approaches for Better Results

As part of the AAPM’s Scope of Practice, medical physicists are expected to collaborate effectively with practioners and allied health care providers. Interpersonal skills such as communication, negotiation and persuasion are vital for successful collaboration to achieve shared goals. This session will provide some theoretical background of these interpersonal skills as well as specific techniques and practical tools to influence others. Applications of these interpersonal skills for administrative and human resource management purposes vital to medical physicists will be shared. Session attendees will gain knowledge and tools to help them effectively collaborate with administrative and physician leaders in areas such as capital and human resource selection, prioritization, and implementation. Participants will hear methods of how to articulate their goals and to understand the goals of administration, helping ensure alignment of purpose. Session speakers will present one of the topics: equipment selection, budget creation, contracts, and program-related policy development. Specifics may include designing a business case in language that administrators understand, calculating the prioritization of budget requests, and influencing policies for safe and effective care. Human resource topics may include staffing justification, recruitment for fit, employment contracts, and benefits. Speakers will provide examples in both radiation therapy and diagnostic imaging departments and will share experiences and outcomes of their approaches for better results. Learning Objectives: After this course attendees will be better able to Understand the shared goal between administrative and physicist leadership. Articulate the “why” of the technical or human resource need. Utilize communication, negotiation and persuasion tools to improve collaboration.

60 APPLIED LIFE SCIENCES↗

TU-CD-213-02: Communication, Negotiation, and Persuasion: Approaches for Better Results

As part of the AAPM’s Scope of Practice, medical physicists are expected to collaborate effectively with practioners and allied health care providers. Interpersonal skills such as communication, negotiation and persuasion are vital for successful collaboration to achieve shared goals. This session will provide some theoretical background of these interpersonal skills as well as specific techniques and practical tools to influence others. Applications of these interpersonal skills for administrative and human resource management purposes vital to medical physicists will be shared. Session attendees will gain knowledge and tools to help them effectively collaborate with administrative and physician leaders in areas such as capital and human resource selection, prioritization, and implementation. Participants will hear methods of how to articulate their goals and to understand the goals of administration, helping ensure alignment of purpose. Session speakers will present one of the topics: equipment selection, budget creation, contracts, and program-related policy development. Specifics may include designing a business case in language that administrators understand, calculating the prioritization of budget requests, and influencing policies for safe and effective care. Human resource topics may include staffing justification, recruitment for fit, employment contracts, and benefits. Speakers will provide examples in both radiation therapy and diagnostic imaging departments and will share experiences and outcomes of their approaches for better results. Learning Objectives: After this course attendees will be better able to Understand the shared goal between administrative and physicist leadership. Articulate the “why” of the technical or human resource need. Utilize communication, negotiation and persuasion tools to improve collaboration.

60 APPLIED LIFE SCIENCES↗

TU-CD-213-03: Communication, Negotiation, and Persuasion: Approaches for Better Results

As part of the AAPM’s Scope of Practice, medical physicists are expected to collaborate effectively with practioners and allied health care providers. Interpersonal skills such as communication, negotiation and persuasion are vital for successful collaboration to achieve shared goals. This session will provide some theoretical background of these interpersonal skills as well as specific techniques and practical tools to influence others. Applications of these interpersonal skills for administrative and human resource management purposes vital to medical physicists will be shared. Session attendees will gain knowledge and tools to help them effectively collaborate with administrative and physician leaders in areas such as capital and human resource selection, prioritization, and implementation. Participants will hear methods of how to articulate their goals and to understand the goals of administration, helping ensure alignment of purpose. Session speakers will present one of the topics: equipment selection, budget creation, contracts, and program-related policy development. Specifics may include designing a business case in language that administrators understand, calculating the prioritization of budget requests, and influencing policies for safe and effective care. Human resource topics may include staffing justification, recruitment for fit, employment contracts, and benefits. Speakers will provide examples in both radiation therapy and diagnostic imaging departments and will share experiences and outcomes of their approaches for better results. Learning Objectives: After this course attendees will be better able to Understand the shared goal between administrative and physicist leadership. Articulate the “why” of the technical or human resource need. Utilize communication, negotiation and persuasion tools to improve collaboration.

60 APPLIED LIFE SCIENCES↗

TU-CD-213-04: Panel Discussion

As part of the AAPM’s Scope of Practice, medical physicists are expected to collaborate effectively with practioners and allied health care providers. Interpersonal skills such as communication, negotiation and persuasion are vital for successful collaboration to achieve shared goals. This session will provide some theoretical background of these interpersonal skills as well as specific techniques and practical tools to influence others. Applications of these interpersonal skills for administrative and human resource management purposes vital to medical physicists will be shared. Session attendees will gain knowledge and tools to help them effectively collaborate with administrative and physician leaders in areas such as capital and human resource selection, prioritization, and implementation. Participants will hear methods of how to articulate their goals and to understand the goals of administration, helping ensure alignment of purpose. Session speakers will present one of the topics: equipment selection, budget creation, contracts, and program-related policy development. Specifics may include designing a business case in language that administrators understand, calculating the prioritization of budget requests, and influencing policies for safe and effective care. Human resource topics may include staffing justification, recruitment for fit, employment contracts, and benefits. Speakers will provide examples in both radiation therapy and diagnostic imaging departments and will share experiences and outcomes of their approaches for better results. Learning Objectives: After this course attendees will be better able to Understand the shared goal between administrative and physicist leadership. Articulate the “why” of the technical or human resource need. Utilize communication, negotiation and persuasion tools to improve collaboration.

61 RADIATION PROTECTION AND DOSIMETRY↗

A Formalization of Core Why3 in Coq

Intermediate verification languages like Why3 and Boogie have made it much easier to build program verifiers, transforming the process into a logic compilation problem rather than a proof automation one. Why3 in particular implements a rich logic for program specification with polymorphism, algebraic data types, recursive functions and predicates, and inductive predicates; it translates this logic to over a dozen solvers and proof assistants. Accordingly, it serves as a backend for many tools, including Frama-C, EasyCrypt, and GNATProve for Ada SPARK. But how can we be sure that these tools are correct? The alternate foundational approach, taken by tools like VST and CakeML, provides strong guarantees by implementing the entire toolchain in a proof assistant, but these tools are harder to build and cannot directly take advantage of SMT solver automation. As a first step toward enabling automated tools with similar foundational guarantees, we give a formal semantics in Coq for the logic fragment of Why3. We show that our semantics are useful by giving a correct-by-construction natural deduction proof system for this logic, using this proof system to verify parts of Why3's standard library, and proving sound two of Why3's transformations used to convert terms and formulas into the simpler logics supported by the backend solvers.

97 MATHEMATICS AND COMPUTING↗

Accessing Microsoft Access Databases Using ODBC and RODBC

ODBC (Open Database Connectivity) is an industry-standard API (Application Program Interface) that provides a standard interface, based on SQL (Structured Query Language) between applications and databases. This insulates applications from specific details of different database management systems (DBMS). Microsoft Windows TM provides an implementation of ODBC, which, along with drivers for various databases, supports the API. Windows also provides a driver for Access databases.

97 MATHEMATICS AND COMPUTING↗

Towards reverse mode automatic differentiation of Kokkos-based codes

Derivative computation is a key component of optimization, sensitivity analysis, uncertainty quantification, and the solving of nonlinear problems. Automatic differentiation (AD) is a powerful technique for evaluating such derivatives, and in recent years, has been integrated into programming environments such as Jax, PyTorch, and TensorFlow to support derivative computations needed for training of machine learning models, facilitating wide-spread use of these technologies. The C++ language has become the de facto standard for scientific computing due to numerous factors, yet language complexity has made the wide-spread adoption of AD technologies for C++ difficult, hampering the incorporation of powerful differentiable programming approaches into C++ scientific simulations. This is exacerbated by the increasing emergence of architectures, such as GPUs, with limited memory capabilities and requiring massive thread-level concurrency. C++ AD tools must effectively use these environments to bring novel scientific simulations to next-generation DOE experimental and observational facilities. In this project, we investigated source transformation-based automatic differentiation using LLVM compiler infrastructure to automatically generate portable and efficient gradient computations of Kokkos-based code. We have demonstrated that our proposed strategy is feasible by investigating the usage of a prototype LLVM-based source transformation tool to generate gradients of simple functions made of sequences of simple Kokkos parallel regions. Speedups of up to 500x compared to Sacado were observed on NVIDIA V100 GPU.

97 MATHEMATICS AND COMPUTING↗

XACC: a system-level software infrastructure for heterogeneous quantum–classical computing

Quantum programming techniques and software have advanced significantly over the past five years, with a majority focusing on high-level language frameworks targeting remote REST library APIs. As quantum computing architectures advance and become more widely available, lower-level, system software infrastructures will be needed to enable tighter, co-processor programming and access models. In this work, we present XACC, a system-level software infrastructure for quantum–classical computing that promotes a service-oriented architecture to expose interfaces for core quantum programming, compilation, and execution tasks. Additionally, we detail XACC's interfaces, their interactions, and its implementation as a hardware-agnostic framework for both near-term and future quantum–classical architectures. We provide concrete examples demonstrating the utility of this framework with paradigmatic tasks. Our approach lays the foundation for the development of compilers, associated runtimes, and low-level system tools tightly integrating quantum and classical workflows.

97 MATHEMATICS AND COMPUTING↗