Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “COMPILER PROGRAM”

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 325 records · Page 18

Plant Modernization Pathway: FY 2019 External Review Summary Report

This report describes an external review conducted by the Light Water Reactor Sustainability Program Plant Modernization Pathway (referred to as Pathway) to solicit feedback on the topics and results of the ongoing Instrumentation and Control (I&C) research program. This review was held in conjunction with the Nuclear Energy Institute (NEI) Digital I&C Working Group meeting that was held at Idaho National Laboratory on October 16–17, 2018. Members of the Nuclear Regulatory Commission (NRC) staff working on digital I&C issues through their Integrated Action Plan also attended. The NEI and NRC agreed that the meeting participants would serve as an external review panel for the purpose of obtaining expert input on the value and timing of the research projects. Five major research areas were presented, along with demonstrations of new technologies in the Human Systems Simulation Laboratory and the Computer-Assisted Virtual Environment. Following the presentations, the external review was conducted by referring to a set of summary slides of the five research areas, and allowing each participant to enter ratings and comments on a survey form as each area was addressed. Fourteen forms were returned. These feedback forms were analyzed by the Pathway who compiled and responded to the data and comments, which are documented in this report. The participants also had opportunity to provide comments on the LWRS Program as a whole and to suggest additional research topics of value. The feedback provided by the external review participants is taken to be a strong endorsement of the types of projects being conducted by the Pathway, the value they hold for the operating nuclear plants, and the general timing of need. The feedback aligns well with the priorities, levels of efforts allocated for the research projects, and project schedules of the current Pathway research program. The feedback also provides realistic observations on the practicality of some aspects of implementing these technologies. The Pathway will consider all of the feedback and address the recommended research topics that have been identified by the external review participants. Pathway research plans will be adjusted as warranted.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Updated Subsurface Data Base For Bear Creek Valley, Chestnut Ridge, And Parts Of Bethel Valley On The U.S. Department of Energy Oak Ridge Reservation

This document represents a compilation of location, construction, and hydrologic information relating to boreholes, groundwater monitoring wells, and surface water locations that have been installed/established at the Y-12 National Security Complex (Y-12) through August 2013. To date, a total of 1422 boreholes and wells have been installed in and around the Y-12 area. Of those, 835 existing boreholes and wells continue to be utilized for groundwater monitoring programs, research, remedial investigations, plume characterization and delineation studies, and various other hydrogeologic endeavors. In addition, 215 surface water locations, such as rivers, streams, seeps, springs, lakes, ponds, and building sumps are included in this database. General data about boreholes and wells included in the database are survey coordinates, survey system, elevations, alternative names and well status. Surface water location information (Appendix I) includes name, alias, functional area, northing and easting coordinates, survey system, map number and sampling history. Tabulated construction data include total depth, completion method, borehole diameter, casing and screen materials, casing and screen diameters, casing and screen depths, filter pack depths, open-hole intervals, and open-hole diameters. Hydrogeological data summarized in this document include the aquifer monitored by the completion interval, depth to weathered and fresh bedrock, formations penetrated, well sampling history, and whether rock core and geophysical logs were obtained. This document (which is the sixth revision to Y/TS–881 and the ninth overall update of a previous compilation) is published on a regular basis by the Y-12 Groundwater Protection Program (GWPP), which serves as custodian of drilling records and well construction data for the network of wells and other groundwater monitoring stations at Y-12. The tabulations in this database are arranged in appendices of like information. An example application of the data compiled in this document would be the evaluation of the suitability of wells for continued use in groundwater investigations and monitoring studies. Other uses may include: the siting of hydrogeological characterization activities, background evaluations of sites prior to initiation of new drilling activities, and hydrogeological review of selected sites prior to the initiation of remedial actions or new construction activity. Existing boreholes, wells, and surface water locations are presented on a series of maps (Appendix K). Boreholes and wells that have been plugged and abandoned, destroyed, could not be located, or otherwise are of unknown status/condition appear on a second series of maps of identical coverage (Appendix L).

54 ENVIRONMENTAL SCIENCES↗

Automated Approach for Construction of Long-Term, Data-Intensive Watershed Models

