Search NASA⌕ Search

SEARCH · Search NASA

Results for “Visual Studio”

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.

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↗

UEMtomaton: A Source-Available Platform to Aid in Start-up of Ultrafast Electron Microscopy Labs

The steady rise in the number of ultrafast electron microscopy (UEM) labs, in addition to the opacity and lack of detailed descriptions of current approaches that would enable point-by-point construction, has created an opportunity for sharing common methods and instrumentation for (for example) automating data acquisition to assist in efficient lab start-up and to learn about common and robust protocols. In the spirit of open sharing of methods, we provide here a description of an entry-level method and user interface (UI) for automating UEM experiments, and we provide access to the source code and scripts (source-available) for ease of implementation or as a starting reference point for those entering or seeking to enter the field (https://github.com/CEMSFlannigan/UEMtomaton/releases/tag/v1.0). Core instrumentation and physical connections in the UEM lab at Minnesota are described. Interface communication schemes consisting of duo server-client pairs between critical components – the optical delay stage and the UEM digital camera – are presented, with emphasis placed on describing the logic and communications sequence designed to conduct automated series acquisitions. An application designed and programmed with C++/CLI as Windows Forms in Microsoft Visual Studio – dubbed UEMtomaton – is also presented. Key to the UI layout is centralization of the automation tasks and establishment of communication within the software rather than by interfacing with each individual workstation. It is our hope that this note provides useful insight for current and future UEM researchers, particularly with respect to generalizability and portability of the approach to emerging labs. Here, we note that while this basic, entry-level approach is certainly not the most sophisticated or comprehensive of those currently in use, we feel there is nevertheless value in clearly communicating a proven straightforward method to hopefully lower the barrier to entry into the field.

47 OTHER INSTRUMENTATION↗

Evaluation of OpenAI Codex for HPC Parallel Programming Models Kernel Generation

We evaluate AI-assisted generative capabilities on fundamental numerical kernels in high-performance computing (HPC), including AXPY, GEMV, GEMM, SpMV, Jacobi Stencil, and CG. We test the generated kernel codes for a variety of language-supported programming models, including (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). We use the GitHub Copilot capabilities powered by the GPT-based OpenAI Codex available in Visual Studio Code as of April 2023 to generate a vast amount of implementations given simple + + prompt variants. To quantify and compare the results, we propose a proficiency metric around the initial 10 suggestions given for each prompt. Results suggest that the OpenAI Codex 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 code keywords, while Julia prompts perform acceptably well for its mature programming models (e.g., Threads and CUDA.jl). We expect for these benchmarks to provide a point of reference for each programming model's community. Overall, understanding the convergence of large language models, AI, and HPC is crucial due to its rapidly evolving nature and how it is redefining human-computer interactions.

Godoy, William↗

Scribe Network API v.1.0.0

SAND2023-07864O Scribe Network API is an add-on tool for Scribe3D software. Scribe Network API documents tabletop exercises in trainings and plays back simulated videos of the scenarios and responses. Users can apply the software to compiled projects, or to a simple visual studio project solution package. The software runs a web application that relays information between computers using Scribe3D through a web application, or web app. The web app involves a representational state transfer (REST) application programming interface that handles sending and receiving Scribe save files and an SQL server that stores the save files. This follow-on package allows users to facilitate a networked tabletop exercise. Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.

Noel, Todd↗

Model Data Archive for Manuscript Titled "Evaluation of a Coupled Surface–Subsurface Hydrologic Model Using Dense Water‑Level Sensors in a Mixed Urban–Rural Watershed"

This archive provides scripts, input files, and datasets used for the implementation and evaluation of a fully coupled surface–subsurface hydrologic model in the Neches River Basin, southeast Texas. The study uses the Advanced Terrestrial Simulator (ATS) to simulate coupled surface–subsurface hydrologic processes over a mixed urban–rural watershed and evaluates model performance using a dense network of 136 in situ water-level sensors, nine U.S. Geological Survey (USGS) stream gauges, and SSEBop-derived evapotranspiration estimates during the period October 2014–June 2024. The workflow is implemented primarily in Python 3 using the Watershed Workflow package. The Jupyter notebooks can be executed using open-source software such as Anaconda JupyterLab or Visual Studio Code. Other data files include TXT, CSV, XML, SHP, TIF, NetCDF, HDF5, and ExodusII files, which can be processed using the provided Python scripts. ATS input files are provided in XML format and can be edited using any commonly used text editor. This archive contains: *Scripts and input files used to generate the ATS model setup, including watershed discretization, mesh generation, parameter mapping, and model configuration. *Jupyter notebooks used for preprocessing observational data, evaluating streamflow, water levels, and evapotranspiration, computing performance metrics, and generating the figures presented in the manuscript. *ATS simulation outputs and processed observational datasets, including OneRain and DD6 water-level sensors, USGS streamflow observations, GIS data, and supporting spatial datasets used throughout the study.

Dense water-level sensor network↗

Root system architecture and environmental flux analysis in mature crops using 3D root mesocosms

Current methods of root sampling typically only obtain small or incomplete sections of root systems and do not capture their true complexity. To facilitate the visualization and analysis of full-sized plant root systems in 3-dimensions, we developed customized mesocosm growth containers. While highly scalable, the design presented here uses an internal volume of 45 ft 3 (1.27 m 3 ), suitable for large crop and bioenergy grass root systems to grow largely unconstrained. Furthermore, they allow for the excavation and preservation of 3-dimensional root system architecture (RSA), and facilitate the collection of time-resolved subterranean environmental data. Sensor arrays monitoring matric potential, temperature and CO 2 levels are buried in a grid formation at various depths to assess environmental fluxes at regular intervals. Methods of 3D data visualization of fluxes were developed to allow for comparison with root system architectural traits. Following harvest, the recovered root system can be digitally reconstructed in 3D through photogrammetry, which is an inexpensive method requiring only an appropriate studio space and a digital camera. We developed a pipeline to extract features from the 3D point clouds, or from derived skeletons that include point cloud voxel number as a proxy for biomass, total root system length, volume, depth, convex hull volume and solidity as a function of depth. Ground-truthing these features with biomass measurements from manually dissected root systems showed a high correlation. We evaluated switchgrass, maize, and sorghum root systems to highlight the capability for species wide comparisons. We focused on two switchgrass ecotypes, upland (VS16) and lowland (WBC3), in identical environments to demonstrate widely different root system architectures that may be indicative of core differences in their rhizoeconomic foraging strategies. Finally, we imposed a strong physiological water stress and manipulated the growth medium to demonstrate whole root system plasticity in response to environmental stimuli. Hence, these new “3D Root Mesocosms” and accompanying computational analysis provides a new paradigm for study of mature crop systems and the environmental fluxes that shape them.

59 BASIC BIOLOGICAL SCIENCES↗

Neutron imaging analysis using jupyter Python notebook

Abstract Independently of the image modality (x-rays, neutrons, etc), image data analysis requires normalization, a preprocessing step. While the normalization can sometimes easily be generalized, the analysis is, in most cases, specific to an experiment and a sample. Although many tools (MATLAB, ImageJ, VG Studio…) offer a large collection of pre-programmed image analysis tools, they usually require a learning step that can be lengthy depending on the skills of the end user. We have implemented Jupyter Python notebooks to allow easy and straightforward data analysis, along with live interaction with the data. Jupyter notebooks require little programming knowledge and the steep learning curve is bypassed. Most importantly, each notebook can be tailored to a specific experiment and sample with minimized effort. Here, we present the pros and cons of the main methods to analyse data and show the reason why we have found that Jupyter Python notebooks are well suited for imaging data processing, visualization and analysis.

Bilheux, Jean-Christophe (ORCID:0000000321726487)↗

Development of Ambient Mass Spectrometry Rapid Analysis Methods for Trace Inorganics

Ambient mass spectrometry is being investigated as a new method for rapidly characterizing trace inorganic species, including nuclear materials. SRNL is currently developing electrospray ionization (ESI) and paper spray ionization (PSI) methods for mass spectrometry for the detection of trace inorganic compounds JEOL AccuTOF™-DART ® LP 4G mass spectrometer. Sample analysis generates a complex three-dimensional data set with 10 2 -10 3 individual mass spectra spread temporally. To improve the quality and ease of data extraction from this amount of information, a simple data analysis pipeline written in R/R Studio has been improved and expanded upon. Specifically, the software now has header inputs to set base input/output filenames, isotopes of interest, and a list of concentrations analyzed on the instrument. Using list-based structures to enable batch processing of many concentrations at once, it then loads each file, extracts the relevant intensities for masses of interest from each spectrum, and iterates through each concentration to generate graphs of internal standard & analyte correlations, measured isotope ratios, and total ion chromatograms. It then filters the data to remove points at background levels or at the detector saturation limit. Using this filtered data, the pipeline re-creates the graphs to reveal high-quality information from a low-quality raw dataset. All graphs of the R software then output to PowerPoint format. Additionally, faster 3D visualization functionality was added to the pipeline for viewing the entire data file produced by the instrument as an intensity map. With these data analysis tools ready, samples of strontium nitrate/yttrium nitrate as an analyte/internal standard combination were measured on the AccuTOF. From the filtered data, calibration curves were prepared and limits of detection (LOD) of 1 ppb for ESI-MS and 20 ppb for PSI-MS were obtained. The quality available from the calibration curves and the low limits of detection demonstrate the value of the instrument/analysis pipeline system in characterizing trace inorganics.

47 OTHER INSTRUMENTATION↗