Search NASA⌕ Search

Engineering topics

Mayo, Jackson

Publications and source records attributed to Mayo, Jackson.

At least 19 records

Toward Automated Detection of Portability Bugs in Kokkos Parallel Programs

Performance-portable programming frameworks provide abstractions for parallel execution to allow easily porting an application to multiple backend programming models, such as CUDA, HIP, and OpenMP. However, programs may still have portability bugs that manifest only on specific backends. Traditional testing is ineffective in discovering these bugs, as it would require concrete execution on all supported hardware configurations for a potentially infinite set of inputs. To mitigate this issue, we focused on a specific programming framework, Kokkos, and identified several categories of common portability bugs. We then developed Klokkos, a static analysis approach based on symbolic execution that can run on commodity hardware, before execution on supercomputers. As a proof-of-concept, we ran Klokkos on examples encoding the identified bugs. Our results show that Klokkos is effective, efficient, and precise: it detected all the considered bugs, quickly, and without any false positives. Although preliminary, our results motivate further research and development in this direction.

Kale, Vivek↗

KLOKKOS: Automated test generation for performance-portable programs

SAND2024-13830O The KLOKKOS project provides a suite of test generation and validation tools to increase maintainability and portability of Kokkos programs. KLOKKOS, a portmanteau of Klee and Kokkos, is developing an automated test generation for performance-portable programs using Clang/low-level virtual machine (LLVM) and formal methods. KLOKKOS is based on several topics in computer science: the development of symbolic and concolic analysis of LLVM and C++ codes, formal semantics and type theory, C++ templates and language features, LLVM compiler infrastructure, and data parallel primitives. 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

SciDAC↗

Size-Dependent Energy of Ni Nanoparticles on Graphene Films on Ni(111) and Adhesion Energetics by Adsorption Calorimetry

The use of carbon supports for late transition-metal nanoparticle catalysts has grown substantially in recent years due to efforts to develop electrocatalysts for clean energy applications and catalysts for new aqueous-phase biomass-related conversions and due to the evolution of new carbon materials with unique properties (e.g., graphene, carbon nanotubes, and so forth). However, much less is known about the bonding energetics of catalytic metal nanoparticles on carbon supports in comparison with oxide supports, which are more common for thermal catalysis. Here, we report the growth morphology and heats of adsorption of Ni vapor deposited onto graphene/Ni(111) at 300 K and 100 K using metal vapor single-crystal adsorption calorimetry and He + low-energy ion scattering (LEIS). These results provide the Ni chemical potential versus particle size, and the Ni/graphene adhesion energy. LEIS intensities suggest that Ni grows as flat-topped face-centered cubic islands with a nearly constant thickness of ~1.5 nm when deposited at 300 K. At 100 K, Ni grows as smaller nanoparticles, well modeled as hemispherical hexagonal close-packed nanoparticles with a density of ~2 × 10 16 particles/m 2 . The Ni chemical potential as a function of average particle diameter in the 0.5 to 4 nm range at 100 K was determined from the heats of Ni gas adsorption. Further, by fitting the measured chemical potential as a function of diameter, we determined an adhesion energy of 3.6 J/m 2 for large Ni particles on graphene/Ni(111). This adhesion energy is in good agreement with previous scanning tunneling microscopy and density functional theory investigations of Ni/graphene/Ni(111).

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