Watershed models such as the Hydrological Simulation Program in FORTRAN (HSPF) are frequently used to analyze large-scale water quantity and water quality issues. The construction of HSPF models is a difficult and time-consuming process, because it requires compilation of extensive quantities of data into formatted files followed by a simultaneous fitting of many uncertain parameters. Because of these complications, studies are often limited to calibration periods of only a few years even when analyzing long time-scale issues such as climate and land-use changes that are difficult or impossible to reproduce. High-level, open source programming languages provide an environment for automating the extraction and processing of various sources of data in addition to the calibration process required by HSPF. Recently developed software can be used to build HSPF input files, run simulations, and postprocess simulation results using the Python programming language. The combination of tools in Python, public data sets on the Internet, and software extensions enables rapid development of long-term, reproducible, and sophisticated models for new hydrologic insight. Herein, the utility of these tools is illustrated by developing an automated 30-year HSPF model with a Nash-Sutcliffe efficiency of 0.88 for monthly flows and 0.75 for daily flows in a simulation time of approximately 3h. The integration of HSPF with a high-level programming language creates opportunities to more rigorously explore model assumptions, calibration methods, and alternative data sets.

Lampert, Dave J↗

Synthetic genetic circuits as a means of reprogramming plant roots

We report the shape of a plant’s root system influences its ability to reach essential nutrients in the soil and to acquire water during drought. Progress in engineering plant roots to optimize water and nutrient acquisition has been limited by our capacity to design and build genetic programs that alter root growth in a predictable manner. We developed a collection of synthetic transcriptional regulators for plants that can be compiled to create genetic circuits. These circuits control gene expression by performing Boolean logic operations and can be used to predictably alter root structure. This work demonstrates the potential of synthetic genetic circuits to control gene expression across tissues and reprogram plant growth.

59 BASIC BIOLOGICAL SCIENCES↗

AstraAI v1

AstraAI is an open-source, structure-aware AI coding agent designed for large scientific and DOE-HPC codebases such as AMReX-based applications. Unlike general-purpose coding assistants, AstraAI combines retrieval-augmented generation (RAG) with compiler-level Abstract Syntax Tree (AST) analysis to perform precise, scope-constrained code modifications. It identifies exact function spans, enforces locality of edits, and maintains cross-file invariants, enabling deterministic and build-safe transformations in complex C++/GPU environments. AstraAI is intended for developers working on large, evolving HPC frameworks where correctness, reproducibility, and structural integrity are critical. Typical use cases include modifying physics kernels, updating GPU device lambdas, and performing multi-file refactors without breaking compilation or runtime semantics. Compared to conventional LLM-based coding agents - even those with repository access - AstraAI provides structural guarantees rather than free-form text patches. It minimizes unintended diffs, prevents scope drift, preserves formatting and build stability, and reduces structural hallucinations. By integrating compiler tooling directly into the generation loop, AstraAI transforms AI-assisted coding from probabilistic text editing into deterministic, structure-preserving program transformation suitable for mission-critical scientific software.

