Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “software development”

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 55 records · Page 3

CRADA: Data Acquisition and Tomographic Software Development

Dr. Raymond R. Raylman, Professor and Vice Chair for Research, Radiology Department at WVU was the Principal Investigator for the project. The Jefferson Lab partner on this project was the Radiation Detector and Imaging Group in the Physics Division, led by Dr. Drew Weisenberger who was the coordinator of the project execution and the chief contact with WVU. The responsibility of Jefferson Lab was to facilitate optimization of data acquisition software, conversion of JLab Fortran iterative positron emission mammography computer code to C++ and to act as a computer code repository. During the two year project interactions and exchange of information was directed by Dr. Raylman and Dr. Wesienberger. WVU provided the expertise that allowed JLab to continue development of the current JLab data acquisition software referred to as JDAQ. JDAQ is a highly flexible Java language based data acquisition tool that helps to minimize software induced dead-time while maintaining the highest possible data rates from a JLab built FPGA based analog-to-digital convertor (ADC). JDAQ interfaces directly with the FPGA based multi-channel ADCs. Using JDAQ it is possible process data from a number of different detector types such as the PET systems at WVU. Because of the inherent flexibility of our processing software, we are also able adjust detector readout parameters during operation to provide the best possible data presentation and calibration parameters. To accommodate the high rate nature of PET detector systems JDAQ was designed to be scalable across an Ethernet network as well as for multi-cpu computer systems, and it also has the capability to synchronize many ADCs connected to multiple computers. During the project WVU will provided iterative reconstruction algorithm expertise and Fortran programming assistance to facilitate the conversion to C++ of a JLab developed Fortran positron emission mammography (PEM) reconstruction code. Also WVU provided acceptance testing of the new C++ based PEM reconstruction code. The PEM code is a maximization (MLEM) image reconstruction program that created images from the list-mode data acquired from the PET system.

97 MATHEMATICS AND COMPUTING↗

Software Development: A Tool for Smart Integration of Solar Power (Final Report)

As part of its SunShot funded Grid Assessor work Kevala assembled a team with deep electricity market, solar, software and product expertise to address a significant problem - reducing the risk of investing in solar by determining the inherent value of solar electricity based on the location where it is produced. Kevala’s Grid Assessor product is now in the market transforming the way solar assets are proposed, assessed, and financed, resulting in lower capital costs, the opening of new markets, and the streamlining of siting in the utility scale portion of the solar industry. Grid assessor accomplishes this by using detailed electricity infrastructure data, pricing information, GIS mapping, and proprietary algorithms to lower financial risk by providing transparency into the current and future value of projects based on their location.

14 SOLAR ENERGY↗

Software Development for Data Visualization and Analysis of PN-Diodes & MOSFET Devices

The U.S. Department of Energy has a broad mission to ensure the nation’s security by addressing ongoing environmental challenges, developing novel energy production technologies, and mitigating nuclear security concerns. These efforts benefit from developing more effective semiconductor materials and devices. The research discussed in this report aims to further the development of these new electronics by improving implementations of vertical device structures, which offer theoretically better performance compared to lateral structures. Specifically, it reviews the background and development of a new and easy-to-use program for data processing and analysis from experiments run on vertical gallium nitride power devices. Current vertical structures fall short in critical performance metrics, such as On-Resistance and Breakdown Voltage, due to poor management of the device’s electric field. Junction termination extensions, or JTEs, are a field management technique that increases a device’s resilience to expected failure modes by controlling its surface electric fields. Each JTE design requires significant experimental validation, consisting of hundreds of tested devices, each outputting an enormous set of data points. The new software includes multiple methods of filtering large sets of device testing data to identify and remove flawed devices, automate device analyses, and provide statistical breakdowns for four metrics used to define the effectiveness of the JTE and the current carrying capacity of the device. These results can then be related back to fabrication techniques and device design, and in the future, be combined with processing simulations to further improve our understanding of the JTE mechanisms.

97 MATHEMATICS AND COMPUTING↗

Large language model evaluation for high–performance computing software development

We apply AI-assisted large language model (LLM) capabilities of GPT-3 targeting high-performance computing (HPC) kernels for (i) code generation, and (ii) auto-parallelization of serial code in C ++, Fortran, Python and Julia. Our scope includes the following fundamental numerical kernels: AXPY, GEMV, GEMM, SpMV, Jacobi Stencil, and CG, and language/programming models: (1) C++ (e.g., OpenMP [including offload], OpenACC, Kokkos, SyCL, CUDA, and HIP), (2) Fortran (e.g., OpenMP [including offload] and OpenACC), (3) Python (e.g., numpy, Numba, cuPy, and pyCUDA), and (4) Julia (e.g., Threads, CUDA.jl, AMDGPU.jl, and KernelAbstractions.jl). Kernel implementations are generated using GitHub Copilot capabilities powered by the GPT-based OpenAI Codex available in Visual Studio Code given simple + + prompt variants. To quantify and compare the generated results, we propose a proficiency metric around the initial 10 suggestions given for each prompt. For auto-parallelization, we use ChatGPT interactively giving simple prompts as in a dialogue with another human including simple “prompt engineering” follow ups. Results suggest that correct outputs for C++ correlate with the adoption and maturity of programming models. For example, OpenMP and CUDA score really high, whereas HIP is still lacking. We found that prompts from either a targeted language such as Fortran or the more general-purpose Python can benefit from adding language keywords, while Julia prompts perform acceptably well for its Threads and CUDA.jl programming models. Finally, we expect to provide an initial quantifiable point of reference for code generation in each programming model using a state-of-the-art LLM. Overall, understanding the convergence of LLMs, AI, and HPC is crucial due to its rapidly evolving nature and how it is redefining human-computer interactions.

97 MATHEMATICS AND COMPUTING↗