Natarajan, Mahesh [Lawrence Berkeley National Labo↗

Technology inventory: energy efficiency measures for residential, commercial, and industrial sectors in the United States

Energy efficiency is expected to continue to be one of main levers for governments to address the energy and climate crisis. While a diverse mix of energy efficiency programs has been regarded as an important part of governmental actions, an energy efficiency policy or program needs to identify and assess eligible savings measures, i.e., specific technologies or practices, for designing key features, e.g., target type, target stringency, covered load, and cost recovery. This report briefly discusses U.S. energy efficiency policies and programs, explores publicly available resources of energy efficiency measures for residential, commercial, and industrial sectors in the U.S., and describes how to compile key measures and characteristics into an integrated spreadsheet database. The database in the initial version offers, for more than 1,200 measures, efficiency or improvement potential, technical notes, costs at a given year, where applicable. Energy efficiency measures compiled here could play an important role in determining savings targets and target stringency under a potential energy efficiency policy such as an energy efficiency resource standard in Korea, and offer significant opportunities for energy efficiency improvement.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

SorpPropLib : An Open-Source Database for Sorption Equilibrium Properties

Hundreds of sorption working pair equilibrium measurements have been reported in the literature, and many experimental results have been fitted to equilibrium equations. However, an open database does not exist for the equilibrium equations. Therefore, this work compiled 438 published equilibrium equations of sorption working pairs into an open-source database called SorpPropLib. SorpPropLib is accessible from six programming environments commonly used in sorption cycle simulation (C++, Excel®, Python®, Matlab®, Modelica® and Lab-VIEW™). Plotting capabilities allow fast cycle visualization in each programming environment. Thereby, the open-source database SorpPropLib aims to enable and encourage easy data sharing to advance sorption research.

Engelpracht, Mirko↗

Performance and Architecture Lab Modeling Tool

Analytical application performance models are critical for diagnosing performance-limiting resources, optimizing systems, and designing machines. Creating models, however, is difficult. Furthermore, models are frequently expressed in forms that are hard to distribute and validate. The Performance and Architecture Lab Modeling tool, or Palm, is a modeling tool designed to make application modeling easier. Palm provides a source code modeling annotation language. Not only does the modeling language divide the modeling task into sub problems, it formally links an application's source code with its model. This link is important because a model's purpose is to capture application behavior. Furthermore, this link makes it possible to define rules for generating models according to source code organization. Palm generates hierarchical models according to well-defined rules. Given an application, a set of annotations, and a representative execution environment, Palm will generate the same model. A generated model is a an executable program whose constituent parts directly correspond to the modeled application. Palm generates models by combining top-down (human-provided) semantic insight with bottom-up static and dynamic analysis. A model's hierarchy is defined by static and dynamic source code structure. Because Palm coordinates models and source code, Palm's models are 'first-class' and reproducible. Palm automates common modeling tasks. For instance, Palm incorporates measurements to focus attention, represent constant behavior, and validate models. Palm's workflow is as follows. The workflow's input is source code annotated with Palm modeling annotations. The most important annotation models an instance of a block of code. Given annotated source code, the Palm Compiler produces executables and the Palm Monitor collects a representative performance profile. The Palm Generator synthesizes a model based on the static and dynamic mapping of annotations to program behavior. The model -- an executable program -- is a hierarchical composition of annotation functions, synthesized functions, statistics for runtime values, and performance measurements.

Tallent, Nathan↗

Data Locality Enhancement of Dynamic Simulations for Exascale Computing (Final Report)

The development of modern processors exhibits two trends that complicate the optimizations of modern software. The first is the increasing sensitivity of processors' throughput to irregularities in computation. With more processors produced through a massive integration of simple cores, future systems will increasingly favor regular data-level parallel computations, but deviate from the needs of applications with complex patterns. Some evidences are already shown on Graphic Processing Units (GPU): Irregular data accesses (e.g., indirect references A[D[i]]) and conditional branches are limiting many GPU applications' performance at a level an order of magnitude lower than the peak of GPU. The second hardware trend is the growing gap between memory bandwidth and the aggregate speed—that is, the sum of all cores' computing power—of a Chip Multiprocessor (CMP). Despite the capped growth of the peak CPU speed, the aggregate speed of a CMP keeps increasing as more cores get into a single chip. It is expected that by 2018, node concurrency in an exascale system will increase by hundreds of times, whereas, memory bandwidth will expand by only 10 to 20 times. Consequently, data movement and storage is expected to consume more than 70% of the total system power. Bridging this gap is difficult; the complexities of modern CMP memory hierarchy make it even harder: Data cache becomes shared among computing units, and the sharing is often non-uniform—whether two computing units share a cache depends on their proximity and the level of the cache. On the recent IBM Power7 architecture, for instance, four hardware contexts (or SMT threads) in a core share the entire memory hierarchy, all cores in one chip share an on-chip L3 cache, and cores across chips share L3 and main memory through off-chip connections. These two trends complicate the translation of computing power into performance, especially for a program with either intensive data accesses or complex patterns in data accesses or control flow paths. Unfortunately, both attributes present and will persist in a class of important applications. For instance, many scientific simulations deal with a large volume of data. And meanwhile, as most real-world processes are non-uniform and evolving (e.g., the evolution of a galaxy or the process of a drug injection), both the computations and data accesses of these programs tend to be irregular and dynamically changing. Currently, the lack of support to these applications on modern CMP severely limits their performance. On GPU, as our recent study shows and other studies echo, performance enhancement of a factor of integers is possible when memory accesses or control flows are streamlined for a set of GPU applications. On multicore CPU, our studies show that traditional locality enhancement, for being oblivious to the new features of multicore memory hierarchy, may even cause large slowdown to data-intensive dynamic applications. The severity of the issues is expected to worsen as the two hardware trends continue. Some recent studies try to match software with the trends, but in a limited scope or manner. For irregularities on GPU, most studies focus on irregularities analyzable through static analysis (e.g., data accesses in regular loops). Dynamic irregularities are harder to address because the needed analysis and transformations typically have to happen at run time. Some other research resorts to hardware extensions, an actual adoption of which is unclear for the entailed space cost and complexity. For data locality, recent years have seen some exploitations of the new memory hierarchy on multicore for performance, but most of them are on process or thread scheduling, rather than program transformations. Our recent study reveals that program-level transformations may magnify the scheduling benefits by a factor of seven, concluding that program-level transformation should play a central role for data locality enhancement on modern CMP. But research in this direction has been sparse, and most have focused on data layout or cache performance modeling, rather than program transformations to match with the new memory hierarchy features. Overall, it is still an open question how to bridge the gap between dynamic computations and the two prominent properties of modern processors. The goal of this project is to develop a set of techniques and software tools to enhance the matching between memory accesses in dynamic simulations and the prominent features of modern and future CMP, alleviating the memory performance issues for petascale and exascale computing. This report summarizes the discoveries and products produced throughout this project. It includes free launch, a new software approach to overcoming the shortcomings of both methods; coherence-free multiview, an approach that allows multiple views of a single data object to co-exist on GPU memory during a GPU kernel execution; algorithmic optimizations to data analytics problems, especially those that involve lots of distance calculations. Supporting dynamic parallelism is important for GPU to benefit a broad range of applications. There are currently two fundamental ways for programs to exploit dynamic parallelism on GPU: a software-based approach with software-managed worklists, and a hardware-based approach through dynamic subkernel launches. Neither is satisfactory. The former is complicated to program and is often subject to some load imbalance; the latter suffers large runtime overhead. In this work, we propose free launch, a new software approach to overcoming the shortcomings of both methods. It allows programmers to use subkernel launches to express dynamic parallelism. It employs a novel compiler-based code transformation named subkernel launch removal to replace the subkernel launches with the reuse of parent threads. Coupled with an adaptive task assignment mechanism, the transformation reassigns the tasks in the subkernels to the parent threads with a good load balance. The technique requires no hardware extensions, immediately deployable on existing GPUs. It keeps the programming convenience of the subkernel launch-based approach while avoiding its large runtime overhead. Meanwhile, its superior load balancing makes it outperform manual worklist-based techniques by 3X on average. The work was published at the 48th Annual IEEE/ACM International Symposium on Microarchitecture (Micro'2015). A Graphic Processing Unit (GPU) system is typically equipped with many types of memory (e.g., global, constant, texture, shared, cache). Data placement determines what data are placed on which type of memory, essential for GPU memory performance. Prior optimizations of data placement always require a single view of a data object on memory, which limits the optimization effectiveness. In this work, we propose coherence-free multiview, an approach that allows multiple views of a single data object to co-exist on GPU memory during a GPU kernel execution. We demonstrate that under certain conditions, the multiple views can remain incoherent while facilitating enhanced data placement. We present a theorem and some compiler support to ensure the soundness of the usage of coherence-free multiview. We further develop reference-discerning data placement, a new way to enhance data placements on GPU. It enables more flexible data placements by using coherence-free multiview to leverage the slack in coherence requirement of some GPU programs. Experiments on three types of GPU systems show that, with less than 200KB space cost, the new data placement technique can provide a 1.6X average (up to 4.27X) speedup. In addition, we have examined algorithmic optimizations to data analytics problems, especially those that involve lots of distance calculations. Computing distances among data points is an essential part of many important algorithms in data analytics, graph analysis, and other domains. In each of these domains, developers have spent significant manual effort optimizing algorithms, often through novel applications of the triangle equality, in order to minimize the number of distance computations in the algorithms. In this work, we observe that many algorithms across these domains can be generalized as an instance of a generic distance-related abstraction. Based on this abstraction, we derive seven principles for correctly applying the triangular inequality to optimize distance-related algorithms. Guided by the findings, we develop Triangular OPtimizer (TOP), the first software framework that is able to automatically produce optimized algorithms that either matches or outperforms manually designed algorithms for solving distance-related problems. TOP achieves up to 237x speedups and 2.5X on average. The work has been published at the 32nd International Conference on Machine Learning (ICML'15) and the 41st International Conference on Very Large Data Bases (VLDB'15).

42 ENGINEERING↗

Hawthorne Nevada Deep Direct-Use Feasibility Study - Data Used for Geothermal Resource Conceptual Modeling and Power Capacity Estimates

This data submission includes several data components that were used to develop a conceptual model and power capacity-estimates of two low-temperature geothermal resources that define geothermal prospect A at Hawthorne, Nevada. Data are sourced from a combination of legacy publicly-available data and more recent data acquisition conducted by the US Navy Geothermal Program Office (2008-2013) and the Great Basin Center for Geothermal Energy at the University of Nevada, Reno (2008-2010). Data sets include compiled fluid geochemistry data, down-hole temperature logs for wells in the vicinity of prospect A, 2 meter temperature survey data, temperature-spinner logs acquired in well HWAAD-2A, fracture picks from image log data acquired in wells HWAAD-2 and HWAAD-3, and X-Ray Diffraction (XRD) analyses on cuttings from wells HWAAD-2A and HWAAD-3. These data have been reviewed for errors and inconsistencies, but it is possible that few errors could still remain. The resource conceptual model and power capacity estimates are included in the final report to the US Department of Energy, and are presented in a manuscript by Ayling and Hinz. A link to the manuscript published in Geothermics is linked below in this submission.

15 GEOTHERMAL ENERGY↗

OpenACC acceleration for the P N – P N - 2 algorithm in Nek5000

Due to its high performance and throughput capabilities, GPU-accelerated computing is becoming a popular technology in scientific computing, in particular using programming models such as CUDA and OpenACC. The main advantage with OpenACC is that it enables to simply port codes in their ‘‘original’’ form to GPU systems through compiler directives, thus allowing an incremental approach. An OpenACC implementation is applied to the CFD code Nek5000 for simulation of incompressible flows, based on the spectral-element method. The work follows up previous implementations and focuses now on the P N - P N-2 method for the spatial discretization of the Navier–Stokes equations. Performance results of the ported code show a speed-up of up to 3.1 on multi-GPU for a polynomial order N > 11.

97 MATHEMATICS AND COMPUTING↗

Deploying and Tracking Software with NCCS Software Provisioning

The National Center for Computational Sciences (NCCS) at Oak Ridge National Laboratory has a long history of deploying ground-breaking leadership-class supercomputers for the U.S. Department of Energy. The latest in this line of supercomputers is Frontier, the first supercomputer to break the exascale barrier (1018 floating-point operations per second) on the TOP500 list. Frontier serves a wide array of scientific domains, from traditional simulation-based workloads to newer AI and Machine Learning workloads. To best serve the NCCS user community, NCCS uses Spack to deploy a comprehensive software stack of scientific software packages, providing straightforward access to these packages through Lmod Environment Modules. Maintaining a large software stack while also including multiple new compiler releases each year is a very time-consuming task. Additionally, it is not straightforward to provide a software stack alongside existing vendor-provided software such as the HPE/Cray Programming Environment (CPE), and existing CPE, Spack, and Lmod integration does not allow for multiple versions of GPU libraries such as AMD’s ROCm to be used. To address these challenges and shortcomings, NCCS has developed the NCCS Software Provisioning tool (NSP)1, a tool for deploying and monitoring software stacks on HPC systems. NSP allows NCCS to quickly and effectively provision software stacks from the ground up using template-driven recipes and configuration files. NSP is successfully deployed on Frontier and several other NCCS clusters, enabling the NCCS software team to quickly deploy software stacks for newly-released compilers, expand current software offerings, better support GPU-based software, and monitor Lmod module usage to identify unused software packages that can be removed from the software stack. In this work, we discuss the shortcomings of the previous CPE, Spack, and Lmod usage at NCCS, provide further details on the implementation and structure of NSP, then discuss the benefits that NSP provides.

Rentschler, Asa [ORNL] (ORCID:0009000597694743)↗

RELAP5-3D Developer Guidelines and Programming Practices

Our ultimate goal is to create and maintain RELAP5-3D as the best software tool available to analyze nuclear power plants. This begins with writing excellent programming and requires thorough testing. This document covers development of RELAP5-3D software, the behavior of the RELAP5-3D program that must be maintained, and code testing. RELAP5-3D must perform in a manner consistent with previous code versions with backward compatibility for the sake of the users. Thus file operations, code termination, input and output must remain consistent in form and content while adding appropriate new files, input and output as new features are developed. As computer hardware, operating systems, and other software change, RELAP5-3D must adapt and maintain performance. The code must be thoroughly tested to ensure that it continues to perform robustly on the supported platforms. The coding must be written in a consistent manner that makes the program easy to read to reduce the time and cost of development, maintenance and error resolution. The programming guidelines presented her are intended to institutionalize a consistent way of writing FORTRAN code for the RELAP5-3D computer program that will minimize errors and rework. A common format and organization of program units creates a unifying look and feel to the code. This in turn increases readability and reduces time required for maintenance, development and debugging. It also aids new programmers in reading and understanding the program. Therefore, when undertaking development of the RELAP5-3D computer program, the programmer must write computer code that follows these guidelines. This set of programming guidelines creates a framework of good programming practices, such as initialization, structured programming, and vector-friendly coding. It sets out formatting rules for lines of code, such as indentation, capitalization, spacing, etc. It creates limits on program units, such as subprograms, functions, and modules. It establishes documentation guidance on internal comments. The guidelines apply to both existing and new subprograms. They are written for both FORTRAN 77 and FORTRAN 95. The guidelines are not so rigorous as to inhibit a programmer’s unique style, but do restrict the variations in acceptable coding to create sufficient commonality that new readers will find the coding in each new subroutine familiar. It is recognized that this is a “living” document and must be updated as languages, compilers, and computer hardware and software evolve.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

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

Early Experiences Porting the NAMD and VMD Molecular Simulation and Analysis Software to GPU-Accelerated OpenPOWER Platforms, In: ISC High Performance 2016: High Performance Computing

All-atom molecular dynamics simulations of biomolecules provide a powerful tool for exploring the structure and dynamics of large protein complexes within realistic cellular environments. Unfortunately, such simulations are extremely demanding in terms of their computational requirements, and they present many challenges in terms of preparation, simulation methodology, and analysis and visualization of results. We describe our early experiences porting the popular molecular dynamics simulation program NAMD and the simulation preparation, analysis, and visualization tool VMD to GPU-accelerated OpenPOWER hardware platforms. We report our experiences with compiler-provided autovectorization and compare with hand-coded vector intrinsics for the POWER8 CPU. We explore the performance benefits obtained from unique POWER8 architectural features such as 8-way SMT and its value for particular molecular modeling tasks. Finally, we evaluate the performance of several GPU-accelerated molecular modeling kernels and relate them to other hardware platforms.

Computer Science↗

Emulating Multiple Inheritance in Fortran 2003/2008

Although the high-performance computing (HPC) community increasingly embraces object-oriented programming (OOP), most HPC OOP projects employ the C++ programming language. Until recently, Fortran programmers interested in mining the benefits of OOP had to emulate OOP in Fortran 90/95. The advent of widespread compiler support for Fortran 2003 now facilitates explicitly constructing object-oriented class hierarchies via inheritance and leveraging related class behaviors such as dynamic polymorphism. Although C++ allows a class to inherit from multiple parent classes, Fortran and several other OOP languages restrict or prohibit explicit multiple inheritance relationships in order to circumvent several pitfalls associated with them. Nonetheless, what appears as an intrinsic feature in one language can be modeled as a user-constructed design pattern in another language. The present paper demonstrates how to apply the facade structural design pattern to support a multiple inheritance class relationship in Fortran 2003. The design unleashes the power of the associated class relationships for modeling complicated data structures yet avoids the ambiguities that plague some multiple inheritance scenarios.

97 MATHEMATICS AND COMPUTING↗

Global-Address Networking (GASNet-1) Library

GASNet is a language-independent, networking middleware layer that provides network-independent, high-performance communication primitives including Remote Memory Access (RMA) and Active Messages (AM). It has been used to implement parallel programming models and libraries such as UPC, Co-Array Fortran, Titanium, Legion, Chapel, and many others. The interface is primarily intended as a compilation target and for use by runtime library writers (as opposed to end users), and the primary goals are high performance, interface portability, and expressiveness. GASNet stands for "Global-Address Space Networking".

SciDAC↗

Global-Address Space Networking for Exascale

GASNet-EX is a portable, open-source, high-performance communication library designed to efficiently support the networking requirements of Partitioned Global Address Space (PGAS) runtime systems and other alternative models in future exascale machines. The library is an evolution of the popular GASNet communication system, building upon over 15 years of lessons learned. GASNet is a language-independent, networking middleware layer that provides network-independent, high-performance communication primitives including Remote Memory Access (RMA) and Active Messages (AM). It has been used to implement parallel programming models and libraries such as UPC, Co-Array Fortran, Titanium, Legion, Chapel, and many others. The interface is primarily intended as a compilation target and for use by runtime library writers (as opposed to end users), and the primary goals are high performance, interface portability, and expressiveness. GASNet stands for "Global-Address Space Networking".

ECP↗