Fork me on GitHub

GLVis 4.2 Released

May 23, 2022 (release)

GLVis is a lightweight OpenGL tool for accurate and flexible finite element visualization. Version 4.2 includes:

  • 3D scene export to glTF format for raytracing and augmented reality
  • Support for visualization of pyramid-shaped elements
  • Pre-built Mac and Windows binaries
  • Perforated faces in 3D

Learn more:

Magpie 3.0 Released

May 21, 2022 (release)

Magpie contains a number of scripts for running big data software in HPC environments. This release includes support for Python 3 as well as new versions of Spark and Hadoop. See the release notes for information on backwards compatibility.

Learn more:

New Repo: ATS

May 10, 2022 (new-repo)

ATS (Automated Testing System) is a Python-based tool for automating the running of an application’s tests across a broad range of high-performance computers. ATS features include generating and comparing plot files, testing code correctness and performance with different software libraries and compiler configurations, and archiving metrics related to each test run. The tool is flexible enough for experts and non-experts alike. Documentation is available, and more information about how LLNL uses ATS can be found on the Computing website.

Dev Day Returns on July 21

May 08, 2022 (event)

LLNL’s sixth annual Developer Day is scheduled for July 21 in a hybrid format. Dev Day brings together software developers from across the Lab, highlighting projects under development and sharing best practices. Presentations will fall into two categories: (1) 5-minute lightning talks that cover an interesting discovery related to software, and (2) 15-minute quick takes on various topics. Read a recap of last year’s virtual event.

LLNL at ISC22

May 06, 2022 (event)

ISC High Performance Conference (ISC22) returns on May 29 through June 2, with in-person events held in Hamburg, Germany. The event brings together the HPC community—from research centers, commercial companies, academia, national laboratories, government agencies, exhibitors, and more—to share the latest technology of interest to HPC developers and users. View LLNL’s lineup of tutorials, BOFs, and workshops.

LLNL's Spring Hackathon (and 32nd Overall) Coming Up

May 06, 2022 (event)

Held since 2012, LLNL’s hackathons are 24-hour opportunities to brainstorm, foster creativity, prototype, and explore. Participants work in groups or individually and often strive to learn new skills, programming languages, and tools in service to LLNL’s missions. This year’s spring event (May 26-27) will be held in person at the Livermore Valley Open Campus. Sponsors are two Computing divisions: Enterprise Applications Services and National Ignition Facility Computing.

Flux 0.39.0 Released

May 06, 2022 (release)

Flux is a flexible framework for resource management consisting of a suite of projects, tools, and libraries which may be used to build site-custom resource managers for HPC centers. Version 0.39.0 includes new features to get all job attributes, track protocol changes, and add color and highlight, plus testsuite updates and more.

Learn more:

New RADIUSS Catalog and Repo

May 03, 2022 (new-repo) (this-website)

The RADIUSS project has a new look including an About page and an interactive catalog of open-source products. These new web pages are managed in a dedicated repo under the LLNL GitHub organization. RADIUSS aims to develop and deploy a common base of foundational scientific software with opt-in adoption from LLNL applications in order to reduce long-term software costs and increase agility.

RAJAPerf 0.12.0 Released

May 02, 2022 (release)

The RAJA performance suite (RAJAPerf) is designed to explore performance of loop-based computational kernels found in HPC applications. It is used to assess, monitor, and compare runtime performance of kernels implemented using RAJA and variants implemented using standard or vendor-supported parallel programming models directly. The v0.12.0 release adds new command line options, basic MPI support, and new kernels, as well as updated versions of RAJA and BLT submodules.

Learn more:

Hatchet 2022.1.0 Released

April 28, 2022 (release)

Hatchet is a Python-based library that allows Pandas dataframes to be indexed by structured tree and graph data. This release catches Hatchet up to the new version nomenclature for the RAJA Portability Suite, which has changed format to indicate year, month, and patch number. New features include query language extensions, interactive visualization enhancements, and new color maps for terminal tree visualization. Additionally, the release has changes to existing APIs as well as updated tutorials and documentation.

Learn more:

Exascale Computing Project Community BOF Days

April 25, 2022 (event)

The Exascale Computing Project (ECP) 2022 Community Birds-of-a-Feather (BOF) Days will take place May 10–12 with multiple sessions per day. The BOF Days provide an opportunity for the HPC community to engage with ECP teams to discuss latest development efforts. Each BOF will be a 60- to 90-minute session on a given topic, with a brief overview followed by Q&A. All sessions will be conducted via Zoom. View the schedule; each session has its own registration link.

CEED's Sixth Annual Meeting Coming in August

April 25, 2022 (event)

As part of the Exascale Computing Project (ECP), the Center for Efficient Exascale Discretizations (CEED) is a research partnership between two U.S. Department of Energy laboratories and five universities. LLNL leads the Center. All of CEED’s software is open source.

CEED will hold its sixth annual meeting (CEED6AM) on August 9-11 in a hybrid format: in-person at the Siebel Center for Computer Science on the University of Illinois Urbana-Champaign campus in Urbana and virtually using ECP Zoom for videoconferencing and Slack for side discussions. Learn more on the event website and register by July 25.

MFEM Named a NumFOCUS Affiliate Project

April 24, 2022 (story)

NumFOCUS is a nonprofit organization that promotes and supports open source scientific computing projects, such as Jupyter, Julia, and NumPy. NumFOCUS affiliate projects are “scientifically oriented, open, and kind,” which means they contribute to the advancement of scientific research, are published under a standard open source license, seek engagement with the public, and openly state their values and standards for the project community. MFEM, a scalable finite element methods library led by an LLNL team, was recently selected to join the list of NumFOCUS affiliate projects, broadening the project’s exposure and potential user and contributor community.

SUNDIALS 6.2.0 Released

April 22, 2022 (release)

SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. This minor release includes

  • SUNLogger API for logging of errors, warnings, informational output, and debugging output (many functions have been deprecated in favor of this API)
  • new functions to output all of the integrator, nonlinear solver, linear solver, and other statistics in one call
  • new functions to change the default step size adaptivity parameters in CVODE, CVODES, IDA, and IDAS
  • and many other new and updated functions

Learn more:

New Repo: AMM

April 21, 2022 (new-repo)

AMM, which stands for Adaptive Multilinear Meshes, is a new framework to represent piecewise multilinear volumetric data using mixed-precision adaptive meshes. AMM is designed to reduce in-memory and on-disk data footprint using a spatial hierarchy with “rectangular cuboidal” cells. AMM also supports mixed-precision representation of function values in byte-sized increments. The current version provides several examples of data streams that can be selected through command line. For details on AMM’s data structure and representation, see the accompanying publication, which won the Best Paper Award at the 2022 PacificVis Symposium. The abstract follows:

Adaptive representations are increasingly indispensable for reducing the in-memory and on-disk footprints of large-scale data. Usual solutions are designed broadly along two themes: reducing data precision, e.g., through compression, or adapting data resolution, e.g., using spatial hierarchies. Recent research suggests that combining the two approaches, i.e., adapting both resolution and precision simultaneously, can offer significant gains over using them individually. However, there currently exist no practical solutions to creating and evaluating such representations at scale. In this work, we present a new resolution-precision-adaptive representation to support hybrid data reduction schemes and offer an interface to existing tools and algorithms. Through novelties in spatial hierarchy, our representation, Adaptive Multilinear Meshes (AMM), provides considerable reduction in the mesh size. AMM creates a piecewise multilinear representation of uniformly sampled scalar data and can selectively relax or enforce constraints on conformity, continuity, and coverage, delivering a flexible adaptive representation. AMM also supports representing the function using mixed-precision values to further the achievable gains in data reduction. We describe a practical approach to creating AMM incrementally using arbitrary orderings of data and demonstrate AMM on six types of resolution and precision datastreams. By interfacing with state-of-the-art rendering tools through VTK, we demonstrate the practical and computational advantages of our representation for visualization techniques. With an open-source release of our tool to create AMM, we make such evaluation of data reduction accessible to the community, which we hope will foster new opportunities and future data reduction schemes.

Conduit 0.8.3 Released

April 14, 2022 (release)

Conduit provides an intuitive model for describing hierarchical scientific data in C++, C, Fortran, and Python. It is used for data coupling between packages in-core, serialization, and I/O tasks. The latest release adds new blueprint mesh examples and C/C++ version macros. In addition, the pip install logic has been improved.

Learn more:

New Repo: LOPE

April 13, 2022 (new-repo)

LOPE (Lattice Optimization for Porous Electrodes) performs an optimization over the structure of a porous electrode formed from a lattice of unit cells. This code accompanies the paper “Computational Design of Microarchitected Porous Electrodes for Redox Flow Batteries.” The abstract follows:

Porous electrodes are used as the core reactive component across electrochemical technologies. In flowing systems, controlling the fluid distribution, species transport, and reactive environment is critical to attaining high performance. However, conventional electrode materials like felts and papers provide few opportunities for precise engineering of the electrode and its microstructure. To address these limitations, architected electrodes composed of unit cells with spatially varying geometry determined via computational optimization are proposed. Resolved simulation is employed to develop a homogenized description of the constituent unit cells. These effective properties serve as inputs to a continuum model for the electrode when used in the negative half-cell of a vanadium redox flow battery. Porosity distributions minimizing power loss are then determined via computational design optimization to generate architected porosity electrodes. The architected electrodes are compared to bulk, uniform porosity electrodes and found to lead to increased power efficiency across operating flow rates and currents. The design methodology is further used to generate a scaled-up electrode with comparable power efficiency to the bench-scale systems. The variable porosity architecture and computational design methodology presented here thus offers a novel pathway for automatically generating spatially engineered electrode structures with improved power performance.

New Repo: BinFPE

April 12, 2022 (new-repo)

BinFPE detects floating-point exceptions (NaN, infinity, and subnormal quantities) in NVIDIA GPU applications using binary instrumentation. It requires no re-compilation of the application and can analyze libraries. The tool extends NVBit, which is provided by NVIDIA Labs to analyze binaries.

LLNL Launches Software Development Resource Center

April 10, 2022 (story)

The Lab’s software developers and engineers have accumulated a wealth of expertise by keeping LLNL operational while carrying out its national security mission. Launched in 2022, the Software Development Resource Center (SDRC) connects developers across LLNL through best practices in software tools, development methodologies, DevOps, security compliance, and more. Funded as an Institutional Scientific Capability Portfolio (ISCP) project, the SDRC serves as a focal point for software leadership, including coordinating working groups and providing technical advice to project teams. For instance, the SDRC committee plans to schedule seminars and invited talks as well as conduct workshops during this summer’s Developer Day. The SDRC also arises from Computing’s 10-year Strategic Plan, which prioritizes support for mission-driven programs through robust software engineering and maintenance. Read more about the SDRC.

New Repo: MTNN

April 09, 2022 (new-repo)

MTNN, which stands for Multilevel Neural Networks, is a PyTorch-based library for the application of multilevel algorithms to the training of neural networks. The algorithms behind MTNN mathematically work whenever the neural network can be decomposed into a set of operational subsets such that each subset consists of a set of neurons, channels, or other similar operational units. In this case, pairs of neurons (or channels or other operational units) can be matched up and restricted into a coarse network. Requires Python 3.6 or newer.

New Repo: TargetID

April 08, 2022 (new-repo)

TargetID is a drug target and chemotype identification pipeline that enables rapid identification and characterization of binding sites in SARS-CoV-2 proteins as well as the core chemical components with which these sites interact. The repo contains three Jupyter Notebooks and input data files.

New Repo: Pond B

April 07, 2022 (new-repo)

Pond B documents the code used to analyze the Pond B (Savannah River Site, South Carolina) microbial community for a manuscript titled “Microbial Dynamics Impact Plutonium and Iron Biogeochemical Cycles in a Seasonally Stratified Pond.” The repo includes figures and tables from the paper, which is being prepared for publication.

New Repo: XNAS

April 06, 2022 (new-repo)

XNAS, which stands for eXplainable Neural Architecture Search, provides code for the paper “Learning Interpretable Models Through Multi-Objective Neural Architecture Search.” Requires Python 3.6 or newer. The abstract follows:

Monumental advances in deep learning have led to unprecedented achievements across a multitude of domains. While the performance of deep neural networks is indubitable, the architectural design and interpretability of such models are nontrivial. Research has been introduced to automate the design of neural network architectures through neural architecture search (NAS). Recent progress has made these methods more pragmatic by exploiting distributed computation and novel optimization algorithms. However, there is little work in optimizing architectures for interpretability. To this end, we propose a multi-objective distributed NAS framework that optimizes for both task performance and introspection. We leverage the non-dominated sorting genetic algorithm (NSGA-II) and explainable AI (XAI) techniques to reward architectures that can be better comprehended by humans. The framework is evaluated on several image classification datasets. We demonstrate that jointly optimizing for introspection ability and task error leads to more disentangled architectures that perform within tolerable error.

New Repo: op

April 05, 2022 (new-repo)

op is a lightweight general optimization solver interface. Its primary purpose is to simplify the process of integrating different optimization solvers (serial or parallel) with scalable parallel physics engines. From a user perspective, optimization problems can be described abstractly, and op guarantees portability for different optimization engines and optimization problem configurations.

HiOp 0.6.0 Released

March 31, 2022 (release)

HiOp is an optimization solver for solving certain mathematical optimization problems expressed as nonlinear programming problems. This lightweight HPC solver leverages application’s existing data parallelism to parallelize the optimization iterations by using specialized linear algebra kernels. This version includes the primal decomposition (PriDec) solver for structured two-stage problems as well as improved support for NVIDIA GPUs for solving sparse optimization problems.

Learn more:

Charliecloud 0.27 Released

March 31, 2022 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. Version 0.27 includes new tests, examples, and FAQ; as well as additional functionality for ch-convert, ch-image, and ch-run.

Learn more:

CHAI 2022.03.0 Released

March 29, 2022 (release)

CHAI is a C++ library providing an array object that can be used transparently in multiple memory spaces. CHAI can be used standalone, but is best when paired with the RAJA library, which has built-in CHAI integration that takes care of everything. This release catches CHAI up to the new version nomenclature for the RAJA Portability Suite, which has changed format to indicate year, month, and patch number.

Learn more:

New Repo: ddd

March 24, 2022 (new-repo)

ddd, which stands for Delaunay Density Diagnostic, implements algorithms described in a numerical analysis paper. The abstract follows:

Accurate approximation of a real-valued function depends on two aspects of the available data: the density of inputs within the domain of interest and the variation of the outputs over that domain. There are few methods for assessing whether the density of inputs is \textit{sufficient} to identify the relevant variations in outputs – i.e., the “geometric scale” of the function – despite the fact that sampling density is closely tied to the success or failure of an approximation method. In this paper, we introduce a general purpose, computational approach to detecting the geometric scale of real-valued functions over a fixed domain using a deterministic interpolation technique from computational geometry. Our algorithm is based on the observation that a sequence of piecewise linear interpolants will converge to a continuous function at a quadratic rate (in L2 norm) if and only if the data are sampled densely enough to distinguish the feature from noise. We present numerical experiments demonstrating how our method can identify feature scale, estimate uncertainty in feature scale, and assess the sampling density for fixed (i.e. static) datasets of input-output pairs. In addition, we include analytical results in support of our numerical findings and will release lightweight code that can be adapted for use in a variety of data science settings.

MFEM 4.4 Released

March 22, 2022 (release)

MFEM is a lightweight, general, scalable C++ library for finite element methods. It enables high-performance scalable finite element discretization research and application development on a wide variety of platforms, from laptops to supercomputers. The v4.4 release includes:

  • upgraded solvers, such as improved formatting of iterative solvers output and support for hypre on AMD GPUs
  • meshing improvements, such as new TMOP-based methods and initial support for meshes with pyramidal elements
  • discretization improvements, such as GPU-enabled partial and element assembly support for discontinuous Galerkin methods
  • several new examples and mini-apps
  • updated documentation
  • and much more

Learn more:

libCEED 0.10.0 Released

March 21, 2022 (release)

Developed as part of the Center for Efficient Exascale Discretizations (CEED) within the U.S. Department of Energy, libCEED is a high-order API library that provides a common algebraic low-level operator description, allowing a wide variety of applications to take advantage of the efficient operator evaluation algorithms in the different CEED packages. This release includes single precision support, a capability to assemble operators on GPUs, performance enhancements, interface and error checking improvements, and mini-app improvements.

Learn more:

New Repo: krowkee

March 21, 2022 (new-repo)

krowkee is a toolkit for scalably and efficiently summarizing many data streams in distributed memory. It is intended for applications where one needs to summarize huge loosely structured data, such as matrices or graphs, and where individual components such as rows/columns or vertex adjacency information are impractical to store and directly inspect.

CCT 1.0.16 Released

March 18, 2022 (release)

The Coda Calibration Tool (CCT) calculates reliable moment magnitudes for small- to moderate-sized seismic events. This release includes updates to the multi-waveform display panel, term and relative site term plots, Site and Measurement results, and more.

Learn more:

New Repo: TOPE

March 17, 2022 (new-repo)

TOPE, which stands for Topology Optimization for Porous Electrodes, produced the results of a paper published in Applied Physics. The abstract follows:

Porous electrodes are an integral part of many electrochemical devices since they have high porosity to maximize electrochemical transport and high surface area to maximize activity. Traditional porous electrode materials are typically homogeneous, stochastic collections of small scale particles and offer few opportunities to engineer higher performance. Fortunately, recent breakthroughs in advanced and additive manufacturing are yielding new methods to structure and pattern porous electrodes across length scales. These architected electrodes are emerging as a promising new technology to continue to drive improvement; however, it is still unclear which structures to employ and few tools are available to guide their design. In this work we address this gap by applying topology optimization to the design of porous electrodes. We demonstrate our framework on two applications: a porous electrode driving a steady Faradaic reaction and a transiently operated electrode in a supercapacitor. We present computationally designed electrodes that minimize energy losses in a half-cell. For low conductivity materials, the optimization algorithm creates electrode designs with a hierarchy of length scales. Further, the designed electrodes are found to outperform undesigned, homogeneous electrodes. Finally, we present three-dimensional porous electrode designs. We thus establish a topology optimization framework for designing porous electrodes.

RAJA 2022.03.0 Released

March 15, 2022 (release)

RAJA is a software abstraction that systematically encapsulates platform-specific code to enable applications to be portable across diverse hardware architectures without major source code disruption.

Note that the release version nomenclature has changed format to indicate year, month, and patch number. This format applies to the coordinated release of RAJA Portability Suite components. The v2022.03.0 release includes:

  • features that support SIMD/SIMT programming
  • ROCTX support to enable kernel naming
  • expanded CUDA execution policies
  • improved CMake logic for using CUB
  • updated submodules
  • and more

As of this release, RAJA requires CMAKE version 3.14.5 or newer and a C++14-compliant compiler to build.

Learn more:

Kosh 2.1 Released

March 15, 2022 (release)

Kosh allows codes to store, query, and share data via an easy-to-use Python API. This software aims to make data access and sharing as simple as possible. The latest release includes updates to transformers, operators, dataset cloning, dataset objects, and more.

Learn more:

Julian Andrej Applies Mathematics and Engineering to Support LLNL Missions

March 09, 2022 (profile)

Computational mathematician Julian Andrej began using LLNL-developed, open source software while in Germany. Now at Livermore, he lends his expertise to the Center for Applied Scientific Computing, developing code for next-generation computing hardware. “I know that every part of my work is contributing to a mission, and I can see a clear traceable path of its impact,” he says. Andrej contributes to MFEM and SUNDIALS projects. Read more about his work.

BLT 0.5.0 Released

March 07, 2022 (release)

BLT (Building, Linking, and Testing) is a streamlined CMake build system foundation for developing HPC software. BLT makes it easy to get up and running on a wide range of HPC compilers, operating systems, and technologies. The v0.5.0 release includes added support for IntelLLVM compilers and hip targets, along with changes to the CMAKE_HIP_ARCHITECTURES variable and other modifications.

Learn more:

MuyGPyS 0.5.0 Released

March 01, 2022 (release)

MuyGPyS is a Gaussian process estimation method that affords fast hyperparameter optimization by way of performing leave-one-out cross-validation. The latest release introduces just-in-time compilation and GPU support using JAX. This change allows for the acceleration of workflows on CPU (1-2.5x) and NVidia GPU (30-60x).

Learn more:

The Flux Supercomputing Workload Manager: Improving on Innovation and Planning for the Future

February 24, 2022 (story)

The LLNL-developed Flux project addresses challenges posed by complex scientific research supercomputing workflows, and the team has played a major role in the Exascale Computing Project’s ExaWorks effort. A recent ECP article describes how Flux works, its impact, and what’s next for the project.

Camp 0.5.0 Released

February 23, 2022 (release)

CAMP collects a variety of macros and metaprogramming facilities for C++ projects. This version incorporates BLT updates to better support rocm builds, and uses the cmake setup to include a binary component that lets CAMP avoid pulling in expensive standard library headers at include time.

Learn more:

Spack's Long-Term Roadmap

February 22, 2022 (story)

The Spack team presented a long-term roadmap at the Networking and Information Technology Research and Development (NITRD) Program’s recent meeting on software sustainability. NITRD coordinates federal research and development to identify, develop, and transition into use the Unites States’ IT, HPC, networking, and software capabilities. With more than 6,000 software packages and nearly 1,000 contributors, Spack’s long-term strategy is based around broad adoption and collaboration. Current R&D efforts include a multi-year strategic initiative aimed at reducing the human maintenance burden, as well as improvements to Spack’s continuous integration workflow and sustainability plans after the conclusion of the Exascale Computing Project.

SCR 3.0 Released

February 16, 2022 (release)

The Scalable Checkpoint/Restart (SCR) library enables MPI applications to utilize distributed storage on Linux clusters to attain high file I/O bandwidth for checkpointing, restarting, and writing large datasets. This release includes:

  • added Python bindings for the SCR library
  • improved support for large datasets and shared access to files
  • watchdog support on SLURM systems
  • new API calls
  • new redundancy scheme
  • and more

Learn more:

New Repo: SYNDATA

February 15, 2022 (new-repo)

SYNDATA includes a suite of statistical/machine learning models to generate discrete/categorical synthetic data. To train each model, the user must provide the input data from which the model parameters will be inferred. Once the models are trained, they can be used to generate entirely synthetic data. In addition to the actual models, SYNDATA includes code to process data, evaluate results (based on cross validation), and create a PDF report.

Merlin Integrates Machine Learning into Scientific HPC Workflows

February 15, 2022 (story)

The Merlin team has published a paper in Future Generation Computer Systems that describes Merlin’s machine learning–integrated workflow system and the considerations driving its design. The authors detail Merlin’s performance results on LLNL’s Pascal and Sierra supercomputers. For example, to demonstrate Merlin’s scalability, researchers created an unprecedentedly large fusion simulation dataset consisting of the multivariate results of approximately 100 million individual simulations on Sierra. Other case studies show Merlin’s flexibility in cascading and iterative scientific workflows.

New Repo: PyMFEM

February 14, 2022 (new-repo)

PyMFEM provides Python binding for MFEM, a high-performance parallel finite element method (FEM) library. Installer (setup.py) builds both MFEM and binding together. By default, pip install mfem downloads and builds the serial version of MFEM and PyMFEM. Additionally, the installer supports building MFEM with specific options together with other external libraries, including MPI version.

Hatchet 1.3.0 Released

February 07, 2022 (release)

Hatchet is a Python-based library that allows Pandas dataframes to be indexed by structured tree and graph data. Version 1.3.0 includes a new interactive tree visualization in Jupyter, new APIs, new graph output formats, an updated tutorial, and more.

Learn more:

VisIt 3.2.2 Released

January 31, 2022 (release)

VisIt is an open source, interactive, scalable, visualization, animation, and analysis tool. Version 3.2.2 includes

  • expansion to VTK reader
  • improved installation of Python endpoint scripts
  • enhanced build_visit features

Learn more:

Quandary 2.1 Released

January 26, 2022 (release)

Quandary provides optimal control for open quantum systems via an optimization solver. The underlying quantum dynamics model open quantum systems, using the Lindblad master equation to evolve a density matrix in time. With this latest release, Quandary can solve either Lindblad’s master equation for the density matrix (open quantum systems), or Schrödinger’s equation for the state vector if no collapse operators are present (closed quantum systems). The latter drastically reduces the computational complexity; however, system interactions with the environment are not considered in this model.

Learn more:

Peter Lindstrom: Then and Now

January 25, 2022 (profile)

The Department of Energy’s (DOE’s) Office of Science interviewed LLNL computer scientist Peter Lindstrom about his work since receiving the 2011 Early Career Award. Lindstrom leads the zfp project, which provides a compressed format for representing multidimensional floating-point and integer arrays. zfp is currently used in the DOE’s Exascale Computing Project.

libyogrt 1.27 Released

January 24, 2022 (release)

libyogrt (Your One Get Remaining Time library) provides functions to query a resource manager for the time remaining in a job. It supports LCRM, LSF, MOAB, SLURM, and AIX with SLURM. The project has been around for many years and just recently added support for the Flux resource management framework.

Learn more:

Charliecloud 0.26 Released

January 20, 2022 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. Version 0.26 includes added functionality for several ch- scripts and an expanded test suite.

Learn more:

Supplemental Repositories

January 19, 2022 (new-repo)

Did you know that the LLNL GitHub catalog contains several supplemental repos? They are “companions” to primary repos and provide additional data or functionality, such as examples or test cases. For instance, and this is not an exhaustive list:

MuyGPyS 0.4.1 Released

January 19, 2022 (release)

MuyGPyS is a Gaussian process estimation method that affords fast hyperparameter optimization by way of performing leave-one-out cross-validation. The latest release streamlines the codebase by moving all of the computation inside of pure functions.

Learn more:

Magpie 2.6 Released

January 18, 2022 (release)

Magpie contains a number of scripts for running big data software in HPC environments. This release includes support for multiple versions of Spark and Hadoop.

Learn more:

Kosh 2.0 Released

January 10, 2022 (release)

Kosh allows codes to store, query, and share data via an easy-to-use Python API. This software aims to make data access and sharing as simple as possible. The latest release aligns Kosh with Sina and makes it the only backend. Other new features include support for ensembles, ability to clone datasets, and additional command line options.

Learn more:

New Repo: UMT

January 07, 2022 (new-repo)

UMT, which stands for Unstructured Mesh Transport, is an LLNL ASC proxy application (mini-app) that solves a thermal radiative transport equation using discrete ordinates (Sn). It utilizes an upstream corner balance method to compute the solution to the Boltzmann transport equation on unstructured spatial grids. For additional information, the repo’s README includes references to relevant radiation transport publications.

FEM@LLNL Seminar Series

January 05, 2022 (multimedia) (story)

The MFEM team has announced a new FEM@LLNL seminar series focusing on finite element research and applications talks of interest to the MFEM community. Visit the MFEM website to see the full lineup of speakers. Seminars will be hosted and recorded via WebEx; videos of the recordings will be available from the MFEM website.

New Repo: Abmarl

January 03, 2022 (new-repo)

Abmarl is a package for developing Agent-Based Simulations and training them with MultiAgent Reinforcement Learning (MARL). It provides an intuitive CLI for engaging with the full workflow of MARL experimentation: training, visualizing, and analyzing agent behavior. Abmarl leverages RLlib’s framework for reinforcement learning and extends it to more easily support custom simulations, algorithms, and policies. Documentation is also available.

CCT 1.0.15 Released

December 23, 2021 (release)

The Coda Calibration Tool (CCT) calculates reliable moment magnitudes for small- to moderate-sized seismic events. This release includes updated displays for site and measurement tabs, additional minimum and maximum coda parameter timelines, updates to the way polygon selection works, and more.

Learn more:

New Repo: ExaCA

December 22, 2021 (new-repo)

ExaCA is a cellular automata (CA) code for grain growth under additive manufacturing conditions by ExaAM within the Exascale Computing Project. ExaCA runs with the default enabled Kokkos backend and has been tested with Serial, OpenMP, Pthreads, CUDA, and HIP backends. Supplementary temperature data files are available in the ExaCA-Data repo.

Conduit 0.8.0 Released

December 20, 2021 (release)

Conduit provides an intuitive model for describing hierarchical scientific data in C++, C, Fortran, and Python. It is used for data coupling between packages in-core, serialization, and I/O tasks. The latest release includes a new partition capability for Blueprint Meshes and several new functions and methods.

Learn more:

YGM 0.4 Released

December 17, 2021 (release)

YGM is a general-purpose, pseudo-asynchronous communication library built on top of MPI in C++. The repo’s utility is provided through its mailbox abstractions, which are used for point-to-point and broadcast communications. Releases v0.3 and v0.4 include new ygm::container functionality, API updates, improvements to subdependencies in CMake, and various performance improvements.

Learn more:

Take the Spack User Survey

December 16, 2021 (story)

The Spack development team has launched the second annual user survey and requests responses through January 7. Last year’s survey analysis is available on the Spack website.

SUNDIALS 6.0.0 Released

December 15, 2021 (release)

SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. This major release includes

  • a new SUNContext object on which all other SUNDIALS objects depend
  • a capability to profile/instrument SUNDIALS library code
  • updated SUNMemoryHelper functions
  • new optional vector operations
  • updated ARKODE MRIStep module
  • a script to ease the transition to v6.0.0
  • new functions and methods
  • and much more!

Learn more:

New Repo: croquis

December 15, 2021 (new-repo)

croquis (“KROW-kee”) is a distributed multi-stream data sketching toolkit for scalably and efficiently summarizing many data streams in distributed memory. croquis is intended for applications involving where one needs to summarize huge loosely structured data, such as matrices or graphs, where individual components such as rows/columns or vertex adjacency information are impractical to store and directly inspect.

New Repo: Thomson Scattering Cross-Section Calculator

December 13, 2021 (new-repo)

Thomson Scattering Cross-Section Calculator, or TSC, contains MATLAB code for calculate cross-sections associated with Thomson scattering from thermally excited plasma waves. The scripts in this repo require a MATLAB license to run.

MuyGPyS 0.4.0 Released

December 08, 2021 (release)

MuyGPyS is a Gaussian process estimation method that affords fast hyperparameter optimization by way of performing leave-one-out cross-validation. The latest release overhauls the handling of the sigma_sq parameter. Additionally, the tutorial has moved out of the README and into Jupyter Notebooks.

Learn more:

GIDIplus 3.22.23 Released

December 01, 2021 (release)

GIDIplus is a suite of C++ libraries for accessing nuclear data from the Generalized Nuclear Database Structure (GNDS). The latest version simplifies the build system and adds support for the draft GNDS-2.0 specification.

Learn more:

LLNL at SC21

November 24, 2021 (event-report) (multimedia)

The 33rd annual Supercomputing Conference (SC21) was held in a hybrid (i.e., virtual and in-person in St. Louis) format during November 14–19.

CARE 0.5.0 Released

November 23, 2021 (release)

CHAI and RAJA provide a foundation on which to build portable code. CARE expands that functionality, adding new features such as loop fusion capability, a portable interface for many numerical algorithms, and additional data structures. It provides all the basics for anyone wanting to write portable code.

Learn more:

New Repo: spdlayers

November 19, 2021 (new-repo)

spdlayers provides symmetric positive definite (SPD) enforcement layers for PyTorch. Examples, an API, and documentation are included in the repo.

MFEM Team Hosts First Community Workshop

November 12, 2021 (event-report) (multimedia)

The MFEM team held the first annual MFEM Community Workshop on October 20, 2021. MFEM, which stands for Modular Finite Element Methods, is an open source C++ software library that provides high-order mathematical algorithms for large-scale scientific simulations. The project’s discretization methods enable HPC systems to run these simulations more efficiently. More than 150 researchers from dozens of organizations and countries attended the one-day virtual workshop organized by Aaron Fisher, Tzanio Kolev, Will Pazner, and Mark Stowell. According to the registration survey, more than half of the participants were new users. An article about the workshop is available on LLNL’s Computing website, and links to videos of the presenters can be found at the MFEM website.

libROM 1.0.0 Released

November 12, 2021 (release)

libROM is lightweight, scalable C++ library for data-driven physical simulation methods from the intrusive projection-based reduced order models to non-intrusive black-box approaches. The first official release adds the capability to create a sample mesh and relevant DOF maps for samples in an arbitrary number of finite element spaces.

Learn more:

New Repo: Pytaridx

November 11, 2021 (new-repo)

Pytaridx is a Python interface for reading and appending tar files, while keeping a fast index for finding and reading files in the archive. This interface has been successfully used to store and manage over one billion files in one of the Pilot-2 simulation campaigns.

CCT 1.0.14 Released

November 11, 2021 (release)

The Coda Calibration Tool (CCT) calculates reliable moment magnitudes for small- to moderate-sized seismic events. This release refactors the spectral plot displays for site and measurement tabs, adds group velocity lines to coda waveform plots, and more.

Learn more:

Spack 0.17.0 Released

November 05, 2021 (release)

Spack is a flexible, configurable, Python-based, and open-source HPC package manager. Spack automates the installation and fine-tuning of simulations and libraries, operating on a wide variety of HPC platforms and enabling users to build many code configurations. Version 0.17.0 includes:

  • the new default concretizer default
  • binary bootstrapping
  • existing package reuse
  • improvements to versioning, caching, and error messaging
  • and much more!

Learn more:

Caliper 2.7.0 Released

November 02, 2021 (release)

Caliper is a program instrumentation and performance measurement framework. It is designed as a performance analysis toolbox in a library, allowing one to bake performance analysis capabilities directly into applications and activate them at runtime. The latest release includes native Windows support, initial support for Variorum, updated report configs, and more.

Learn more:

DataRaceBench 1.4.0 Released

October 22, 2021 (release)

DataRaceBench is a benchmark suite designed to systematically and quantitatively evaluate the effectiveness of data race detection tools. It includes a set of microbenchmarks with and without data races. Parallelism is represented by OpenMP directives. This version adds data race ground truth encoding into all microbenchmarks, new C/C++ microbenchmarks and Fortran microbenchmarks, new high-precision evaluation scripts, and more.

Learn more:

Flux Software Wins R&D 100 Award

October 21, 2021 (story)

The renowned worldwide competition announced the winners of the 2021 R&D 100 Awards, among them LLNL’s Flux workload management framework in the Software/Services category. Watch the Flux video to learn how it enables modern supercomputing workflows.

Celebrate Exascale Day 2021

October 18, 2021 (event) (multimedia)

Exascale computing will transform the ability to tackle some of the world’s most important challenge. The Exascale Computing Project (ECP) celebrates this new era of scientific discovery with the now-annual Exascale Day on October 18, or “10^18” to represent the exascale threshold of floating-point operations per second. This virtual event runs all week and provides multimedia and articles that educate explain the impact areas of exascale computing from the Department of Energy national laboratories (including LLNL), HPC manufacturers, and universities and industrial organizations. Much of the ECP’s software stack is open source.

New Variorum Video Lectures

October 14, 2021 (multimedia)

Variorum is a platform-agnostic software library exposing monitor and control interfaces for several features in hardware architectures from IBM, ARM, and NVIDIA. In a two-part lecture series, the Variorum team demonstrates everything necessary to start using Variorum to write portable power management code. These videos were recorded as part of the Exascale Computing Project’s lecture series.

SCR 3.0 Release Candidate

October 13, 2021 (release)

The Scalable Checkpoint/Restart (SCR) library enables MPI applications to utilize distributed storage on Linux clusters to attain high file I/O bandwidth for checkpointing, restarting, and writing large datasets. The second 3.0 release candidate includes:

  • added support for multiple outstanding asynchronous flushes
  • restored watchdog support on SLURM systems
  • updated SCR_Config behavior
  • added support for static-only builds
  • and much more!

Learn more:

New libROM Video Tutorials and Website

October 07, 2021 (multimedia)

Reduced order models (ROMs) combine data and underlying first principles to accelerate physical simulations, reducing computational complexity without losing accuracy. The C++ software library called libROM provides data-driven physical simulation methods from intrusive projection-based ROMs to non-intrusive black-box approaches. The project has a new website that contains documentation and examples. Additionally, computational scientist Youngsoo Choi has recorded three user tutorials, with plans to record more in the future:

New Repo: YGM

October 01, 2021 (new-repo)

YGM is a general-purpose, pseudo-asynchronous communication library built on top of MPI in C++. The repo’s utility is provided through its mailbox abstractions, which are used for point-to-point and broadcast communications. When using YGM, individual cores queue messages into a mailbox instead of directly sending them.

SUNDIALS 5.8.0 Released

September 30, 2021 (release)

SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. This release includes

  • updated RAJA NVECTOR implementation
  • new optional function to the SUNLinearSolver API
  • added functions to ARKODE and CVODE(S)
  • added specialized fused HIP kernels to CVODE
  • and much more!

Learn more:

HiOp 0.5.0 Released

September 30, 2021 (release)

HiOp is an optimization solver for solving certain mathematical optimization problems expressed as nonlinear programming problems. This lightweight HPC solver leverages application’s existing data parallelism to parallelize the optimization iterations by using specialized linear algebra kernels. This version includes

  • interface update for running mixed dense-sparse problems in the device memory space
  • interface for PARDISO linear solver
  • porting of sparse linear algebra kernels to device
  • and more!

Learn more:

Spack 0.16.3 Released

September 22, 2021 (release)

Spack is a flexible, configurable, Python-based, and open-source HPC package manager. Spack automates the installation and fine-tuning of simulations and libraries, operating on a wide variety of HPC platforms and enabling users to build many code configurations. Version 0.16.3 includes

  • improved clang/llvm version detection
  • use of AWS CloudFront for Spack’s source mirror
  • fixes supporting Python 3.8 and 3.9
  • and much more!

Learn more:

Charliecloud 0.25 Released

September 17, 2021 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. Version 0.25 bundles the Python module Lark (which no longer needs to be installed externally), updates how SSH data is handled in the build, and includes several other fixes and improvements.

Learn more:

MSR-SAFE 1.6.0 Released

September 13, 2021 (release)

MSR-SAFE allows safer access to model-specific registers. v1.6.0 changes the sysconfig override, stack size warning, and other updates.

Learn more:

CCT 1.0.13 Released

September 13, 2021 (release)

The Coda Calibration Tool (CCT) calculates reliable moment magnitudes for small- to moderate-sized seismic events. This release adds two significant features including energy calculations (BETA) and a new data table filter feature. The current beta code integrates theoretical spectra to determine empirically the necessary integration constant to give the correct energy value. In the final version of the code, this will be tied to the analytical form of the seismic energy.

Learn more:

Latest S&TR Issue Highlights VisIt

September 10, 2021 (story)

The VisIt visualization and analysis tool has supported scalable, high-quality evaluation of simulation results for over 20 years. A Research Highlight article in the latest issue of Science & Technology Review describes the software’s history and importance. Eric Brugger, who has worked on VisIt since its inception, states, “Our software is used broadly throughout the Department of Energy complex, at universities, and at other supercomputing centers. It’s running on some of the world’s most powerful machines. VisIt strikes a balance between application support and capability development that appeals to the larger HPC community.” Read “Visualization Software Stands the Test of Time” on the S&TR website.

FMS 0.2 Released

September 10, 2021 (release)

As part of the Exascale Computing Project’s CEED software suite, FMS provides a high-order Field and Mesh Specification interface that allows a wide variety of applications and visualization tools to represent unstructured high-order meshes with general high-order finite element fields defined on them. FMS is intended as a lightweight format and API that can represent general finite elements within a common, easy to use framework. This includes high-order solutions and meshes as well as non-standard finite elements, such as Nedelec and Raviart-Thomas elements. Version 0.2 includes:

  • Lightweight API to represent general finite element meshes + fields
  • I/O in ASCII and Conduit binary format
  • FMS visualization support in VisIt v3.2
  • Common, easy-to-use framework

Learn more:

New Repo: Quandary

September 09, 2021 (new-repo)

Quandary provides optimal control for open quantum systems via an optimization solver. The underlying quantum dynamics model open quantum systems, using the Lindblad master equation to evolve a density matrix in time. The control problem aims to find control pulses that drive the system to a desired target state. The README contains installation information as documentation is under development.

New Repo: Devil Ray

September 09, 2021 (new-repo)

Devil Ray is a visualization and analysis library for high-order element meshes targeting modern HPC architectures. It runs on both GPUs and many-core CPUs and leverages MPI for distributed-memory computations. The repo supports meshes consisting of hexs, quads, tets, and triangles of arbitrary polynomial order, with fast paths for constant, linear, quadratic, and cubic elements. Originally architected as a ray tracer, Devil Ray is capable of rendering volumes and surfaces and has been demonstrated running concurrently on over 4,000 GPUs.

SC21: Video Previews Hatchet Tutorial

September 08, 2021 (event) (multimedia) (story)

The Python-based library Hatchet will be part of a new Supercomputing 2021 (SC21) tutorial on performance tools. Hatchet allows Pandas dataframes to be indexed by structured tree and graph data and is intended for analyzing hierarchical performance data. The development team has released a video titled “User-Centric Automated Performance Analysis of Hybrid Parallel Programs” to preview the tutorial and give attendees an idea of what to expect. SC21 will take place in a hybrid format on November 14–19.

Vanessa Sochat Presents Keynote at SeptembRSE

September 06, 2021 (event-report) (multimedia)

LLNL computer scientist and open source advocate Vanessa Sochat delivered a keynote presentation titled “The Stories We Tell Ourselves” at the 5th Conference of Research Software Engineers on September 6. Sochat’s work includes developing container technologies, supporting tools, and fostering open source communities. She founded and hosts the Research Software Engineer Stories podcast and is an active member of the U.S. Research Software Engineer Association.

RAJAPerf 0.11.0 Released

September 01, 2021 (release)

The RAJA performance suite (RAJAPerf) is designed to explore performance of loop-based computational kernels found in HPC applications. Specifically, it is used to assess, monitor, and compare runtime performance of kernels implemented using RAJA and variants implemented using standard or vendor-supported parallel programming models directly. The v0.11.0 release adds new kernels, features, and runtime options.

Learn more:

New Repo: mappgene

August 31, 2021 (new-repo)

mappgene is a SARS-CoV-2 genomic sequence analysis pipeline designed for parallel HPC. It wraps V-pipe and iVar with a collection of useful scripts for deployment in almost any Linux environment. Requires Python 3.7+ and Singularity.

GLVis 4.1 Released

August 31, 2021 (release)

GLVis is a lightweight OpenGL tool for accurate and flexible finite element visualization. Version 4.1 includes:

  • Interactive inline plots in Python and C++ Jupyter Notebooks
  • Support for native build on Windows and native Mac application bundle
  • New thread-based server mode
  • Refactored rendering components
  • New regression test suite

Learn more:

How to Spack a Software Package

August 27, 2021 (multimedia)

At the AWS/Arm Cloud Hackathon, LLNL’s Todd Gamblin and Greg Becker discussed the essential skills and concepts needed to understand how to create and deploy Spack recipes to build scientific codes. The Hackathon was held July 12-16 and aimed to assemble the HPC community around a common goal of beginning the porting, testing, and tuning processes for dozens of codes to use Arm-based processors. The video runs 31:42.

Flux Software Selected Among R&D 100 Award Finalists

August 26, 2021 (story)

The annual R&D 100 Awards finalists have been announced. The Flux workload management software framework is a finalist in the Software/Services category. Winners will be announced later this fall. Watch the Flux video to learn how it enables modern supercomputing workflows.

Summer Hackathon Tradition Continues Virtually

August 23, 2021 (event-report)

Each new season brings another hackathon, and LLNL’s summer event took place on August 12–13. The event was sponsored by the Center for Applied Scientific Computing (CASC) and Livermore Computing (LC) divisions and organized by Stephanie Brink (CASC), Tammy Dahlgren (LC), and Stephen Herbein (LC). Additionally, Computing’s summer interns were encouraged to participate in the event. Ian Lee, open source advocate and Computing’s Alternate Organizational Information System Security Officer, kicked off the hackathon with a presentation titled “When a Hackathon Project Ends…Does It Make a Sound?” He gave participants a larger picture beyond the event’s concentrated 24 hours, detailing how he has shepherded hackathon projects into real-world applications with benefits to a wide group of users and developers across the Lab.

Introducing the Spackpedia

August 22, 2021 (story)

In a new twist on documentation, the Spack package manager team created the Spack Encyclopedia, or Spackpedia, to help users understand frequently used (and sometimes funny) terms. Click on a term to see a quick definition with an option to read more. Click “read more” for additional details about the term, an example of its usage, a link to Spack documentation, and related terms. Spackpedia is a separate repo within the Spack organization on GitHub, and contributions are welcome.

Umpire 2022.03.0 Released

August 19, 2021 (release)

Umpire is a resource management library that allows the discovery, provision, and management of memory on next-generation architectures.

As with other RAJA Portability Suite components, the release version nomenclature has changed format to indicate year, month, and patch number. The v2022.03.0 release includes new interfaces for several functions, CI updates, and more.

Learn more:

RAJA 0.14.0 Released

August 19, 2021 (release)

RAJA is a software abstraction that systematically encapsulates platform-specific code to enable applications to be portable across diverse hardware architectures without major source code disruption. The v0.14.0 release includes

  • some SYCL execution back-end features
  • updated sort and scan methods
  • updated OpenMP CPU multithreading policies
  • updated submodule versions
  • extensive documentation updates
  • and more

Learn more:

CHAI 2.4.0 Released

August 19, 2021 (release)

CHAI is a C++ library providing an array object that can be used transparently in multiple memory spaces. CHAI can be used standalone, but is best when paired with the RAJA library, which has built-in CHAI integration that takes care of everything. This release bumps RAJA to v0.14.0, Umpire to v6.0.0, and BLT to v0.4.1.

Learn more:

MFEM's First Community Workshop Coming in October

August 18, 2021 (event)

The MFEM team is happy to announce the first annual MFEM Community Workshop, which will take place online on October 20, 2021.

  • The goal of the workshop is to foster collaboration among all MFEM users and developers, share the latest MFEM features with the broader community, deepen application engagements, and solicit feedback to guide future development directions for the project.
  • Details and registration can be found at mfem.org/workshop. Registration is free.
  • Additionally, we are looking for users to present the work they are doing utilizing MFEM. If you are interested in presenting please indicate that in the registration form.

New Repo: ISO-DART

August 17, 2021 (new-repo)

ISO-DART, which stands for Independent System Operator Data Automated Request Tool, allows the user to create multiple automated requests of ISO data from California, Midcontinent, and New York electric power transmission system operators. The repo also includes a weather module and solar data.

CEED's Fifth Annual Meeting Recap

August 05, 2021 (event-report)

As part of the Exascale Computing Project (ECP), the Center for Efficient Exascale Discretizations (CEED) is a research partnership between two U.S. Department of Energy laboratories and five universities. LLNL leads the Center. All of CEED’s software is open source.

CEED held its fifth annual meeting (CEED5AM) virtually on August 3-4. The goals of the meeting were to report on recent progress; deepen existing and establish new connections with ECP hardware vendors, ECP software technologies projects, and other collaborators; plan project activities; and work as a group to make technical progress. Presentations covered activities related to GPU support and GPU-enabled solvers, high-order methods and finite elements, software products including the AmgX linear solver library and libCEED algebraic library, benchmarking and optimization, various types of simulations enabled by CEED development, and much more.

Attendance included 97 researchers from 36 organizations:

  • 8 national labs
  • 20 universities
  • 8 industry

Research in Traumatic Brain Injury Aided by Open Source Workflow

August 03, 2021 (story)

Traumatic brain injuries (TBIs) affect millions of people each year, whether from car accidents, sports injuries, or on the battlefield. LLNL is part of the Transforming Research and Clinical Knowledge in Traumatic Brain Injury (TRACK-TBI) project, which aims to uncover fundamental new insights into how to diagnose and treat TBI as well as help deliver precision medicine to patients using advanced supercomputing and machine learning technologies. To this end, researchers have developed the open source MaPPeRTrac: the Massively Parallel, Portable, and Reproducible Tractography brain tractography workflow. MaPPeRTrac incorporates novel technologies to simplify and accelerate neuroimaging research. Read more about LLNL’s efforts to address TBI.

MFEM 4.3 Released

August 01, 2021 (release)

MFEM is a lightweight, general, scalable C++ library for finite element methods. It enables high-performance scalable finite element discretization research and application development on a wide variety of platforms, from laptops to supercomputers. The v4.3 release includes many improvements and new features, such as:

  • Variable order spaces, serial p- and hp-refinement
  • Low order refined discretizations, solvers and transfer
  • Preconditioners for advection-dominated systems
  • Support for GPU solvers from hypre and PETSc
  • GPU-accelerated mesh optimization algorithms
  • Explicit vectorization for Fujitsu’s A64FX ARM microprocessor
  • Support for high-order Lagrange meshes in VTK format
  • New and improved integrations with FMS (Field and Mesh Specification), Caliper, libCEED, Ginkgo
  • 11 new examples and miniapps
  • and much more!

Learn more:

New Repo: MuyGPyS

July 30, 2021 (new-repo)

MuyGPyS is a Gaussian process estimation method that affords fast hyperparameter optimization by way of performing leave-one-out cross-validation. MuyGPys achieves best-in-class speed and scalability by limiting inference to the information contained in k nearest neighborhoods for prediction locations for both hyperparameter optimization and tuning. Documentation and other resources are available at the MuyGPyS Read the Docs site.

ECP Annual Meeting Videos Now Available: Spack, CEED, Flux

July 29, 2021 (event-report) (multimedia)

The Exascale Computing Project, a joint effort between the DOE Office of Science and NNSA, brings together several national laboratories to address many hardware, software, and application challenges inherent in the organizations’ scientific and national security missions. The ECP’s annual meeting was held virtually this year on April 12-16. Several sessions are available in a YouTube playlist. LLNL’s highlights feature open source projects that are crucial to the ECP’s collaborative goals:

  • Spack BoF (runtime 1:00:40): This “birds of a feather” gathering details major developments in Spack releases, collaborative work with the E4S team, roadmap for future development, and results from a community survey.
  • Using Spack to Accelerate Developer Workflows (runtime 6:14:42): This tutorial focuses on developer workflows, covering covered installation, package authorship, Spack’s dependency model, and Spack environments and configuration. Participants can learn new skills in this tutorial, even if they have participated in Spack tutorials in the past.
  • Characterizing Performance Improvements in the Center for Efficient Exascale Discretizations (runtime 1:00:04, CEED section begins at 25:05): Speakers from ECP Application Development areas talked about how they set figures of merit, determined key performance parameters, and calculated efficiency of codes. CEED is a co-design center led by LLNL and focusing on discretization algorithms that better exploit the hardware and deliver a significant performance gain over conventional low-order methods. The video concludes with a panel discussion with the speakers.
  • Using Flux to Overcome Scheduling Challenges of Exascale Workflows (runtime 2:16:48): The Flux team provides an in-depth tutorial that demonstrates how Flux is used in challenging HPC workflows, how to unify Flux with other scheduling and resource management software tools, and how Flux’s job and resource model works, along with hands-on uses cases and testing.

Dev Day Makes the Most of Virtual Format

July 29, 2021 (event-report)

Held virtually on July 15, our fifth annual Developer Day was a success. The morning session included lightning talks, a security-focused technical deep dive, and “quick takes” on remote-development resources. The afternoon session provided presentations about career paths and the Lab’s diversity and inclusion goals, capped by a career development panel discussion co-sponsored by the Data Science Institute.

Spack Tutorial from PEARC'21

July 19, 2021 (event-report)

The Spack team presented a tutorial at the 2021 Practice & Experience in Advanced Research Computing (PEARC’21) conference on July 19. You can view go through the tutorial yourself.

libCEED 0.9 Released

July 07, 2021 (release)

The Center for Efficient Exascale Discretizations (CEED) within the US Department of Energy’s ECP is helping applications leverage future architectures by developing state-of-the-art discretization algorithms that better exploit the hardware and deliver a significant performance gain over conventional methods. libCEED is a high-order API library that provides a common algebraic low-level operator description, allowing a wide variety of applications to take advantage of the efficient operator evaluation algorithms in the different CEED packages. This release includes portability improvements, GPU support for helper utility functions, mini-app improvements, and more.

Learn more:

Merlin 1.8.0 Released

July 06, 2021 (release)

Merlin is a tool for running machine learning based workflows. The goal of Merlin is to make it easy to build, run, and process the kinds of large scale HPC workflows needed for cognitive simulation. Version 1.8.0 includes new examples and fields, a reorganized tests module, GitHub Actions for handling CI, and more.

Learn more:

Charliecloud 0.24 Released

June 29, 2021 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. In version 0.24, ch-image is architecture aware, and the ch-run --bind destination path defaults to host. Many other commands are updated or improved, and the mailing list is set to announce-only.

Learn more:

New Repo: Axom

June 17, 2021 (new-repo)

Axom provides robust, flexible software infrastructure for the development of multi-physics applications and computational tools. Supported by the Advanced Simulation and Computing program at LLNL and part of the Lab’s RADIUSS project, Axom is a library of robust “building block” software components that provide foundational capabilities needed for production simulation codes. The Axom team focuses on developing software infrastructure components that can be shared by HPC applications running on diverse computing platforms. Read more about Axom on the LLNL Computing website.

CCT 1.0.12 Released

June 15, 2021 (release)

The Coda Calibration Tool (CCT) calculates reliable moment magnitudes for small- to moderate-sized seismic events. This release replaces all plots with new HTML5 based plots that utilize PlotlyJS and D3.js. In addition, CCT now has updated navigation buttons and menu items, additional data exposed in the UI, upgrades to waveform and spectral plots, and much more.

Learn more:

RAJA Portability Suite Enables Performance Portable CPU and GPU HPC Applications

June 14, 2021 (story)

A growing number of scientific computing applications must deliver high performance on central and graphics processing unit (CPU and GPU) hardware platforms. Compute node architectures are becoming more complex and diverse than earlier generation platforms as hardware vendors strive to deliver performance gains while adhering to physical constraints, such as power usage. Moreover, DOE laboratories are procuring machines with GPUs from three different hardware vendors. This environment makes developing applications that can run efficiently on multiple platforms increasingly time consuming and difficult.

The RAJA Portability Suite is a collection of open source software libraries that enable developers to build portable high performance applications. RAJA provides software abstractions that enable portable parallel numerical kernel execution and memory management for computing platforms with heterogeneous memory systems, specifically the Umpire and CHAI libraries. Development is supported by LLNL’s ASC Program, the RADIUSS project, and the DOE Exascale Computing Project. Read more about RAJA’s capabilities on the LLNL Computing website.

New Repo: MaPPeRTrac

June 11, 2021 (new-repo)

MaPPeRTrac (Massively Parallel, Portable, and Reproducible Tractography) is a brain tractography workflow for high performance computing. It incorporates novel technologies to simplify and accelerate neuroimaging research. MaPPeRTrac’s data and dependencies are de-coupled from code to enable rapid prototyping and modification. The container enables high-performance, parallel, parametrized, and portable generation of the brain’s neural connectomes that is fast, efficient, well-tested, robust, and easy-to-use.

Caliper 2.6.0 Released

June 11, 2021 (release)

Caliper is a program instrumentation and performance measurement framework. It is designed as a performance analysis toolbox in a library, allowing one to bake performance analysis capabilities directly into applications and activate them at runtime. The latest release includes new cuda config recipes, improvements to table and tree formatters, support for OpenMP profiling, a new API, and more.

Learn more:

Spack on CppCast

May 28, 2021 (multimedia)

The CppCast podcast recently hosted Spack creator Todd Gamblin and core developer Greg Becker to discuss a documentation tool, a blog post about floating point numbers, and ABI changes. The podcast is created by and for C++ developers. The episode runs 59:13.

New Repo: INGRID

May 28, 2021 (new-repo)

INGRID (Interactive Grid) is a Python-based tokamak edge plasma grid generator capable of automatic generation of grids for magnetic topologies with up to two x-points anywhere in the domain. INGRID can be utilized in a GUI mode and noninteractively via Python scripts; both modes of operation support the use of the YAML-formatted parameter file. The repo provides installation instructions and a guide to getting started. v2.0.0 is now available.

LBANN 0.102 Released

May 27, 2021 (release)

The Livermore Big Artificial Neural Network toolkit (LBANN) is an open-source, HPC-centric, deep learning training framework that is optimized to compose multiple levels of parallelism. This release includes support for new training algorithms, network structures, and layers as well as a Python front-end, performance optimizations, and much more.

Learn more:

Flux: Enabling Modern Supercomputing Workflows

May 26, 2021 (multimedia)

Flux is an open-source software framework that manages and schedules computing workflows to maximize available resources to run applications faster and more efficiently. Flux’s fully hierarchical resource management and graph-based scheduling features improve the performance, portability, flexibility, and manageability of both traditional and complex scientific workflows on many types of computing systems—in the cloud, at remote locations, on a laptop, or on next-generation architectures. Watch this video to learn more about Flux (runtime 7:14).

New Repo: IREP

May 25, 2021 (new-repo)

IREP is a tool that enables mixed-language simulation codes to use a common, Lua-based format for their input decks. The repo contains link to build documentation and examples. v1.0.0 is the first official GitHub release.

Spack 0.16.2 Released

May 22, 2021 (release)

Spack is a flexible, configurable, Python-based, and open-source HPC package manager. Spack automates the installation and fine-tuning of simulations and libraries, operating on a wide variety of HPC platforms and enabling users to build many code configurations. Version 0.16.2 includes

  • performance improvements
  • additional Python 3.10 support
  • better support for externals in shared prefixes
  • and much more!

Learn more:

Conduit 0.7.2 Released

May 19, 2021 (release)

Conduit provides an intuitive model for describing hierarchical scientific data in C++, C, Fortran, and Python. It is used for data coupling between packages in-core, serialization, and I/O tasks. This release includes several new methods, a new example, Relay HDF5 support, and much more.

Learn more:

Vanessa Sochat Is Building Research Software and Open Source Engagement

May 18, 2021 (profile)

Vanessa Sochat has built her software engineering and computer science career in an unconventional way. After earning an undergraduate degree in Psychology, her first research assistant job involved using command line software and writing scripts. “I had no idea what I was doing, nor did anyone teach me, but I thrived in this environment,” she says. Vanessa recently joined LLNL to work on the BUILD project, Spack package manager, and other open-source initiatives. She was one of the original developers of the Singularity container technology, and she created and continues to produce the RSE Stories podcast. Read Vanessa’s profile at LLNL Computing.

LLNL, IBM, and Red Hat Joining Forces

April 28, 2021 (story)

Under a new memorandum of understanding, researchers at LLNL, IBM, and Red Hat will aim to enable next-generation workloads by integrating LLNL’s open source Flux scheduling framework with Red Hat OpenShift to allow more traditional HPC jobs to take advantage of cloud and container technologies. “Cloud systems are increasingly setting the directions of the broader computing ecosystem, and economics are a primary driver,” said Bronis de Supinski, CTO of Livermore Computing at LLNL. “With the growing prevalence of cloud-based systems, we must align our HPC strategy with cloud technologies, particularly in terms of their software environments, to ensure the long-term sustainability and affordability of our mission-critical HPC systems.” Read more at LLNL News.

Called to a Valuable Function, Stephanie Brink Streamlines the Lab’s Code

April 27, 2021 (profile)

LLNL Computing relies on engineers like Stephanie Brink to keep the legacy codes running smoothly. “You’re only as fast as your slowest processor or your slowest function,” says Stephanie, who works in the Center for Applied Scientific Computing. By analyzing a legacy code’s performance, Stephanie and her team can reduce the amount of time it takes to run and allow for more critical science to be accomplished. Stephanie is a frequent contributor to open source software, including Hatchet and Variorum. Read the full profile at LLNL Computing.

SAMRAI 4.1.0 Released

April 24, 2021 (release)

SAMRAI (Structured Adaptive Mesh Refinement Application Infrastructure) is an object-oriented C++ software library that enables exploration of numerical, algorithmic, parallel computing, and software issues associated with applying structured adaptive mesh refinement (SAMR) technology in large-scale parallel application development. The current release features a new alias tbox::ResourceAllocator to clean up the API for usage of Umpire allocators in pdat classes. This provides a valid type name that can be used and passed through the pdat classes’ APIs regardless of the status of the configuration.

Learn more:

GIDIplus 3.19.73 Released

April 22, 2021 (release)

GIDIplus is a suite of C++ libraries for accessing nuclear data from the Generalized Nuclear Database Structure (GNDS). The latest version includes

  • simplified build system
  • expanded test coverage and reorganized test directories
  • initial support for multiple versions of GNDS format

Learn more:

S&TR Features Software for the Exascale Era

April 21, 2021 (story)

The latest issue of LLNL’s Science & Technology Review magazine showcases Computing in the cover story (see abstract below) and Commentary. Open source software plays a prominent role in the initiatives described in the story. The cover art shows an advection simulation powered by open source repos MFEM and GLVis.

Abstract: As a leader in high-performance computing, Lawrence Livermore wields a large portion of the Department of Energy’s HPC resources to advance national security and foundational science. The Sierra supercomputer supports the National Nuclear Security Administration’s Stockpile Stewardship Program by enabling more accurate, more predictive simulations. This generation of computers is known as heterogeneous, or hybrid, because their architectures combine graphics processing units and central processing units to achieve peak performance well above 100 petaflops. (A petaflop is 10^15 floating-point operations per second.) The next generation’s processing capability—at least an exaflop (10^18 flops)—will be many times greater. HPC software must adjust to these new hardware standards. As the exascale era begins, two major initiatives leverage and expand Livermore’s HPC capabilities, with a spotlight here on software. The Exascale Computing Project, a joint effort between the DOE Office of Science and NNSA, brings together several national laboratories to address many hardware, software, and application challenges inherent in the organizations’ scientific and national security missions. Within the Laboratory, the RADIUSS project aims to benefit scientific applications through a robust software infrastructure.

LLNL's Spring Hackathon Coming Up

April 20, 2021 (event)

Held since 2012, LLNL’s hackathons are 24-hour opportunities to brainstorm, foster creativity, prototype, and explore. Participants work in groups or individually and often strive to learn new skills, programming languages, and tools in service to LLNL’s missions. Like the hackathons of the past year, the spring event (April 29-30) will be held virtually using WebEx and Mattermost for collaboration. LLNL sponsors are two Computing divisions: Enterprise Applications Services and National Ignition Facility Computing.

New Web and Jupyter Versions of GLVis

April 20, 2021 (release)

GLVis is a lightweight OpenGL tool for accurate and flexible finite element visualization. It’s been recently upgraded for wider usability:

  • The full feature set is available on Linux, Mac, and Windows.
  • In Jupyter, installation is as easy as pip install glvis to use the full power of GLVis in an interactive Python notebook.
  • Also check out the web version of the tool where users can access GLVis in a browser, on mobile, or a tablet. This version can be used to present simulation results only, while taking advantage of local WebGL acceleration and web sockets for streaming time-dependent results. (See the GLVis JavaScript library for details.)

SCR 3.0 Release Candidate

April 16, 2021 (release)

The Scalable Checkpoint/Restart (SCR) library enables MPI applications to utilize distributed storage on Linux clusters to attain high file I/O bandwidth for checkpointing, restarting, and writing large datasets. The 3.0 release candidate includes:

  • improved support for large datasets and shared access to files
  • new API calls
  • new logging options
  • assists for application developers when integrating the SCR API
  • new redundancy scheme
  • and much more!

Learn more:

New Repo: MTtime

April 16, 2021 (new-repo)

MTtime (Time Domain Moment Tensor Inversion in Python) is a python package developed for time domain inversion of complete seismic waveform data to obtain the seismic moment tensor. It supports deviatoric and full moment tensor inversions, and 1-D and 3-D basis Green’s functions. Documentation and a working example are provided.

Charliecloud 0.23 Released

April 16, 2021 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. Version 0.23 includes new functionality for ch-image, ch-image build, and ch-image push.

Learn more:

New Project Aims to Solve the Software Complexity Puzzle

April 14, 2021 (story)

The HPC world is full of complexity—from applications to the software components they rely on and the hardware they need to run. With the first three exascale machines, including Livermore’s El Capitan, slated to come online in the next few years, addressing complexity challenges will be a heavier, more urgent lift. Like our current Sierra system, these exascale systems will derive most of their computational power from secondary accelerator processors called GPUs. Traditionally, HPC systems have used only CPUs. With these machines, developers will need to accommodate not just NVIDIA accelerators but also new offerings from AMD and Intel. Harnessing the power of these devices entails using rapidly evolving programming environments, which require new compilers, runtime libraries, and software packages whose relationships are not always well understood. Without automated approaches to integration, developers will fight these software stacks by hand—but manual integration and maintenance are unsustainable.

A new effort kicking off in fiscal year 2021 aims to develop a machine-verifiable model of package compatibility that will enable automated integration, reducing human labor and errors. The Binary Understanding and Integration Logic for Dependencies (BUILD) project will run for three years with computer scientist Todd Gamblin at the helm. He states, “This project will develop techniques that enable rapid integration of HPC software systems, especially for upcoming exascale machines.” The project will build on Spack—the widely adopted package manager with a repository of more than 5,000 packages. Created by Gamblin in 2013 and today supported by a core development team, Spack already incorporates package configuration capabilities with dependency solving techniques.

Read more about the BUILD project.

LLNL’s Rob Falgout Named to 2021 Class of SIAM Fellows

April 09, 2021 (profile) (story)

The Society for Industrial and Applied Mathematics (SIAM) has announced its 2021 Class of Fellows, including LLNL computational mathematician Rob Falgout. Falgout is best known for his development of multigrid methods and for hypre, one of the world’s most popular parallel multigrid codes. LLNL News has the fully story about this honor.

BLT 0.4.0 Released

April 09, 2021 (release)

BLT (Building, Linking, and Testing) is a streamlined CMake build system foundation for developing HPC software. BLT makes it easy to get up and running on a wide range of HPC compilers, operating systems, and technologies. The repo includes unit testing and benchmarking. The v0.4.0 release includes added variables, support for clang-tidy static analysis check, user option for enforcing specific versions of autoformatters, new macros, and much more.

Learn more:

New Repo: PairScore

April 06, 2021 (new-repo)

PairScore is a preliminary code to predict binding affinity from the pairwise distances between protein and ligand atoms. The repo contains an example.

CCT 1.0.11 Released

April 02, 2021 (release)

The Coda Calibration Tool (CCT) calculates reliable moment magnitudes for small- to moderate-sized seismic events. This release includes updates to the measurement Mw fitting algorithm, autopicking, constraints (e.g., maximum stress changed from 10 to 100 MPa), and the spectra truncation feature.

Learn more:

libCEED 0.8 Released

March 31, 2021 (release)

The Center for Efficient Exascale Discretizations (CEED) within the U.S. Department of Energy’s ECP is helping applications leverage future architectures by developing state-of-the-art discretization algorithms that better exploit the hardware and deliver a significant performance gain over conventional methods. libCEED is a high-order API library that provides a common algebraic low-level operator description, allowing a wide variety of applications to take advantage of the efficient operator evaluation algorithms in the different CEED packages. This major release includes support for matrix assembly (mainly intended for low order and coarse grids), new HIP and MAGMA backends with kernel fusion, Julia and Rust interfaces, and more.

Learn more:

HiOp 0.4 Released

March 31, 2021 (release)

HiOp is an optimization solver for solving certain mathematical optimization problems expressed as nonlinear programming problems. This lightweight HPC solver leverages application’s existing data parallelism to parallelize the optimization iterations by using specialized linear algebra kernels. This version includes centers on sparse optimization solver and enhanced support for device computations, including:

  • Development of a sparse NLP solver and associated sparse NLP interface
  • Update of the mixed dense-sparse NLP solver to support full GPU compute mode
  • Implemented gradient-based scaling of the problem
  • and more!

Learn more:

UnifyFS 0.9.2 Released

March 29, 2021 (release)

UnifyFS is a user-level burst buffer file system under active development. The repo supports scalable and efficient aggregation of I/O bandwidth from burst buffers while having the same life cycle as a batch-submitted job. Version 0.9.2 includes updates for newer versions of dependencies, support for setting cores-per-server via environ, config option changes, new unit and CI tests, and more.

Learn more:

Spack and the NoTearsHPC Cluster at AWS

March 25, 2021 (multimedia) (story)

From HPC Tech Shorts, this video (25:09) shows Amazon Web Services team members discussing the NoTearsHPC cluster solution for 1-click launches. Evan Bollig and Sean Smith talk about how the cluster works, what it provides, and how to do complicated tasks quickly. They used Spack for installation.

Kosh 1.2 Released

March 24, 2021 (release)

Kosh allows codes to store, query, share data via an easy-to-use Python API. Kosh lies on top of Sina and, as a result, can use any database backend supported by Sina. This software aims to make data access and sharing as simple as possible. In this backwards-compatible release:

  • Operators are introduced allowing the composition of features from one or many sources.
  • Feature selection without extraction is now possible via the new execution graphs introduced in this release.
  • Execution graphs are the recommended way to use Kosh going forward, as reflected in the updated notebooks.

Learn more:

STAT 4.1.0 Released

March 23, 2021 (release)

STAT, the Stack Trace Analysis Tool, is a highly scalable, lightweight tool that gathers and merges stack traces from all of the processes of a parallel application to form call graph prefix trees. STAT generates two prefix trees termed 2D-trace-space and 3D-trace-space-time. STAT’s source code also includes STATBench, a tool to emulate STAT. STATBench enables the benchmarking of STAT on arbitrary machine architectures and applications by fully utilizing parallel resources and generating artificial stack traces. Version 4.1.0 DynInst 10.2 support and initial rocgdb support.

Learn more:

New Computing Website Tags Content as Open Source

March 19, 2021 (story) (this-website)

LLNL’s computing website recently underwent a major overhaul to its design and information architecture. The site now features a taxonomy of Focus Areas that connect related content. These topics are tagged on News, People Highlights, and Projects. One of the topics is open source software. The site’s Livermore Computing page also directs users to this website for more information about open source projects.

Novel Deep Learning Framework Includes New Repo

March 18, 2021 (new-repo) (story)

LLNL computer scientists have developed a new framework and an accompanying visualization tool that leverages deep reinforcement learning for symbolic regression problems, outperforming baseline methods on benchmark problems. The paper was recently accepted as an oral presentation at the International Conference on Learning Representations (ICLR 2021), one of the top machine learning conferences in the world. The conference takes place virtually May 3-7, and the team’s deep symbolic regression code is available in a GitHub repo.

Aluminum 1.0.0 Released

March 06, 2021 (release)

Aluminum provides a generic interface to high-performance communication libraries with a focus on allreduce algorithms. Blocking and non-blocking algorithms and GPU-aware algorithms are supported. Aluminum also contains custom implementations of select algorithms to optimize for certain situations. This, the v1.0.0 release, is stable and includes refactored communicators, a barrier operation, and support for vector collectives.

Learn more:

Variorum 0.4.0 Released

March 03, 2021 (release)

Variorum is a platform-agnostic library exposing monitor and control interfaces for several features in hardware architectures. Its general interfaces provide privileged functionality for monitoring and controlling various hardware-level features of multiple hardware architectures. The latest release includes:

  • Support for ARM Juno architecture
  • API to query available frequencies
  • Additional build options
  • Updated documentation
  • and much more!

Learn more:

New Repo: Juqbox.jl

March 02, 2021 (new-repo)

Juqbox.jl is a package for solving quantum optimal control problems in closed quantum systems, where the evolution of the state vector is governed by Schrodinger’s equation. See the project’s README for installation instructions and workflow details. A few examples are also provided.

Videos from Wild West Hackin' Fest

February 24, 2021 (multimedia)

LLNL computer engineer Ian Lee presented at Wild West Hackin’ Fest (WWHF) 2020, and both of his talks are now available on YouTube:

  • Intro to Git for Security Professionals (2:01:58). This workshop provides an overview and introduction to the version control system Git for security professionals who may have no background in software development and who would like to start using their favorite open source tool.
  • Releasing Your First (Python) Open Source Project to the Masses! (2:08:02). This video picks up from having just learned how to start using Git, and works through how to take that knowledge to start your own first open source project. This Hackin’ Cast is appropriate for attendees of all levels, and no prior knowledge (other than very basic command line and git usage) is expected.

WWHF offers high-quality information security education to beginners and seasoned professionals alike. A stated goal is to lower the barrier to entry for those seeking to enter into the world of information security.

PolyClipper 1.1 Released

February 23, 2021 (release)

PolyClipper is a C++ reimplementation of the geometric clipping operations in the R3D library originally written by Devon Powell, as documented in the paper Powell & Abell (2015). This release transforms PolyClipper to a header-only C++ library.

Learn more:

New Repo: Saloon

February 17, 2021 (new-repo)

Saloon is a Vim plugin that simplifies Python code linter/fixer configuration and usage. Saloon’s menu lets developers toggle which static analysis tools to use and delegates those changes to ALE’s API. Since prospector already handles multiple tools, and is integrated with ALE, most of the actual linting will initially be handled via prospector calls. See the project’s README for information about how to get started using Saloon.

MFEM GPU Tips & Tricks

February 17, 2021 (story)

The MFEM team has created a helpful page of tips and tricks that explain how to make the most of GPUs when running finite element algorithms. This support documentation includes information about optimizing porting and performance. Learn more about these features and processes:

  • MFEM’s internal memory manager to simplify the use of host/device memory
  • MFEM_FORALL macro to enable performance portability
  • Maximizing the main memory bandwidth
  • Profiling on NVIDIA GPUs to improve the performance of a memory bound kernel
  • Roofline model for predicting the peak performance achievable by a specific algorithm

Questions or suggestions can be posted to MFEM’s issue tracker.

LLNL's Winter Hackathon Held Virtually

February 12, 2021 (event-report)

Held since 2012, LLNL’s hackathons are 24-hour opportunities to brainstorm, foster creativity, prototype, and explore. Participants work in groups or individually and often strive to learn new skills, programming languages, and tools in service to LLNL’s missions. Like the spring and summer hackathons of 2020, this year’s winter event (February 11-12) was held virtually using WebEx and Mattermost for collaboration. With LLNL’s Data Science Institute (DSI) sponsoring the hackathon, the agenda included guest speakers (below) discussing data science topics relevant to the Lab’s missions as well as a deep learning tutorial. (Participants were not required to attend the talks.) Read the recap on the DSI website.

  • Brian Van Essen: COVID-19 Rapid Drug Discovery
  • Jose Cadena Pico: Modeling the Temporal Network Dynamics of Neuronal Cultures
  • Benjamin Priest: Querying Massive Graphs with Sketching Algorithms
  • Kelli Humbird: Data-Driven Design for Inertial Confinement Fusion
  • Cindy Gonzales and Luke Jaffe: Introduction to Deep Learning for Image Classification

Conduit 0.7.0 Released

February 08, 2021 (release)

Conduit provides an intuitive model for describing hierarchical scientific data in C++, C, Fortran, and Python. It is used for data coupling between packages in-core, serialization, and I/O tasks.

Learn more:

Charliecloud 0.22 Released

February 08, 2021 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. Version 0.22 includes enhancements to ch-image pull and ch-image build and more.

Learn more:

New Repo: mpibind v0.2.0 through v0.5.0

February 04, 2021 (release)

mpibind is a memory-driven algorithm to map parallel hybrid applications to the underlying heterogeneous hardware resources transparently, efficiently, and portably. Unlike other mappings, its primary design point is the memory system, including the cache hierarchy. Compute elements are selected based on a memory mapping and not vice versa. Several new incremental versions have been released simultaneously:

Aluminum 0.7.0 Released

February 03, 2021 (release)

Aluminum provides a generic interface to high-performance communication libraries with a focus on allreduce algorithms. Blocking and non-blocking algorithms and GPU-aware algorithms are supported. Aluminum also contains custom implementations of select algorithms to optimize for certain situations. In this release, the testing and benchmarking infrastructure has been rewritten to be significantly more comprehensive and cleaner. The repo also now includes scripts for nicely plotting benchmark results.

Learn more:

SUNDIALS 5.7.0 Released

January 29, 2021 (release)

SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. This release includes a new NVECTOR implementation based on the SYCL abstraction layer and a new SUNMatrix and SUNLinearSolver implementation.

Learn more:

MacPatch 3.5.0.5 released

January 14, 2021 (release)

MacPatch – used at LLNL to manage 3,000+ computers – simplifies the act of patching and installing software on macOS-based systems. The client relies on using the built-in software update application for patching the macOS system updates and its own scan and patch engine for custom patches. v3.5.0.5 is a major release with a agent installation tracking, dynamic patch list, updated MPAgentUploader, and more.

Learn more:

Award-Winning Computer Vision Research Includes New Repo

January 08, 2021 (new-repo) (story)

The 2021 IEEE Winter Conference on Applications of Computer Vision (WACV 2021) announced that a paper co-authored by Rushil Anirudh received the conference’s Best Paper Honorable Mention award based on its potential impact to the field. The paper, titled “Generative Patch Priors for Practical Compressive Image Recovery,” introduces a new kind of prior—a characterization of the space of natural images—for compressive image recovery that is trained on patches of images instead of full-sized images. Unlike existing generative methods that are applicable only to images similar to the training dataset—i.e., similar kinds of objects, image sizes or aspect ratios—the generative patch prior (GPP) can recover a wide variety of natural images and compares favorably to other existing methods, researchers said. Anirudh presented the paper on behalf of the group during an awards session hosted by the virtual conference, the premier event of its kind in the world. The conference received about 1,100 paper submissions—only 5 were honored with awards. The code used in the paper is available on the open source repository GPP on GitHub.

New Repo: SPOT Suite

January 07, 2021 (new-repo)

SPOT is a web-based visualization tool for performance data. One use case is to link the Caliper performance library into an application, and every run of the application will produce a .cali performance data file. SPOT will then visualize the collective performance of an application across many runs. This could involve tracking performance changes over time, comparing the performance achieved by different users, running scaling studies across time, and so on.

We now have three repos that provide different functionality around SPOT:

To get started, fork spot2_container and let it check out the other two repos as submodules.

Charliecloud 0.21 Released

December 18, 2020 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. Version 0.21 includes renaming of the internal builder, a new option to bind-mount directories during build, updates to CI testing, and more.

Learn more:

New Repo: ns3-if77-module

December 17, 2020 (new-repo)

The ns3-if77-module provides an implementation of the ns3::PropagationLossModel, which uses the If77 propagation model developed by G. D. Gierhart and M. E. Johnson. The If77 propagation model was developed in the 1970s to estimate the service coverage for radio systems. It can be used to calculate propagation loss for ground/air, air/air, ground/satellite, and air/satellite systems for frequencies in the 0.1Mhz to 20Ghz range.

SUNDIALS 5.6.0 Released

December 11, 2020 (release)

SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. This release includes a new NVECTOR implementation, updates to the RAJA NVECTOR implementation, a new optional operation, and more.

Learn more:

GLVis 4.0 Released

December 11, 2020 (release)

GLVis is a lightweight OpenGL tool for accurate and flexible finite element visualization. Version 4.0 includes:

  • Open source license changed to BSD-3
  • Major overhaul and modernization of the GLVis rendering and window management
  • Preliminary support for building GLVis to Javascript/WebAssembly using Emscripten
  • New perceptually uniform colormaps
  • Improved 3D cutting plane algorithm for curved elements
  • and much more!

Learn more:

NeurIPS Features LLNL Papers and Software

December 07, 2020 (event)

The 34th Conference on Neural Information Processing Systems (NeurIPS) features two LLNL papers advancing the reliability of deep learning for the Lab’s mission-critical applications. The most prestigious machine learning conference in the world, NeurIPS began virtually on December 6. The first paper describes a framework for understanding the effect of properties of training data on the generalization gap of machine learning (ML) algorithms—the difference between a model’s observed performance during training versus its “ground-truth” performance in the real world. The second NeurIPS paper introduces an automatic framework to obtain robustness guarantees of any deep neural network structure using the open source Linear Relaxation-based Perturbation Analysis (LiRPA) repo. Developed with colleagues at Northeastern University, China’s Tsinghua University, and UCLA, LiRPA algorithms can provide guaranteed upper and lower bounds for a neural network function with perturbed inputs.

New Repo: [Boost].MPI3

December 04, 2020 (new-repo)

MPI is a large library for run-time parallelism where several paradigms coexist. It was is originally designed as standardized and portable message-passing system to work on a wide variety of parallel computing architectures. The last standard, MPI-3, uses a combination of techniques to achieve parallelism, Message Passing (MP), Remote Memory Access (RMA),and Shared Memory (SM). [Boost].MPI3 is a C++ library wrapper for standard MPI3. While not an official MPI3 library, [Boost].MPI3 is designed following the principles of Boost and the STL. This repo provides a uniform interface and abstractions for MPI3 features by means of wrapper function calls and concepts brought familiar to C++ and the STL.

UnifyFS 0.9.1 Released

December 03, 2020 (release)

UnifyFS is a user-level burst buffer file system under active development. The repo supports scalable and efficient aggregation of I/O bandwidth from burst buffers while having the same life cycle as a batch-submitted job. More than a year in the making, version 0.9.1 includes improved HDF5 and MPI-IO support, optimization to satisfy read requests from local, support for relative paths, additional unit and integration tests, and much more.

Learn more:

Spack User Survey Results

December 02, 2020 (story)

The Spack development team ran a user survey from September 28 to October 9 and received 169 responses. The survey covered user demographics, use cases, feature priorities, community involvement, and more. For example, responses indicated strong interest in a future virtual workshop. The full analysis is available on the Spack website, and the survey data is housed in its own repo.

Caliper 2.5.0 Released

December 01, 2020 (release)

Caliper is a program instrumentation and performance measurement framework. It is designed as a performance analysis toolbox in a library, allowing one to bake performance analysis capabilities directly into applications and activate them at runtime. The latest release includes the ability to run ConfigManager configs without the ConfigManager API, improvements to sampling and symbol lookup, loop profiling for the Spot config, documentation updates, and more.

Learn more:

New Repo: Lestofire

November 30, 2020 (new-repo)

Lestofire implements the level set method in topology optimization. It combines the automated calculation of shape derivatives in Firedrake and pyadjoint with the Null space optimizer to find the optimal design.

New Templates for Community Health Files

November 24, 2020 (this-website)

Our .github repo houses file templates and other content that can be used by LLNL open source projects. The goal is to help standardize the presentation and organization of certain types of content across the LLNL organization. New this month are community health files that developers can copy and/or modify as needed to ensure their repos adhere to certain guidelines regarding licenses and other aspects of releasing and maintaining open source software. New files include Contributing Guidelines, a Notice, a Code of Conduct, and templates for opening issues and submitting pull requests. More information is available on the .github README.

Spack 0.16.0 Released

November 18, 2020 (release)

Spack is a flexible, configurable, Python-based, and open-source HPC package manager. Spack automates the installation and fine-tuning of simulations and libraries, operating on a wide variety of HPC platforms and enabling users to build many code configurations. Version 0.16.0 contains several new and experimental features, including

  • more parallelism
  • new concretizer
  • customizable base images
  • additional compiler support
  • and much more!

Learn more:

RAJAPerf 0.10.0 Released

November 17, 2020 (release)

The RAJA performance suite (RAJAPerf) is designed to explore performance of loop-based computational kernels found in HPC applications. Specifically, it is used to assess, monitor, and compare runtime performance of kernels implemented using RAJA and variants implemented using standard or vendor-supported parallel programming models directly. Each kernel in the suite appears in multiple RAJA and non-RAJA (i.e., baseline) variants using parallel programming models such as OpenMP and CUDA. The v0.10.0 release changes the way kernel variants are managed.

Learn more:

LLNL's First Computing Virtual Expo

November 11, 2020 (event-report) (multimedia)

The LLNL Computing Virtual Expo was an end-to-end digital experience with interactive booths, networking opportunities, and on-demand presentations, held on September 30. Lab employees and the public were invited to learn about new initiatives while networking and engaging with the Computing community, including computer scientists, IT experts, HPC contacts, and software developers and engineers.

In addition to an exhibit booth about open source projects in general, the Expo featured booths for RADIUSS project and the Maestro Workflow Conductor. Ian Lee presented a lightning talk about the Lab’s open source community and policies, and Rob Neely gave a talk on RADIUSS.

Materials:

New Repo: PF3DCOMM

November 06, 2020 (new-repo)

PF3DCOMM is an MPI benchmark that tests the performance of communication patterns used in pF3D, a laser-plasma simulation code developed at LLNL. The benchmark is intended for use in evaluating the effectiveness of HPC interconnects.

Aluminum 0.6.0 Released

November 04, 2020 (release)

Aluminum provides a generic interface to high-performance communication libraries with a focus on allreduce algorithms. Blocking and non-blocking algorithms and GPU-aware algorithms are supported. Aluminum also contains custom implementations of select algorithms to optimize for certain situations. The latest release includes improved progress engine binding logic, new benchmarks, initial support for vector collectives in the NCCL and MPI backends, and more.

Learn more:

New Repo: Admiral

November 04, 2020 (new-repo)

Admiral is a package for developing agent based simulations and training them with multiagent reinforcement learning. A reinforcement learning experiment contains two main components: (1) a simulation environment and (2) learning agents, which contain policies that map observations to actions. These policies may be hard-coded by the researcher or trained by the RL algorithm. In Admiral, these two components are specified in a single Python configuration script. The components can be defined in-script or imported as modules.

SUNDIALS 5.5.0 Released

November 02, 2020 (release)

SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. This release includes a refactored build system (requires CMake 3.12.0 or newer) and support for SuperLU DIST 6.3.0 or newer.

Learn more:

RAJAPerf 0.8.0 Released

November 02, 2020 (release)

The RAJA performance suite (RAJAPerf) is designed to explore performance of loop-based computational kernels found in HPC applications. Specifically, it is used to assess, monitor, and compare runtime performance of kernels implemented using RAJA and variants implemented using standard or vendor-supported parallel programming models directly. Each kernel in the suite appears in multiple RAJA and non-RAJA (i.e., baseline) variants using parallel programming models such as OpenMP and CUDA. The v0.8.0 release updates the RAJA submodule to v0.13.0 and the BLT submodule to match what is used in RAJA.

Learn more:

MFEM 4.2 Released

November 02, 2020 (release)

MFEM is a lightweight, general, scalable C++ library for finite element methods. Its goal is to enable high-performance scalable finite element discretization research and application development on a wide variety of platforms, ranging from laptops to supercomputers. The latest release includes several improvements and new features, such as:

  • Improved performance and GPU capabilities (e.g., extended partial assembly algorithms and device support, explicit vectorization on Intel and IBM platforms)
  • Support for various solvers (e.g, CVODES from SUNDIALS)
  • Support for matrix-free geometric h- and p-multigrid
  • Meshing and discretization improvements (e.g, TMOP r-adaptivity, extended GSLIB-FindPoints integration)
  • 18 new examples and miniapps
  • and much more!

Learn more:

Conduit 0.6.0 Released

November 02, 2020 (release)

Conduit provides an intuitive model for describing hierarchical scientific data in C++, C, Fortran, and Python. It is used for data coupling between packages in-core, serialization, and I/O tasks.

Learn more:

RAJA 0.13.0 Released

October 30, 2020 (release)

RAJA is a software abstraction that systematically encapsulates platform-specific code to enable applications to be portable across diverse hardware architectures without major source code disruption. The v.0.13.0 release includes new features:

  • Execution policies for the RAJA HIP backend (with examples)
  • Updated BLT version
  • Option to enable/disable runtime plugin loading
  • and much more!

Learn more:

FAROS Team Wins Best Paper Award at OpenMP Workshop

October 30, 2020 (story)

A team of LLNL computer scientists and a collaborator from Argonne National Laboratory (ANL) won the Best Paper Award at the International Workshop on OpenMP (IWOMP) 2020 in September. Giorgis Georgakoudis, Ignacio Laguna, Tom Scogland (LLNL), and Johannes Doerfert (ANL) accepted the award for their paper, “FAROS: A Framework to Analyze OpenMP Compilation Through Benchmarking and Compiler Optimization Analysis.” The paper showcases the new Livermore-developed framework, FAROS, which pinpoints missing compiler optimizations due to OpenMP compilation and measures the impact on performance. FAROS is the result of a previously funded Laboratory Directed Research and Development Feasibility Study, which was led by Georgakoudis. Read more about the award.

LLNL Heads to SC20

October 28, 2020 (event)

The 32nd annual Supercomputing Conference (SC20) will be held virtually throughout November 9–19. This year the conference groups event types (e.g., tutorials, posters) into specific days. Much of the content is pre-recorded and will remain available online for six months. Tutorials will be live-streamed. As always, LLNL teams are looking forward to the event.

Twitter accounts to follow: @Livermore_Comp, @LLNL_OpenSource, @NatLabsHPC, @Livermore_Lab.

Check out LLNL’s full lineup of events. All initial broadcast times are listed in Eastern Standard Time.

Podcast: Power Up Your Java Using Python With JPype

October 26, 2020 (multimedia)

Python and Java are two of the most popular programming languages in the world, and have both been around for over 20 years. In that time there have been numerous attempts to provide interoperability between them, with varying methods and levels of success. One such project is JPype, which allows you to use Java classes in your Python code. In this Python podcast episode, lead developer Karl Nelson from LLNL explains why he chose it as his preferred tool for combining these ecosystems, how he and his team are using it, and when and how you might want to use it for your own projects. He also discusses the work he has done to enable use of JPype on Android, and what is in store for the future of the project. The episode runs 48:39.

New Repo: FAROS

October 21, 2020 (new-repo)

FAROS is a framework for benchmarking and analysis of compiler optimization. The repo contains a benchmark harness to fetch, build, and run programs with different compilation options for analyzing the impact of compilation on performance. The use case is contrasting OpenMP compilation with its serial elision to understand performance differences due to different compilation. The README file contains information about how the software works. The team has published a paper with more details and recently won the Best Paper Award at the 2020 International Workshop on OpenMP (IWOMP).

Video: Build All the Things with Spack

October 20, 2020 (multimedia)

LLNL computer scientist Todd Gamblin presented a brief overview of Spack at CppCon. CppCon is an annual, week-long gathering for the C++ community. This video runs 6:53.

Charliecloud 0.20 Released

October 20, 2020 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. Version 0.20 includes a significant improvement for unprivileged image build via ch-grow, meaning Dockerfiles will no longer fail or need to be altered in order to succeed.

Learn more:

HiOp 0.3 Released

October 13, 2020 (release)

HiOp is an optimization solver for solving certain mathematical optimization problems expressed as nonlinear programming problems. This lightweight HPC solver leverages application’s existing data parallelism to parallelize the optimization iterations by using specialized linear algebra kernels. This version includes:

  • a Newton interior-point solver for nonlinear nonconvex optimization
  • capabilities to solve optimization solvers with mixed dense and sparse (MDS) blocks
  • support for GPU-based acceleration of MDS linear algebra

Learn more:

Open-Source Software Community Welcomes Virtual Internships

October 01, 2020 (story) (this-website)

LLNL hosts hundreds of student interns annually—even during a year distinguished by the COVID-19 pandemic. This summer, the Computing Scholar Program welcomed 160 undergraduate and graduate students into virtual internships. The Lab’s open source community was already primed for student participation. A Computing news article describes three open source projects that benefitted from interns’ help: Ascent, MFEM, and this website. Mentors discuss the challenges of mentoring remotely, while students describe their experiences including skill development.

Another version of this story is available as a Code.gov blog post, penned by Ian Lee: Spotlight Story: Interns and Open Source: A Productive Combination.

libCEED 0.7 Released

September 30, 2020 (release)

The Center for Efficient Exascale Discretizations (CEED) within the US Department of Energy’s ECP is helping applications leverage future architectures by developing state-of-the-art discretization algorithms that better exploit the hardware and deliver a significant performance gain over conventional methods. libCEED is a high-order API library that provides a common algebraic low-level operator description, allowing a wide variety of applications to take advantage of the efficient operator evaluation algorithms in the different CEED packages. This major release includes a new HIP backend, revamped OCCA backend, restriction by offsets instead of blocked indices, improved solver ingredients, and numerous improvements to examples.

Learn more:

CEED MS-35 Milestone Report Released

September 30, 2020 (release)

The Center for Efficient Exascale Discretizations (CEED) is part of the Department of Energy’s Exascale Computing Project (ECP). The Center helps applications leverage future architectures by developing discretization algorithms that better exploit the hardware and deliver a significant performance gain over conventional methods. CEED regularly releases milestone (MS) reports to document progress and ensure transparency throughout its multi-year efforts.

The MS-35 report details the CEED accomplishments towards the following goals:

  • Work with vendors to port and run CEED benchmarks on early access systems for Aurora (Argonne National Lab) and Frontier (Oak Ridge National Lab)
  • Make the best BP/BK implementations from Nek, MFEM, libParanumal, and the external community available in libCEED
  • Organize the next CEED Annual meeting (CEED4AM)
  • Optimize the CEED applications and miniapps for the Aurora and Frontier architectures

LBANN 0.101 Released

September 29, 2020 (release)

The Livermore Big Artificial Neural Network toolkit (LBANN) is an open-source, HPC-centric, deep learning training framework that is optimized to compose multiple levels of parallelism. This release includes support for new network structures and layers, a Python front-end, several performance optimizations, increased model portability and usability, new datasets, and much more.

Learn more:

New Repo: Kosh

September 28, 2020 (new-repo)

Kosh allows codes to store, query, share data via an easy-to-use Python API. Kosh lies on top of Sina and, as a result, can use any database backend supported by Sina. This software aims to make data access and sharing as simple as possible. The repo includes installation instructions.

tdmtpy 1.0 Released

September 25, 2020 (release)

tdmtpy is a software tool developed for time domain inversion of complete seismic waveform data to obtain the seismic moment tensor. It supports both deviatoric and full moment tensor inversions as well as 1D and 3D basis Green’s functions, and the repo includes tutorials in Jupyter Notebook. This first release updates the repo to be a Python package and now requires pandas.

Learn more:

SUNDIALS 5.4.0 Released

September 24, 2020 (release)

SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. This release includes full support for time-dependent mass matrices in ARKStep, interface between ARKStep and the XBraid multigrid reduction in time (MGRIT), a new API (SUNMemoryHelper) to support GPU users who have complex memory management, and much more.

Learn more:

Umap 2.1.0 Released

September 22, 2020 (release)

Umap provides an mmap()-like interface to a simple, user- space page fault handler based on the userfaultfd Linux feature. The use case is to have an application specific buffer of pages cached from a large file (i.e., out-of-core execution using memory map). This release includes a new API, a sparse multi-file backing store interface, and new build options.

Learn more:

New Repo: Spheral++

September 22, 2020 (new-repo)

Spheral++ (documentation) provides a steerable parallel environment for performing coupled hydrodynamical and gravitational numerical simulations. Hydrodynamics and gravity are modeled using particle based methods (SPH and N-Body). Features include:

  • Total energy conserving compatible hydro mode
  • ASPH (Adaptive Smoothed Particle Hydrodynamics) algorithm
  • Fluid and solid material modeling
  • Damage and fracture modeling in solids

MFEM Advances to the R&D 100 Award Finals

September 21, 2020 (story)

The annual R&D 100 Awards finalists have been announced. The MFEM (Modular Finite Element Methods) high-order math library is a finalist in the Software/Services category. Winners will be announced on October 1. Watch this video about MFEM’s impact on scientific simulations.

New Repo: PYB11Generator

September 21, 2020 (new-repo)

PYB11Generator is a python based code generator that creates pybind11 code for binding C++ libraries as extensions in Python. The software parses input that is very close to writing the desired interface in native python, turning this into the corresponding pybind11 C++ code. The repo includes documentation.

Charliecloud 0.19 Released

September 21, 2020 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. Among other improvements, version 0.19 confers new functionality on ch-grow.

Learn more:

Celebrate Exascale Day

September 18, 2020 (event) (multimedia)

Exascale computing will transform the ability to tackle some of the world’s most important challenge. The Exascale Computing Project (ECP) celebrates this new era of scientific discovery with Exascale Day on October 18, or “10^18” to represent the exascale threshold of floating-point operations per second. This virtual event will provide videos, audio discussions, and articles that will educate participants about impact areas of exascale computing from the Department of Energy national laboratories, HPC manufacturers, and leading universities and industrial organizations. LLNL will be participating, and much of the ECP’s software stack is open source.

LLNL’s highlights include:

Magpie 2.5 Released

September 15, 2020 (release)

Magpie contains a number of scripts for running big data software in HPC environments. This release includes support for Alluxio and multiple versions of Spark and Hbase.

Learn more:

CCT 1.0.10 Released

September 14, 2020 (release)

The Coda Calibration Tool (CCT) calculates reliable moment magnitudes for small- to moderate-sized seismic events. This release includes mapping upgrades such as drawing and editing bounding boxes and arbitrary polygons, support for importing and exporting polygons, REST endpoints for managing polygon-related tasks, and more.

Learn more:

Spack on FLOSS for Science Podcast

September 03, 2020 (multimedia)

The FLOSS for Science podcast showcases open source software uses in science. Episode 30 covered the philosophy of Spack, its package management capabilities in HPC clusters, supported operating systems, and much more. The episode runs 52:26.

News Filters Added to Software Portal

September 02, 2020 (this-website)

This site’s News and Archive pages have been updated with filters for selecting news posts by category. These categories appear next to the date on each post. We have nearly five years’ worth of news, so this feature improves the navigation of different types of news. These filters were implemented by our 2020 summer intern.

CHAI 2.2.0 Released

September 02, 2020 (release)

CHAI is a C++ library providing an array object that can be used transparently in multiple memory spaces. CHAI can be used standalone, but is best when paired with the RAJA library, which has built-in CHAI integration that takes care of everything. This release requires the use of RAJA v0.12.0 and Umpire v4.0.0.

Learn more:

RAJA 0.12.0 Released

September 01, 2020 (release)

RAJA is a software abstraction that systematically encapsulates platform-specific code to enable applications to be portable across diverse hardware architectures without major source code disruption.

The v.0.12.0 release includes new features:

  • New “work group” capability
  • Dynamic plug-ins
  • New OpenMP execution policies
  • API improvements
  • and much more!

Learn more:

New Visualizations of Popular Repositories

August 31, 2020 (this-website)

The Visualize section of this website has again expanded to include a new page that breaks down the popularity (i.e., stars) of LLNL repositories in a few ways: repos with the highest number of stars, creation history of those repos, increase of stars over time, commit activity of popular repos, and licenses of those repos. This new page, created by our 2020 summer intern, helps us better understand repos that have made a big impact in the open source community.

DataRaceBench 1.3.0.1 Released

August 26, 2020 (release)

DataRaceBench is a benchmark suite designed to systematically and quantitatively evaluate the effectiveness of data race detection tools. It includes a set of microbenchmarks with and without data races. Parallelism is represented by OpenMP directives. This version adds benchmark programs to cover recent OpenMP 5.0 language features, new kernels representing new patterns, Dockerized tools to streamline the benchmarking process, and more.

Learn more:

New Repo: CAMP

August 25, 2020 (new-repo)

CAMP is a compiler-agnostic metaprogramming library providing concepts, type operations, and tuples for C++ and Cuda. The project collects a variety of macros and metaprogramming facilities for C++ projects.

Developer Day Goes Virtual

August 21, 2020 (event-report)

Sponsored by the Computing Directorate, Developer Day is a chance for LLNL software developers to share ideas, learn about the latest technology, discuss best practices, and mingle with colleagues. During the COVID-19 pandemic, however, much of the Lab’s workforce is working remotely. On July 30, Computing’s fourth annual Dev Day was held virtually for the first time with more than 90 attendees—almost as many as attended last year in person. Organizers were Kyle Dickerson, Elsa Gonsiorowski, and David Beckingsale.

Video: Flux Framework Featured on Next Platform TV

August 18, 2020 (multimedia)

LLNL computer scientist Stephen Herbein discusses the open-source Flux Framework HPC software on this video episode of Next Platform TV. His segment begins at 27:34.

MSR-SAFE 1.5.0 Released

August 17, 2020 (release)

MSR-SAFE allows safer access to model-specific registers. v1.5.0 updates turbo and uncore frequency monitoring MSRs, among other updates.

Learn more:

CEED's Virtual Annual Meeting

August 12, 2020 (event-report)

As part of the Exascale Computing Project (ECP), the Center for Efficient Exascale Discretizations (CEED) is a research partnership between two U.S. Department of Energy laboratories and five universities. LLNL leads the Center. All of CEED’s software is open source.

CEED held its 4th annual meeting on August 11-12 using ECP Zoom for videoconferencing and Slack for side discussions. The goals of the meeting were to report on the progress in the Center; deepen existing and establish new connections with ECP hardware vendors, ECP software technologies projects, and other collaborators; plan project activities; and brainstorm/work as a group to make technical progress. In addition to gathering together many CEED researchers, the meeting included representatives of ECP management, hardware vendors, software technology, and other interested projects. The full meeting agenda is available on the CEED website.

Charliecloud 0.17 Released

July 31, 2020 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. Version 0.17 focuses on upgrades to ch-grow (e.g., diagnostics for syntax errors, “Lark” version compatibility, additional Dockerfile documentation).

Learn more:

LBANN 0.100 Released

July 30, 2020 (release)

The Livermore Big Artificial Neural Network toolkit (LBANN) is an open-source, HPC-centric, deep learning training framework that is optimized to compose multiple levels of parallelism. This release includes support for new network structures (including some 3D models), a directory of example applications, support for several new layers, performance optimizations, and much more.

Learn more:

New Dependencies Page on Software Portal

July 28, 2020 (this-website)

The Visualize section of this website has grown to include a new page that visualizes our software catalog’s dependencies. LLNL software repos are shown in the context of repositories with dependencies, External Packages, and internal packages. You can move the slider to change the connections between repos, organizations, and dependencies as well as click on a circle to isolate its specific connections in an expansion panel on the right side of the page. This work, which enables us to learn more about our repos and how they are related, was done by our 2020 summer intern.

Tool Time: Caliper - A Performance Analysis Toolbox in a Library

July 27, 2020 (story)

The Performance Optimisation and Productivity blog published a post by LLNL’s David Boehme, who described the open source Caliper program instrumentation and performance measurement framework. Caliper can be used for lightweight always-on profiling or advanced performance engineering use cases, such as tracing, monitoring, and auto-tuning. It is primarily aimed at HPC applications, but works for any C/C++/Fortran program on Unix/Linux. The blog post outlines Caliper’s instrumentation and API with examples.

Aluminum 0.4.0 Released

July 27, 2020 (release)

Aluminum provides a generic interface to high-performance communication libraries with a focus on allreduce algorithms. Blocking and non-blocking algorithms and GPU-aware algorithms are supported. Aluminum also contains custom implementations of select algorithms to optimize for certain situations. The latest release includes support for AMD GPUs using HIP/ROCm/RCCL.

Learn more:

New Repo: mpibind

July 22, 2020 (new-repo)

mpibind is a memory-driven algorithm to map parallel hybrid applications to the underlying heterogeneous hardware resources transparently, efficiently, and portably. Unlike other mappings, its primary design point is the memory system, including the cache hierarchy. Compute elements are selected based on a memory mapping and not vice versa.

Merlin 1.7.0 Released

July 22, 2020 (release)

Merlin is a tool for running machine learning based workflows. The goal of Merlin is to make it easy to build, run, and process the kinds of large scale HPC workflows needed for cognitive simulation. v1.7.0 includes documentation and FAQ updates along with several fixes and celery configuration override.

Learn more:

Caliper 2.4.0 Released

July 22, 2020 (release)

Caliper is a program instrumentation and performance measurement framework. It is designed as a performance analysis toolbox in a library, allowing one to bake performance analysis capabilities directly into applications and activate them at runtime. The latest release includes several improvements and new features, such as new ConfigManager configs, API wrapper upgrades, and more robust linking and initialization.

Learn more:

BLT 0.3.5 Released

July 20, 2020 (release)

BLT (Building, Linking, and Testing) is a streamlined CMake build system foundation for developing HPC software. BLT makes it easy to get up and running on a wide range of HPC compilers, operating systems, and technologies. The repo includes unit testing and benchmarking. The v0.3.5 release includes additional link flags for CUDA, improved support for HIP 3.5 and CMake 3.13.0+, and more.

Learn more:

Spack Tutorial on AWS

July 20, 2020 (event-report) (multimedia)

Amazon Web Services hosted a free two-day Spack tutorial broadly targeted at HPC users, developers, and user support teams. Each day consisted of two 1.5-hour sessions with a 30-minute break in the middle. The first day covered Spack basics, while the second day drilled down on advanced features. Videos from day 1 (3:19:18) and day 2 (3:30:18) are available.

LLNL's Summer Hackathon Will Be Virtual

July 18, 2020 (event)

Held since 2012, LLNL’s hackathons are 24-hour opportunities to brainstorm, foster creativity, prototype, and explore. Participants work in groups or individually and often strive to learn new skills, programming languages, and tools in service to LLNL’s missions. Like the spring hackathon earlier this year, the summer event (August 6-7) will be held virtually using WebEx and Mattermost for collaboration. LLNL sponsors are Livermore Computing and the Center for Applied Scientific Computing. Registration closes on July 31.

Webinar: What’s New in Spack?

July 15, 2020 (event-report) (multimedia)

The IDEAS Productivity project, in partnership with the DOE Computing Facilities of the ALCF, OLCF, and NERSC and the DOE Exascale Computing Project, hosts a webinar series on Best Practices for HPC Software Developers. A webinar titled “What’s New in Spack?” was presented by LLNL’s Todd Gamblin on July 15. Slides and a video (1:26:33) from the session are available.

CCT 1.0.9 Released

July 15, 2020 (release)

The Coda Calibration Tool (CCT) calculates reliable moment magnitudes for small- to moderate-sized seismic events. This release contains new support for validation events in addition to reference events, a scalebar and distance measurement tool on the map, support for cancelling in progress calibrations, and more.

Learn more:

New Repo: SPIFY

July 13, 2020 (new-repo)

SPIFY is a C++ library for parsing input files to be used in scientific computing applications. The library allows an application developer to define a full set of required and optional input variable of different types and handles all of the parsing and validation. Examples are included in the repo.

Hatchet 1.2.0 Released

July 10, 2020 (release)

Hatchet is a Python-based library that allows Pandas dataframes to be indexed by structured tree and graph data. Version 1.2.0 includes updates to the HPCToolkit reader, graph syntax query language, tree printout format, and more.

Learn more:

New Repo: pLiner

July 08, 2020 (new-repo)

Compiler optimizations can alter significantly the numerical results of scientific computing applications. When numerical results differ significantly between compilers, optimization levels, and floating-point hardware, these numerical inconsistencies can impact programming productivity. pLiner is a framework that helps programmers identify locations in the source of numerical code that are highly affected by compiler optimizations. It uses a novel approach to identify such code locations by enhancing the floating-point precision of variables and expressions.

New Consolidated FAQ on Software Portal

July 08, 2020 (this-website)

Much of the content under the About section of this website has been consolidated into an easy-to-navigate FAQ page. The FAQ explain how to get started on GitHub, become part of the LLNL organization, manage repositories, and much more. We encourage readers to provide feedback or new questions by contacting the LLNL GitHub admins or submitting a pull request.

New Data Visualizations on Software Portal

July 07, 2020 (this-website)

The Visualize section of this website is benefitting from new development by our summer intern. Data we collect from GitHub is visualized in various ways, with additional visualizations planned. These efforts help us understand our repos’ activity, how they are being used, development trends, and more. Check out the new “Repo Licenses” viz and stay tuned for more!

Umpire 3.0.0 Released

July 06, 2020 (release)

Umpire is a resource management library that allows the discovery, provision, and management of memory on next-generation architectures. v3.0.0 includes a number of new features and bug fixes, such as support for multiple GPU devices, capturing function backtraces with allocations, and aligned allocations for host memory.

Learn more:

Merlin 1.6.2 Released

July 06, 2020 (release)

Merlin is a tool for running machine learning based workflows. The goal of Merlin is to make it easy to build, run, and process the kinds of large scale HPC workflows needed for cognitive simulation. v1.6.2 includes 12 hidden test specs, new celery (4.4.5) syntax, and additional improvements.

Learn more:

New Repo: Quicksilver

July 02, 2020 (new-repo)

Quicksilver is a proxy application that represents some elements of the Mercury workload by solving a simplified dynamic Monte Carlo particle transport problem. Quicksilver attempts to replicate the memory access patterns, communication patterns, and the branching or divergence of Mercury for problems using multigroup cross sections. OpenMP and MPI are used for parallelization. Documentation is available.

New Repo: Babel

July 02, 2020 (new-repo)

Babel is a language interoperability tool intended for use by the high-performance scientific computing community. It supports the Scientific Interface Definition Language (SIDL) for the language-independent declaration of interfaces associated with scientific software packages. Although the project is no longer funded, it has recently moved to GitHub for ease of access by the HPC community. Documentation is available.

Spack 0.15.0 Released

June 30, 2020 (release)

Spack is a flexible, configurable, Python-based, and open-source HPC package manager. Spack automates the installation and fine-tuning of simulations and libraries, operating on a wide variety of HPC platforms and enabling users to build many code configurations. Version 0.15.0 contains several new features, including

  • support for Cray clusters
  • virtual package configuration
  • environment activation
  • and much more!

Learn more:

Video: MFEM: Advanced Simulation Algorithms for HPC Applications

June 24, 2020 (multimedia)

MFEM is an open-source software library that provides advanced mathematical algorithms for use by scientific applications. By relying on MFEM, application scientists can quickly develop highly accurate physics simulation codes on a variety of platforms—from laptops to the world’s largest supercomputers. MFEM version 4.0 incorporates the most advanced techniques from the scientific computing research community, and its methods are widely applicable, highly impactful, and easy to use. A new video (runtime 7:07) features members of the LLNL development team, who describe how the software library works.

New Repo: PolyClipper

June 19, 2020 (new-repo)

PolyClipper is a C++ reimplementation of the geometric clipping operations in the R3D library originally written by Devon Powell, as documented in the paper Powell & Abell (2015). This repo focuses on clipping polygons (in 2D (x,y) coordinates) and polyhedra (in 3D (x,y,z) coordinates) with planes, returning new polygons/polyhedra as the result of this clipping. The input polygons/polyhedra may be non-convex and arbitrarily complex, but the only clipping operation supported is with planes. This is equivalent to intersecting one arbitrary (not necessarily convex) polygon/polyhedron with a convex polygon/polyhedron. Documentation is available.

New Repo: MaPPeRTrac

June 16, 2020 (new-repo)

MaPPeRTrac stands for Massively Parallel, Portable, and Reproducible Tractography. This repo provides a brain tractography workflow for high-performance computing. It incorporates novel technologies to simplify and accelerate neuroimaging research. Setup requires Python 3.5+ and SLURM job scheduling on a multi-node system.

Maestrowf 1.1.8 Released

June 11, 2020 (release)

Maestrowf is a tool for specifying and conducting general workflows locally and on supercomputers. Maestro parses a human-readable YAML specification that is self-documenting and portable from one user and environment to another. Along with other improvements, this release makes the Specification class more easily inherited.

Learn more:

ISC Is Going Virtual

June 08, 2020 (event)

Although in-person conferences are not feasible this summer, LLNL will participate in the online ISC High Performance Conference (ISC20) on June 22–25. The event brings together the HPC community—from research centers, commercial companies, academia, national laboratories, government agencies, exhibitors, and more—to share the latest technology of interest to HPC developers and users. View details about LLNL’s papers, poster, and workshops.

Adiak 0.2.1 Released

June 04, 2020 (release)

Adiak is a library for collecting metadata from HPC application runs, and distributing that metadata to subscriber tools. Adiak has a tool interface, which allows tools to subscribe to this metadata. Version 0.2.1 adds handling for cases where Adiak is called with a MPI communicator before MPI_Init.

Learn more:

Merlin 1.6.1 Released

June 03, 2020 (release)

Merlin is a tool for running machine learning based workflows. The goal of Merlin is to make it easy to build, run, and process the kinds of large scale HPC workflows needed for cognitive simulation. Merlin is a distributed task queuing system, designed to allow complex HPC workflows to scale to large numbers of simulations. v1.6.1 includes updates to default visibility timeout, broker name, encryption key, monitor function, and more.

Learn more:

Webcast: Open Source Doesn't Have to Be Scary

May 23, 2020 (event-report) (multimedia)

LLNL’s Ian Lee recently appeared on the Thought Leadership Consortium webcast entitled “Open Source Doesn’t Have to Be Scary.” Registration is free to watch the Zoom replay (01:25:00) on demand.

Podcast: Spack Attack!

May 22, 2020 (multimedia)

In a recent RSE Stories podcast, LLNL’s Todd Gamblin shares his journey at a national Lab and how getting angry at software led to development of a hugely popular package manager, Spack. The “Spack Attack!” episode runs 21:25. RSE is affiliated with the U.S. Research Software Engineer Association.

New Repo: CARE

May 22, 2020 (new-repo)

CHAI and RAJA provide an excellent base on which to build portable code for different computing architectures. CARE expands on that functionality, adding new features such as loop fusion capability and a portable interface for many numerical algorithms. CARE provides all the basics for anyone wanting to write portable code.

SUNDIALS 5.3.0 Released

May 21, 2020 (release)

SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. This release includes the ability to control CUDA kernel launch parameters, new capabilities for monitoring the solve phase in certain modules, new functions, and more.

Learn more:

Magpie 2.4 Released

May 21, 2020 (release)

Magpie contains a number of scripts for running big data software in HPC environments. It currently supports running over the parallel file system Lustre and running over any generic network file system. This release includes support for new versions of Hadoop, Storm, Hbase, Zeppelin, and more.

Learn more:

Charliecloud 0.16 Released

May 21, 2020 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. Version 0.16 includes updates to storage paths, Docker semantics, the test suite, and more.

Learn more:

Maestrowf 1.1.7 Released

May 17, 2020 (release)

Maestrowf is a tool for specifying and conducting general workflows locally and on supercomputers. Maestro parses a human-readable YAML specification that is self-documenting and portable from one user and environment to another. This release contains many enhancements, including

  • Addition of hashing to Study parameterization
  • A more generalized FluxScriptAdapter
  • Upgrades to pargs functionality
  • and much more!

Learn more:

Working Remotely: The Spack Team

May 16, 2020 (story)

Better Scientific Software’s blog features a post about the Spack team’s experience working remotely and interacting with the Spack community. LLNL’s Todd Gamblin offers insight into making the most of online communication opportunities and stresses the importance of providing robust documentation so users can help themselves.

New Repo: BMSL

May 14, 2020 (new-repo)

BMSL, the Bayesian Multitask with Structure Learning model, is a repository that accompanies a paper: “Bayesian Multitask Learning Regression for Heterogeneous Patient Cohorts” from the Journal of Biomedical Informatics. Multitask learning (MTL) is a sub-field of machine learning in which individual models for performing potentially related tasks are learned jointly. The Bayesian MTL model infers the task relationship structure directly from the data.

CHAI 2.1.0 Released

May 13, 2020 (release)

CHAI is a C++ library providing an array object that can be used transparently in multiple memory spaces. CHAI can be used standalone, but is best when paired with the RAJA library, which has built-in CHAI integration that takes care of everything. This release includes support for global callbacks and pinned host memory. The Umpire submodule has also been updated to v2.1.0.

Learn more:

Hatchet 1.1.0 Released

May 07, 2020 (release)

Hatchet is a Python-based library that allows Pandas dataframes to be indexed by structured tree and graph data. Version 1.1.0 includes additional pandas support, a GraphFrame reindex operator, and more tests.

Learn more:

New Repo: WCS

May 06, 2020 (new-repo)

WCS (short for Whole Cell Simulator) is a computational framework that enables seamless integration of diverse simulation methods used in creating a whole cell model (i.e., all the known biochemical processes in a cell). Its methods run simultaneously, not only for whole pathways but also for subsets of reactions.

Maestro Workflow Conductor

May 04, 2020 (story)

Maestro Workflow Conductor is a lightweight Python tool that can launch multi-step software simulation workflows in a clear, concise, consistent, and repeatable manner. It does this locally as well as on supercomputers. LLNL Computing recently published a project description, highlighting the challenges in scientific workflows that Maestro solves. “Before Maestro, it took a long time to stand up new workflows. Maestro has changed that by providing a consistent framework that can break down workflows into smaller pieces, and facilitate automated execution,” said project leader Frank Di Natale. Check out the Maestrowf repo.

New Repo: GIDIplus

April 29, 2020 (new-repo)

GIDIplus is a suite of C++ libraries for accessing nuclear data from the Generalized Nuclear Database Structure (GNDS). Test data is not included in the repository but is available for download.

Podcast: Flexible Package Manager Automates the Deployment of Software on Supercomputers

April 28, 2020 (multimedia)

In this podcast episode (5:54) produced by the Exascale Computing Project, LLNL’s Todd Gamblin talks about Spack: its role in the ECP’s software stack, the Spack-related events at last fall’s SC19, and the package manager’s R&D 100 Award.

Variorum 0.3.0 Released

April 23, 2020 (release)

Variorum is a platform-agnostic library exposing monitor and control interfaces for several features in hardware architectures. Its general interfaces provide privileged functionality for monitoring and controlling various hardware-level features of multiple hardware architectures. The latest release includes:

  • Unit test infrastructure
  • Example integrations
  • Contributor code of conduct
  • and much more!

Learn more:

Gotcha 1.0.3 Released

April 20, 2020 (release)

Gotcha is a library that provides function wrapping, interposing a wrapper function between a function and its callsites. Tools can use Gotcha’s programmable API to install hooks into other libraries. Version 1.0.3 includes interfaces for filtering which libraries are targeted for wrapping.

Learn more:

Podcast: Reducing the Memory Footprint and Data Movement on Exascale Systems

April 16, 2020 (multimedia)

In this podcast episode (12:36) produced by the Exascale Computing Project, LLNL’s Peter Lindstrom talks about ZFP project, which is a compressed representation of multidimensional floating-point arrays that are ubiquitous in high-performance computing.

LLNL to Host First Virtual Hackathon

April 12, 2020 (event)

Held since 2012, LLNL’s hackathons are 24-hour opportunities to brainstorm, foster creativity, prototype, and explore. Participants work in groups or individually and often strive to learn new skills, programming languages, and tools in service to LLNL’s missions. This year’s spring hackathon (April 30 through May 1) will be held virtually. In true hackathon spirit, several tech solutions will enable participants to collaborate remotely. Charalynn Macedo, division leader for LLNL’s Enterprise Applications Services, will kick off the event with a brief keynote presentation.

Charliecloud 0.15 Released

April 06, 2020 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. Version 0.15 includes expanded capabilities, examples, and test suite.

Learn more:

New Repo: QnD

April 05, 2020 (new-repo)

QnD (short for Quick and Dirty: Python Binary Storage Interface) is a simple, user-friendly API for storing numpy ndarrays in binary files. It is written as a frontend capable of supporting multiple backend file formats.

libCEED 0.6 Released

April 01, 2020 (release)

The Center for Efficient Exascale Discretizations (CEED) within the US Department of Energy’s ECP is helping applications leverage future architectures by developing state-of-the-art discretization algorithms that better exploit the hardware and deliver a significant performance gain over conventional methods. libCEED is a high-order API library that provides a common algebraic low-level operator description, allowing a wide variety of applications to take advantage of the efficient operator evaluation algorithms in the different CEED packages. libCEED is a C99 library with no external dependencies.

Learn more:

Variorum 0.2.0 Released

March 13, 2020 (release)

Variorum is a platform-agnostic library exposing monitor and control interfaces for several features in hardware architectures. Its general interfaces provide privileged functionality for monitoring and controlling various hardware-level features of multiple hardware architectures. The latest release includes:

  • Support for Nvidia platform – Volta architecture
  • On Intel platforms, translate both power limit time windows
  • Integrate Travis and GitLab for CI
  • and much more!

Learn more:

Podcast: Delivering Exascale Machine Learning Algorithms and Tools for Scientific Research

March 12, 2020 (multimedia)

In this podcast episode (10:42) produced by the Exascale Computing Project, LLNL’s Brian Van Essen joins Brookhaven and LBNL colleagues to discuss an ECP co-design center called ExaLearn. ExaLearn leverages machine learning and artificial intelligence to inform the requirements for exascale machines.

MFEM 4.1 Released

March 11, 2020 (release)

MFEM is a lightweight, general, scalable C++ library for finite element methods. Its goal is to enable high-performance scalable finite element discretization research and application development on a wide variety of platforms, ranging from laptops to supercomputers. The latest release includes several improvements and new features, such as:

  • Improved GPU capabilities including support for HIP, libCEED, Umpire, and debugging
  • GPU acceleration in additional examples, finite element and linear algebra kernels
  • Many meshing, discretization, and matrix-free algorithmic improvements
  • ParaView, GSLIB-FindPoints, HiOp, and Ginkgo support
  • 18 new examples and miniapps, including toy miniapps
  • and much more!

Learn more:

Caliper 2.3.0 Released

March 11, 2020 (release)

Caliper is a program instrumentation and performance measurement framework. It is designed as a performance analysis toolbox in a library, allowing one to bake performance analysis capabilities directly into applications and activate them at runtime. The latest release includes several improvements and new features, such as:

  • Improved robustness
  • New PAPI service
  • Kokkos profiling support
  • Inclusive time and percentage calculation for the runtime-report config
  • Top-down analysis for Intel Skylake CPUs

Learn more:

New Repo: Typeforge

March 10, 2020 (new-repo)

Typeforge is a tool for type refactoring of C/C++ programs. It enables users to change the type of any variable and automatically determines all necessary additional (i.e., type-dependent) changes. It guarantees the syntactic and semantic correctness of the generated code.

CCT 1.0.8 Released

March 10, 2020 (release)

The Coda Calibration Tool (CCT) calculates reliable moment magnitudes for small- to moderate-sized seismic events. This release contains several new features, including:

  • MW spectra truncation
  • UQ measurements for final spectra results
  • Persistent measurement intermediary artifacts
  • Capability to export diagnostic plots as images

Learn more:

Charliecloud 0.14 Released

March 03, 2020 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. Version 0.14 introduces internal code to pull images from a remote repository. skopeo and umoci are no longer required to build images using the fully unprivileged ch-grow builder, which simplifies installation and configuration.

Learn more:

STAT 4.0.2 Released

February 28, 2020 (release)

STAT, the Stack Trace Analysis Tool, is a highly scalable, lightweight tool that gathers and merges stack traces from all of the processes of a parallel application to form call graph prefix trees. STAT generates two prefix trees termed 2D-trace-space and 3D-trace-space-time. STAT’s source code also includes STATBench, a tool to emulate STAT. STATBench enables the benchmarking of STAT on arbitrary machine architectures and applications by fully utilizing parallel resources and generating artificial stack traces. Version 4.0.2 includes

  • DynInst 10.X support
  • Core file merging enhancements

Learn more:

New Repo: tdmtpy

February 27, 2020 (new-repo)

tdmtpy is a software tool developed for time domain inversion of complete seismic waveform data to obtain the seismic moment tensor. It supports both deviatoric and full moment tensor inversions as well as 1D and 3D basis Green’s functions.

New Repo: MAT

February 27, 2020 (new-repo)

MAT, or Memory Analysis Tool, traces all memory accesses to stack(Static allocation)/heap(Dynamic allocation) on a trace run in a particular hardware and then estimates execution time on given arbitrary hardware configurations for hardware design space exploration. This repo is in its alpha version.

Podcast: Helping Applications Use Future Architectures with First-Rate Discretization Libraries

February 26, 2020 (multimedia)

In this podcast episode (9:47) produced by the Exascale Computing Project, LLNL’s Tzanio Kolev, discusses ECP’s Center for Efficient Exascale Discretizations (CEED), which is a hub for high-order mathematical methods to increase application efficiency and performance.

VisIt 3.1.1 Released

February 24, 2020 (release)

VisIt is an open source, interactive, scalable, visualization, animation and analysis tool. Among the enhancements included in v3.1.1 are:

  • Updated MFEM library to v4.0
  • Added host profiles for Leibniz Supercomputing Centre
  • Updated build_visit to work on MacOS 10.14

Learn more:

New Repo: Serac

February 24, 2020 (new-repo)

Serac is a high-order nonlinear thermomechanical simulation code. Its primary purpose is to investigate multiphysics abstraction strategies and implicit finite element–based algorithm development for emerging computing architectures.

Spack 0.14.0 Released

February 23, 2020 (release)

Spack is a flexible, configurable, Python-based, and open-source HPC package manager. Spack automates the installation and fine-tuning of simulations and libraries, operating on a wide variety of HPC platforms and enabling users to build many code configurations. Version 0.14.0 contains several new features, including

  • distributed builds
  • build pipelines
  • container builds

Learn more:

RAJAPerf 0.7.0 Released

February 10, 2020 (release)

The RAJA performance suite (RAJAPerf) is designed to explore performance of loop-based computational kernels found in HPC applications. Specifically, it is used to assess, monitor, and compare runtime performance of kernels implemented using RAJA and variants implemented using standard or vendor-supported parallel programming models directly. Each kernel in the suite appears in multiple RAJA and non-RAJA (i.e., baseline) variants using parallel programming models such as OpenMP and CUDA. The v0.7.0 release updates the RAJA submodule to v0.11.0 and the BLT submodule to v0.3.0.

Learn more:

New Repo: MHYSA

February 06, 2020 (new-repo)

MHYSA, or Multispecies Hypersonic Flow Simulator, is a conservative finite-difference algorithm to solve the 1D, 2D, and 3D multispecies Navier-Stokes equations for hypersonic flow applications.

New Repo: Bindee

February 06, 2020 (new-repo)

Bindee is a best-effort, binding tool for generating C++-Python bindings.

Video: Spack at FOSDEM '20

February 02, 2020 (event-report) (multimedia)

FOSDEM is an annual two-day event promoting the widespread use of free and open source software. The 2020 conference took place in Brussels, Belgium, on February 1–2. Videos of speakers, lightning talks, and other sessions are available on the FOSDEM website. LLNL’s Todd Gamblin led two sessions about the package manager Spack:

New Repo: INQ

February 01, 2020 (new-repo)

INQ is an engine for electronic structure calculations. It can work in three ways: as a standalone electronic structure code, as a library to implement complex electronic structure methods, or as a proxy-app to evaluate the performance of electronic structure algorithms in high-performance computing platforms. It concentrates on algorithms as a portability hardware layer, generic types and flexibility of usage.

New Repo: Copson Expansion Solution

January 30, 2020 (new-repo)

The new Copson Expansion Solution repo provides code to evaluate Copson’s solution for the expansion of an ideal gas into vacuum. A draft journal article is included for context about this physics problem.

RAJA 0.11.0 Released

January 27, 2020 (release)

RAJA is a software abstraction that systematically encapsulates platform-specific code to enable applications to be portable across diverse hardware architectures without major source code disruption.

The v.0.11.0 release includes new features:

  • HIP compiler back-end added to support AMD GPUs
  • Updated version of camp third-party library
  • New tutorial material and exercises

Learn more:

New Repo: Remote Mirror Security

January 24, 2020 (new-repo)

Remote Mirror Security (RMS) provides a framework for building git hooks that apply logic to secure changes from remote mirrors. The project relies on the update.d git hook to evaluate inbound repository changes. More details and documentation will be forthcoming!

New Repo: AL NLP

January 24, 2020 (new-repo)

A new Active Learning framework for Natural Language Processing (AL NLP) repository contains code implementing an active learning loop for natural language processing of pathology reports related to the National Cancer Institute (NCI) Pilot 3 project. This NCI project is a population-level pilot aimed at applying deep learning and other advanced computing technologies to cancer surveillance data in order to predict patient outcomes.

New Repo: trainGMM

January 23, 2020 (new-repo)

trainGMM performs Gaussian mixture model (GMM) analysis over a user-provided data set of sampled waveforms to compute vectors suitable for discriminating between kinds of pulse shapes, produces graphics illustrating the results, and writes output data to a file. The output data can be uploaded to special FPGA (field programmable gate array) firmware that runs on the Struck SIS3316 digitizer. The parameters of the GMM and the data it operates on are restricted to match several hard-coded parameters expected by the Struck FPGA code. trainGMM was developed in python and is run using python.

Merlin 1.2.0 Released

January 23, 2020 (release)

Merlin is a tool for running machine learning based workflows. The goal of Merlin is to make it easy to build, run, and process the kinds of large scale HPC workflows needed for cognitive simulation. Merlin is a distributed task queuing system, designed to allow complex HPC workflows to scale to large numbers of simulations. v1.2.0 includes:

  • new machines keyword in merlin.resources.workers.<name>
  • additional local CI tests
  • new step field restart command

Learn more:

New Repo: AutoParBench

January 22, 2020 (new-repo)

AutoParBench is a benchmark framework to evaluate compilers and tools designed to automatically insert OpenMP directives. The project’s goals are (1) to generate actionable information (e.g., bug reports and feature requests) for compiler and tool developers and (2) to drive the research for automatic parallelization using OpenMP, making OpenMP more declarative to reduce the burdens on OpenMP users. Documentation is in progress.

New Repo: Gecko

January 21, 2020 (new-repo)

Gecko is a C++ library for solving graph linear arrangement problems. Gecko orders graph nodes, representing data elements, connected by undirected edges, representing affinity relations, with the goal of minimizing a chosen functional of edge length. Gecko was primarily designed to minimize the product of edge lengths but can also be used to reduce bandwidth (maximum edge length) and 1-sum (sum of edge lengths), among others. Documentation currently includes FAQ.

Conduit 0.5.1 Released

January 18, 2020 (release)

Conduit provides an intuitive model for describing hierarchical scientific data in C++, C, Fortran, and Python. It is used for data coupling between packages in-core, serialization, and I/O tasks. The Core API provides a flexible way to describe and access hierarchical data. v0.5.1 includes:

  • support for conda-forge builds for Linux, Windows, and MacOS
  • auto-detection of various protocols
  • improved linking for compiler modules

Learn more:

Charliecloud 0.13 Released

January 14, 2020 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. In v0.13, the build system was rewritten, and the layout of the source code and installed files were changed significantly.

Learn more:

SUNDIALS 5.1.0 Released

January 08, 2020 (release)

SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. Building off the v5.0.0 release in October, this release includes new utility functions, added support for a user-supplied function to update the prediction for each implicit stage solution in ARKStep, an updated MRIStep module, and more.

Learn more:

BLT 0.3.0 Released

January 08, 2020 (release)

BLT (Building, Linking, and Testing) is a streamlined CMake build system foundation for developing HPC software. BLT makes it easy to get up and running on a wide range of HPC compilers, operating systems, and technologies. The repo includes unit testing and benchmarking. The v0.3.0 release includes support for target property macros, custom target names, and Cray compilers.

Learn more:

New Repo: Varity

January 02, 2020 (new-repo)

Varity is a framework to identify variations in floating-point programs through randomized differential testing. Varity generates random tests that include floating-point operations and compile these tests with different compilers in a system. It also generates random floating-point inputs for the tests. When tests are executed, the results are compared to identify variations in the results. Varity helps users of a system to identify the compilers that produce the most similar results in the system.

New Repo: fpzip

December 20, 2019 (new-repo)

fpzip is a library and command-line utility for lossless and optionally lossy compression of 2D and 3D floating-point arrays. fpzip currently supports IEEE-754 single (32-bit) and double (64-bit) precision floating-point data. Read more about this repo and its relationship to the zfp repo.

RAJAPerf 0.6.0 Released

December 19, 2019 (release)

The RAJA performance suite (RAJAPerf) is designed to explore performance of loop-based computational kernels found in HPC applications. v0.6.0 contains two new variants of each kernel (sequential-lambda and OpenMP-lambda) and several new kernels.

Learn more:

Hatchet 1.0.0 Released

December 12, 2019 (release)

Hatchet is a Python-based library that allows Pandas dataframes to be indexed by structured tree and graph data. Version 1.0.0 is the first major release of this software.

Learn more:

CHAI 2.0.0 Released

December 12, 2019 (release)

CHAI is a C++ library providing an array object that can be used transparently in multiple memory spaces. CHAI can be used standalone, but is best when paired with the RAJA library, which has built-in CHAI integration that takes care of everything. This release includes a major refactoring of the integration with the RAJA performance portability layer. CHAI now provides an ENABLE_RAJA_PLUGIN option that will build a plugin for RAJA enabling automatic data migration when CHAI and RAJA are linked in the same application.

Learn more:

MFEM and VisIt Benefits Engineer in LLNL’s Design Optimization Laboratory

December 10, 2019 (story)

MFEM and VisIt are key design codes in LLNL’s Center for Design and Optimization, which is developing algorithms that can optimize immensely complex systems in HPC environments. The MFEM library enables application scientists to prototype parallel physics application codes quickly, based on partial differential equations discretized with high-order finite elements. VisIt—a visualization, animation, and analysis tool—helps scientists and engineers interactively visualize and analyze data, from small (&lt101 core) desktop-sized projects to large (&gt105 core) leadership-class computing facility simulation campaigns. Learn more about the Center in the Science & Technology Review article “Leading a Revolution in Design.”

On the Spack Track at SC19

December 06, 2019 (story)

At the annual supercomputing conference (SC19) in Denver, Colorado, Spack events were held each day. As a reflection of its grassroots heritage, nine sessions were planned by more than a dozen thought leaders from seven organizations, including three DOE laboratories and Sylabs, the company behind Singularity. Thirteen thousand six hundred conference attendees had the chance to learn about Spack from two meet-and-greets, three birds-of-a-feather meetings, three papers, and more. This HPCwire article describes Spack’s history, functionality, impact, and user community through the many Spack-related events at SC19.

Podcast: R&D 100 Award-winning Software Enables I/O Performance Portability and Code Progress

December 06, 2019 (multimedia)

A software product called the Scalable Checkpoint/Restart (SCR) Framework 2.0 recently won an R&D 100 Award. SCR enables HPC simulations to take advantage of hierarchical storage systems, without complex code modifications.

In this podcast episode (12:18) produced by the Exascale Computing Project, LLNL’s Kathryn Mohror and Elsa Gonsiorowski talk about what SCR is and does, the challenges involved in creating it, and the impact it is expected to have on HPC performance.

LLNL’s Presence in HPC Shines Bright at SC19

December 05, 2019 (event-report)

The 2019 International Conference for High Performance Computing, Networking, Storage, and Analysis—better known simply as SC19—returned to Denver, and once again LLNL made its presence known as a force in supercomputing. The conference, held November 17 through 22, was attended by nearly 14,000 people representing 118 countries.

Many open source technologies were featured in LLNL’s technical program. Read the full recap on LLNL’s main website.

Podcast: Software Enables Use of Distributed In-System Storage and Parallel File System

December 05, 2019 (multimedia)

For decades, HPC applications used a shared parallel file system for input/output (I/O), but the recent addition of new storage devices in systems—burst buffers, for example—has enabled the creation of a storage hierarchy. The hierarchy can be arranged such that in-system storage is the first level, and the parallel file system the second. For optimal performance, applications must change along with the architectures.

In this podcast episode (11:28) produced by the Exascale Computing Project, LLNL’s Kathryn Mohror and ORNL’s Sarp Oral talk about the open source tool UnifyFS, which can provide I/O performance portability for applications, enabling them to use distributed in-system storage and the parallel file system.

Spack 0.13.2 Released

December 04, 2019 (release)

Spack is a flexible, configurable, Python-based, and open-source HPC package manager. Spack automates the installation and fine-tuning of simulations and libraries, operating on a wide variety of HPC platforms and enabling users to build many code configurations. Version 0.13.2 contains major performance improvements for Spack environments, such as:

  • allow missing modules if they are blacklisted
  • speed up environment activation
  • not modifying run-env if a spec is not installed

Learn more:

Maestrowf 1.1.6 Released

December 04, 2019 (release)

Maestrowf is a tool for specifying and conducting general workflows locally and on supercomputers. Maestro parses a human-readable YAML specification that is self-documenting and portable from one user and environment to another. This release contains new features such as:

  • Enabling of loading specifications from streams and stream-like objects
  • User-enabled workspace hashing to counter long parameter lists
  • Automatic adapter detection

Learn more:

New Repo: Simplexdesign

November 26, 2019 (new-repo)

Simplexdesign is a collection of tools for the design of statistical experiments on Agent Based Models. It includes a coordinate exchange algorithm for homogeneous agents and, more generally, any simplex. The repo also includes an optimization algorithm for the case with multiple classes of homogeneous agents.

New Repo: Quantkriging

November 26, 2019 (new-repo)

Quantkriging is a method to model the uncertainty of a stochastic simulation by modelling both the overall simulation response and the output distribution at each sample point. The output distribution is characterized by dividing it into quantiles, where the division of each quantile is determined by kriging.

LLNL-Led Team Wins SC19 Best Paper Award

November 22, 2019 (event-report) (story)

On November 22, a panel of judges at the International Conference for High Performance Computing, Networking, Storage and Analysis (SC19) awarded a multi-institutional team led by LLNL computer scientists with the conference’s Best Paper award. The paper, entitled “Massively Parallel Infrastructure for Adaptive Multiscale Simulations: Modeling RAS Initiation Pathway for Cancer,” describes the workflow driving a first-of-its-kind multiscale simulation on predictively modeling the dynamics of RAS proteins—a family of proteins whose mutations are linked to more than 30 percent of all human cancers—and their interactions with lipids, the organic compounds that help make up cell membranes.

The team’s software, called MuMMI (Multiscale Machine-Learned Modeling Infrastructure), will soon be released as open source. Read more about the award on LLNL news.

New Repo: Merlin

November 19, 2019 (new-repo)

Merlin is a tool for running machine learning based workflows. The goal of Merlin is to make it easy to build, run, and process the kinds of large scale HPC workflows needed for cognitive simulation. At its heart, Merlin is a distributed task queuing system, designed to allow complex HPC workflows to scale to large numbers of simulations. See the documentation for more information including configuration variables and FAQ.

New Repo: Hatchet

November 18, 2019 (new-repo)

Hatchet is a Python-based library that allows Pandas dataframes to be indexed by structured tree and graph data. It is intended for analyzing performance data that has a hierarchy (for example, serial or parallel profiles that represent calling context trees, call graphs, nested regions’ timers, etc.). Hatchet implements various operations to analyze a single hierarchical data set or compare multiple data sets, and its API facilitates analyzing such data programmatically. See the documentation for more information including installation steps.

Caliper 2.12.0 Released

November 13, 2019 (release)

Caliper is a program instrumentation and performance measurement framework. It is designed as a performance analysis toolbox in a library, allowing one to bake performance analysis capabilities directly into applications and activate them at runtime. The latest release includes several improvements and new features, such as:

  • Many improvements to the ConfigManager API and syntax
  • Support for metadata collection with the Adiak library
  • Record memory high-water mark

Learn more:

New Repo: Variorum

November 12, 2019 (new-repo)

Variorum is a platform-agnostic library exposing monitor and control interfaces for several features in hardware architectures. It provides general interfaces to provide privileged functionality for monitoring and controlling various hardware-level features of multiple hardware architectures. Variorum provides vendor-neutral APIs such that the user can query or control hardware knobs without needing to know the underlying vendor’s implementation. These APIs enable HPC application developers to gain a better understanding of performance through various metrics for the devices contained within the node. See the documentation for a Quick Start Guide.

Software Engineering 101: I have some code! Now what?

November 12, 2019 (event-report) (story) (this-website)

As part of LLNL’s Computing 101 speaker series, Ian Lee gave a talk to employees on November 12 titled “Software Engineering 101: I have some code! Now what?” The presentation reviewed the Lab’s resources for supporting software engineering and open source development.

Lee, who manages this website and leads many initiatives in the Lab’s open source community, aimed his remarks at relative newcomers to the software development landscape. He also updated the audience on the state of open source development at the Lab.

The Lab provides a wide range of support and solutions for just about any task a developer does: programming languages, package managers, computing platforms, code editors, version control systems, project communication, project tracking, documentation, and much more. Lee provided an overview of these options, offered advice about how to navigate the Lab’s software resources, and encouraged developers to take advantage of colleagues’ knowledge and experience.

Lee summarized the Lab’s recent open source activity, which echoes a trend toward developing “out in the open,”—i.e., not waiting for code to mature before releasing it for community feedback and contributions. (As this website shows, the Lab and affiliated GitHub organizations have almost 600 repos.) Accordingly, the Lab has updated its open source release policies to support modern code development practices.

Among open source projects Lee highlighted in his talk were 2019 R&D 100 Award winners Spack and SCR (Scalable Checkpoint/Restart) and the software stack underpinning the Exascale Computing Project.

Lee also demoed this website’s category-driven design changes, LLNL’s open source logo (and stickers), the @LLNL_OpenSource Twitter account, and Slack channels. He noted that LLNL may have a booth at PyCon 2020, which will be held April 15-23 in Pittsburgh. (Conferences such as PyCon provide LLNL’s open source software community with opportunities for networking, collaboration, and technical skills development. Lab employees interested in attending similar events may contact Ian Lee for funding.)

New Repo: SAFIRE

November 11, 2019 (new-repo)

SAFIRE (Scalable and Accurate Fault Injection for Parallel Multi-threaded Applications) is a fault injection framework, descending from REFINE, that supports injecting bit-flip faults in both serial and multi-threaded programs. SAFIRE includes a modified LLVM compiler backend for x86 to instrument and inject bit-flip faults on machine instructions. The backend implements several optimizations for fast instrumentation and injection that make SAFIRE the fastest and most accurate tool for fault injection so far.

ESGF Architecture Workshop

November 08, 2019 (event-report)

Members of the Earth System Grid Federation (ESGF) gathered in Abingdon, England, on November 5-7 to kick off the redesign process for the Federation’s computing architecture. Since the original system was designed a decade ago, the number of ESGF’s supported projects and disciplines has grown and diversified. Furthermore, operational requirements are clearer for the ESGF to support an international federated archive of this size. Many of the ESGF nodes now have other functions beyond CMIP (the Coupled Model Intercomparison Project), and the landscape of data repository and science needs has changed.

Led by ESGF’s Executive Committee, the workshop team discussed improvements to the user experience, data repository and management, data compute requirements, and platform and system administration. This workshop concluded with a high-level roadmap for future architecture directions, which will be presented at the larger ESGF conference in March. LLNL’s delegates to the workshop were Ghaleb Abdulla (principal investigator and co-chair of the Executive Committee), Sasha Ames (member of multiple ESGF Working Teams) and Jason Boutte (Compute Working Team member).

CCT 1.0.7 Released

November 07, 2019 (release)

The Coda Calibration Tool (CCT) calculates reliable moment magnitudes for small- to moderate-sized seismic events. This release contains several new features, including:

  • Added a constraint set configuration panel in Parameter for the velocity model and the model space bounds on Shape (V/B/G) models for advanced users
  • Updated the input/output formats to include the new configurable fields
  • Updated notebook to use new REST JSON format for measurements
  • Added ability in Shape and Site to grow/shrink the data on the Y and X axis respectively via a button toggle

Learn more:

Charliecloud 0.12 Released

November 04, 2019 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. This simple approach avoids most security risks while maintaining access to the performance and functionality already on offer.

This release contains two new test suite features:

  • Added a script ch-test that manages the tests
  • Removed the option to use an embedded Bats, eliminating the need for a Git submodule and simplifying packaging

Learn more:

ESGF User Tutorial Videos

November 01, 2019 (multimedia)

The Earth System Grid Federation (ESGF)—a robust, distributed data and computation platform enabling worldwide access to huge amounts of scientific data—has launched a YouTube channel for user support. Current videos include tutorials for data downloads. Subscribe to the channel to be notified when new videos are posted.

RAJA 0.10.0 Released

October 30, 2019 (release)

RAJA is a software abstraction that systematically encapsulates platform-specific code to enable applications to be portable across diverse hardware architectures without major source code disruption. The v.0.10.0 release includes new features:

  • Plugin registry feature
  • CUDA block direct execution policies
  • Bounds checking option to RAJA Layout types
  • Template project on GitHub

Learn more:

Conduit 0.5 Released

October 26, 2019 (release)

Conduit provides an intuitive model for describing hierarchical scientific data in C++, C, Fortran, and Python. It is used for data coupling between packages in-core, serialization, and I/O tasks. The Core API provides a flexible way to describe and access hierarchical data. v0.5 includes:

  • node set support for Python tuples and Numpy String Arrays
  • new blueprints for topological data generation and ZFP compressed array data
  • new relays to support ZFP and HPF5 I/O

Learn more:

Spack 0.13 Released

October 25, 2019 (release)

Spack is a flexible, configurable, Python-based, and open-source HPC package manager. Spack automates the installation and fine-tuning of simulations and libraries, operating on a wide variety of HPC platforms and enabling users to build many code configurations.

Spack grew by over 700 packages in the past year – now more than 3,500 total – and the project now has over 450 contributors. v0.13 is a major release:

  • environments behaving more like virtualenv/conda
  • combinatorial environments for facility deployment
  • ability to build easily navigable symlink trees environments
  • many new commands/options
  • continuous integration/build farm support
  • simplified package syntax for specifying build/run environment modifications
  • separate tutorial repo
  • and much more!

Learn more:

Two Repos among 2019 R&D 100 Award Finalists

October 24, 2019 (story)

The annual R&D 100 Awards finalists have been announced. Among them are six LLNL-developed or co-developed technologies. In the Software/Services category, two open source projects have been recognized:SCR (Scalable Checkpoint/Restart) and Spack. Winners will be announced on October 29.

SUNDIALS 5.0.0 Released

October 21, 2019 (release)

SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. Incremental v5.0.0 releases occurred in March, June, and September. This complete release includes:

  • increased minimum required CMake version to 3.5 for most SUNDIALS configurations
  • multiple new functions to assist in creating custom objects
  • new Fortran 2003 interfaces
  • new linear solver interface functions
  • and much, much more!

Learn more:

New Repo: ExaConstit

October 11, 2019 (new-repo)

ExaConstit is a crystal plasticity finite-element methods code used to determine bulk constitutive properties of metals. It is a nonlinear, quasi-static, implicit solid mechanics code built on the MFEM library based on an updated Lagrangian formulation (velocity based). The code supports either constant time steps or user-supplied delta time steps. Boundary conditions are supplied for the velocity field applied on a surface. ExaConstit supports a number of different preconditioned Krylov iterative solvers (PCG, GMRES, MINRES) for either symmetric or nonsymmetric positive-definite systems.

New Repo: Graph-embed

October 04, 2019 (new-repo)

Graph-embed is a small library for multi-level graph partitioning and embedding. Graphs can be read in using linalgcpp. Examples are provided.

UnifyFS 0.9.0 Released

October 03, 2019 (release)

Unify is a suite of specialized, flexible file systems that can be included in a user’s job allocations. Formerly known as UnifyCR (for checkpoint/restart), UnifyFS supports scalable and efficient aggregation of I/O bandwidth from burst buffers while having the same life cycle as a batch-submitted job.

Learn more:

New Repo: Rescal-snow

October 03, 2019 (new-repo)

Rescal-snow is a model of dunes and snow waves. When wind blows over snow, it self-organizes. This forms surface features, such as ripples and dunes, that alter the reflectivity and thermal conductivity of the snow. Studying these features in the field is cold and challenging, so Rescal-snow was created to enable snow scientists to study snow features in controlled numerical experiments. This model is intended for researchers in snow science, geomorphology, and polar climate.

New Repo: Adiak

October 02, 2019 (new-repo)

Adiak is a library for collecting metadata from HPC application runs, and distributing that metadata to subscriber tools. Adiak has a tool interface, which allows tools to subscribe to this metadata. Example tools might include performance analysis tools, workflow tracking tools, or anything else that needs this metadata. Tools can iterate receive metadata name/values as they are provided by the application, or examine existing metadata values.

VisIt 3.0.2 Released

September 24, 2019 (release)

VisIt is an Open Source, interactive, scalable, visualization, animation and analysis tool. Among the enhancements included in v3.0.2 are:

  • Openssl added to the list of required libraries in build_visit
  • Added turbo color table
  • Host profiles added for the Oak Ridge National Laboratory’s Summit supercomputer
  • Binary distributions added for Ubuntu 16, Ubuntu 18, Debian 9, and Fedora 27
  • and much more!

Learn more:

New Repo: FPP

September 24, 2019 (new-repo)

FPP (Function Preserving Projection) is a linear projection technique for finding a 2D view that captures interpretable patterns of the given function in a high-dimensional domain. The function can be univariate or multivariate, continuous (regression), or discrete (classification).

SUNDIALS 5.0.0-dev.2 Released

September 18, 2019 (release)

SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. This release includes:

  • new optional operation to the SUNLINEARSOLVER API
  • performance improvements to the CUDA NVECTOR
  • two new Set functions to MRIStep
  • new SUNLinearSolver implementation
  • three new accessor functions to the SUNLinSol_KLU module

Learn more:

libCEED 0.5 Released

September 18, 2019 (release)

The Center for Efficient Exascale Discretizations (CEED) within the US Department of Energy’s ECP is helping applications leverage future architectures by developing state-of-the-art discretization algorithms that better exploit the hardware and deliver a significant performance gain over conventional methods. libCEED is a high-order API library that provides a common algebraic low-level operator description, allowing a wide variety of applications to take advantage of the efficient operator evaluation algorithms in the different CEED packages. libCEED is a C99 library with no external dependencies.

Learn more:

Charliecloud 0.11 Released

September 17, 2019 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. This simple approach avoids most security risks while maintaining access to the performance and functionality already on offer.

This release contains new features along with documentation and test suite improvements:

  • Charliecloud is now in Fedora and EPEL
  • ch-grow: support ARG instruction
  • ch-run: /etc/resolv.conf on the host is now optional

Learn more:

Umpire 1.1.0 Released

September 16, 2019 (release)

Umpire is a resource management library that allows the discovery, provision, and management of memory on next-generation architectures. v1.1.0 includes upgrades to detect version mismatches when linking multiple libraries, fixes to signature of C function, and updated pool algorithm.

Learn more:

New Repo: UEDGE

September 13, 2019 (new-repo)

UEDGE is an interactive suite of physics packages using the Python or BASIS scripting systems. The plasma is described by time-dependent 2D plasma fluid equations that include equations for density, velocity, ion temperature, electron temperature, electrostatic potential, and gas density in the edge region of a magnetic fusion energy confinement device. slab, cylindrical, and toroidal geometries are allowed, and closed and open magnetic field-line regions are included. Classical transport is assumed along magnetic field lines, and anomalous transport is assumed across field lines. Multi-charge state impurities can be included with the corresponding line-radiation energy loss.

New Repo: MI-ChemVis

September 01, 2019 (new-repo)

Domain-specific applications often require specially designed visualization systems. MI-ChemVis is a browser-based visualization of chemistry papers, specifically morphology, material, and chemical data extracted from them. The UI is made with nanomaterial synthesis papers in mind.

JuliaCon Recap and Videos

August 22, 2019 (event-report) (multimedia)

LLNL’s Seth Bromberger attended JuliaCon 2019 on July 22–25 in Baltimore, Maryland. He gave a talk on July 24 to a full house: “Using Julia in Secure Environments” (abstract, YouTube video). The focus of the presentation was engaging the community in thinking about transitive package dependencies and the security of the source code supply chain.

Other notable events at the conference included a keynote address by Steven Lee, applied mathematics program manager for Advanced Scientific Computing Research (ASCR) within the U.S. Department of Energy’s Office of Science. His presented his office’s computing priorities and mentioned related LLNL work (YouTube video). In addition, LLNL’s Jane Herriman received a Julia Community Prize for her “teaching, outreach, and community stewardship.”

Conferences such as JuliaCon provide LLNL’s open source software community with opportunities for networking, collaboration, and technical skills development. Lab employees interested in attending similar events may contact Ian Lee for funding.

CCT 1.0.5 Released

August 14, 2019 (release)

The Coda Calibration Tool (CCT) calculates reliable moment magnitudes for small- to moderate-sized seismic events. This release contains performance improvements and other updates, namely:

  • Added REST endpoint on the envelope service to request to just get stacked files back rather than envelopes
  • 10–30% performance improvements when making many (>10K) high sample rate (>100hz) envelopes at once

Learn more:

New Repo: ExaCMech

August 05, 2019 (new-repo)

ExaCMech is a GPU-friendly library of constitutive models. The models are based on standard continuum mechanics concepts. Crystal-mechanics-based and porosity-mechanics-based models are a principal focus. Models are meant for standard crystalline metallic materials deforming under quasi-static conditions. Constitutive model response is a main ingredient in the simulation of deformation of material, and the constitutive model has two main jobs: It provides the stress tensor that goes into the balance of linear momentum, and it updates the evolving state of the material. This state can be tracked by variables for the stress, dislocation density, orientation of crystal lattices, grain size, and so on. For context, the GitHub repository includes links to relevant journal articles that reference similar models and algorithms.

CHAI 1.2.0 Released

August 05, 2019 (release)

The CHAI library handles automatic data migration to different memory spaces behind an array-style interface. It was designed to work with RAJA and integrates with it. CHAI may be used with other C++ abstractions as well. v1.2.0 contains support for AMD devices using HIP as well as updates for the 1.0.0 release of Umpire.

Umpire 1.0.0 Released

August 03, 2019 (release)

Umpire is a resource management library that allows the discovery, provision, and management of memory on next-generation architectures. With v1.0.0, Umpire is MPI-aware, and AllocationStrategies may be wrapped with multiple extra layers. Additional changes include directing log and replay output to files, one per process.

Learn more:

New Repo: PySABER

August 02, 2019 (new-repo)

PySABER is a python package for characterizing the X-ray source and detector blur in cone-beam X-ray imaging systems. SABER is an abbreviation for Systems Approach to Blur Estimation and Reduction. Note that even parallel beam X-rays in synchrotrons are in fact cone beams albeit with a large source to object distance. X-ray images, also called radiographs, are simultaneously blurred by both the X-ray source spot blur and detector blur. This package uses a numerical optimization algorithm to disentangle and estimate both forms of blur simultaneously.

New Repo: HELICS-FMI

August 01, 2019 (new-repo)

Energy systems and their associated information and communication technology systems are becoming increasingly intertwined. As a result, effectively designing, analyzing, and implementing modern energy systems increasingly relies on advanced modeling that simultaneously captures both the cyber and physical domains in combined simulations. It is designed to increase scalability and portability in modeling advanced features of highly integrated power system and cyber-physical energy systems.

LLNL’s Hierarchical Engine for Large-scale Infrastructure Co-Simulation (HELICS) was originally developed for electric power systems use cases, and now it can be used for co-simulation in other domains. The HELICS library provides a general-purpose, modular, highly-scalable co-simulation framework that runs cross-platform. A new repository has been added to the HELICS suite, HELICS-FMI, which allows functional mockup units to interact with HELICS.

Software Portal Redesign and GitHub Integration

July 30, 2019 (this-website)

Recently this website received several changes that improve the user’s experience, keep the content fresh, and help the admin team monitor and track all repositories under the LLNL organization on GitHub. We are excited to improve user access to LLNL’s 500+ open source repositories and appreciate the help of our summer intern, Angela Flores, who is pursuing a B.S. in computer science with a minor in cybersecurity from Cal State Long Beach.

New website features include:

  • Home page leaderboard image
  • Dynamic catalog navigation by categories and their “overflow” pages (e.g., Applications)
  • Standardized use of topic tags on repos, which drive the categories
  • Embedded Twitter feed on the News and News Archive pages
  • Automatic twice-daily GitHub data update, which updates the repos listed under each category as well as the visualizations on the Visualize page
  • and much more!

*LLNL’s RADIUSS project—Rapid Application Development via an Institutional Universal Software Stack—aims to broaden usage across LLNL and the open source community of a set of libraries and tools used for HPC scientific application development.

RAJA 0.9.0 Released

July 25, 2019 (release)

RAJA is a software abstraction that systematically encapsulates platform-specific code to enable applications to be portable across diverse hardware architectures without major source code disruption. The v.0.9.0 release includes new features:

  • Change in atomic operations
  • Extension of the lambda statement interface in the RAJA kernel API
  • Support of tuple index values by minloc and maxloc reductions

Learn more:

New Repo: Bridge Kernel

July 25, 2019 (new-repo)

Bridge Kernel is a Jupyter kernel for connecting to backends that implement the bridge kernel (bk) protocol. The bk protocol is a small client-server protocol that emphasizes minimal dependencies, easier embedding with MPI, secure connections, secure authentication, and automatic tunneling.

New Repo: SPIFY

July 20, 2019 (new-repo)

SPIFY, which stands for Spify Parser of Input Files with YAML syntax, is a C++ library for parsing input files to be used in scientific computing applications. The library allows an application developer to define a full set of required and optional input variable of different types and handles all of the parsing and validation.

New Repo: GIDIplus

July 18, 2019 (new-repo)

GIDIplus provides C++ libraries for accessing nuclear data from the Generalized Nuclear Database Structure (GNDS).

CEED’s Impact on Exascale Computing Project Efforts Is Wide-Ranging

July 17, 2019 (release)

The Center for Efficient Exascale Discretizations (CEED) within the US Department of Energy’s ECP is helping applications leverage future architectures by developing state-of-the-art discretization algorithms that better exploit the hardware and deliver a significant performance gain over conventional methods. The focus is on high-order methods for high-fidelity and better machine utilization, with a range of orders providing flexibility in uncertain hardware and software environments.

The recent release of CEED v2.0 includes many open source projects such as 12 integrated Spack packages for libCEED, MFEM, Nek5000, NekCEM, Laghos, NekBone, HPGMG, OCCA, MAGMA, gslib, PETSc, and PUMI, plus an updated CEED “meta-package.”

Video: CASC Accelerates Scientific Discovery

July 17, 2019 (multimedia)

LLNL’s Center for Applied Scientific Computing (CASC) serves as a window to the broader computer science, computational physics, applied mathematics, and data science research communities. A new video showcasing CASC’s computational mathematics research debuted at the International Council for Industrial and Applied Mathematics (ICIAM) conference in July. Among the featured projects are open source repos MFEM, a library of scalable finite-element discretization and solver algorithms, and [XBraid] (https://github.com/XBraid/xbraid), a library of parallel-in-time solvers.

Charliecloud 0.10 Released

July 16, 2019 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources.

This release contains two important new features:

  • Completely unprivileged end-to-end workflow, with no root, no sudo, and no setuid/setcap helper programs
  • SquashFS wrapper scripts to facilitate a workflow based on SquashFS files rather than tarballs

Learn more:

VisIt 3.0.1 Released

July 15, 2019 (release)

VisIt is an Open Source, interactive, scalable, visualization, animation and analysis tool. Among the enhancements included in v3.0.1 are:

  • Rewrite of the Mili database reader
  • New database readers for ADIOS2 v2.4.0
  • Default color map settings
  • Enhanced default volume renderer
  • Ability for internallauncher to launch single-processor parallel engines

Learn more:

New Repo: CSLD

July 13, 2019 (new-repo)

Compressive Sensing Lattice Dynamics, or CSLD, provides a comprehensive package to study lattice dynamics from first-principles. The interatomic force constants were fitted using the compressive sensing algorithm. CSLD requires Python, C++, and Fortran 90 compilers for installation.

Why Do We Need Supercomputers and Who Is Using Them?

July 10, 2019 (story)

PC Magazine recently featured LLNL’s supercomputing facility to find out how the supercharged machines handle everything from virtual nuclear weapons tests to weather modeling. The article highlights examples of simulations performed on the Lab’s computers, such as a fusion energy research experiment generated by the MFEM-based BLAST shock hydrodynamics code and visualized with VisIt.

MacPatch 3.3.0.2 released

July 08, 2019 (release)

MacPatch – used at LLNL to manage 3,000+ computers – simplifies the act of patching and installing software on macOS-based systems. The client relies on using the built-in software update application for patching the macOS system updates and its own scan and patch engine for custom patches. v3.3.0.2 is a major release with a completely new UI and the backend updated to Python 3.

Learn more:

New Repo: Zero-Order Reaction Kinetics (Zero-RK)

July 01, 2019 (new-repo)

Zero-Order Reaction Kinetics, or Zero-RK is a software package that simulates chemically reacting systems in a computationally efficient manner. The fundamental advance embodied in Zero-RK is the numerical approach, which results in orders-of-magnitude reduction in simulation time while maintaining the accuracy of the results.

New Repo: H5Z-ZFP

June 28, 2019 (new-repo)

H5Z-ZFP is a highly flexible floating-point and integer compression plugin for the HDF5 library using ZFP compression. The plugin supports ZFP versions 0.5.0 through 0.5.5. It also supports all 4 modes of the ZFP compression library as well as 1D, 2D, and 3D datasets of single and double precision integer and floating-point data. Check out the GitHub repo and the v1.0.0 release.

umap 2.0.0 Released

June 26, 2019 (release)

Umap is a library that provides an mmap()-like interface to a simple, user- space page fault handler based on the userfaultfd Linux feature. The use case is to have an application specific buffer of pages cached from a large file (i.e. out-of-core execution using memory map). This release includes:

  • Performance improvements
  • Support for multiple umap regions
  • Support for page prefetch
  • Support for page read-ahead

Learn more:

Caliper 2.1.0 Released

June 25, 2019 (release)

Caliper is a program instrumentation and performance measurement framework. It is designed as a performance analysis toolbox in a library, allowing one to bake performance analysis capabilities directly into applications and activate them at runtime. This release includes several improvements and new features:

  • Simplified linking of all modules
  • ConfigManager for enabling configuration profiles
  • ChannelController for creating custom configuration profiles
  • RegionProfile for accessing timing information
  • cpuinfo service reports
  • Gotcha 1.0.2 bundled

Learn more:

SUNDIALS 5.0.0-dev.1 Released

June 24, 2019 (release)

SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. This version is a beta release of the next major SUNDIALS version and offers a preview of what is to come, including

  • new Fortran 2003 interface modules
  • new linear solver interface functions
  • a new N_Vector implementation, NVECTOR_MPIPLUSX
  • and much more!

Learn more:

Kripke 1.2.4 Released

June 18, 2019 (release)

Kripke is a simple, scalable, 3D Sn deterministic particle transport code. Its primary purpose is to research how data layout, programming paradigms and architectures effect the implementation and performance of Sn transport. A main goal of Kripke is investigating how different data-layouts effect instruction, thread and task level parallelism, and what the implications are on overall solver performance. v1.2.4 changes the software license to BSD 3-clause.

Learn more:

BLT 0.2.5 Released

June 14, 2019 (release)

BLT (Building, Linking, and Testing) is a streamlined CMake build system foundation for developing HPC software. BLT makes it easy to get up and running on a wide range of HPC compilers (e.g., gcc, clang), operating systems (e.g., Linux, Mac OS, Windows), and technologies (e.g., MPI, OpenMP, CUDA). BLT also includes unit testing and benchmarking.

LLNL initially released BLT in 2017, and now v0.2.0 and v0.2.5 are available.

Learn more:

Redesign of Cardioid's Heartbeat Simulation Brings Code One Step Closer to Clinical Use

June 12, 2019 (multimedia) (story)

LLNL researchers have successfully optimized a code that models the human heartbeat for next-generation, GPU-based supercomputers, with an eye on developing it for virtual drug screening and modeling heart activity in clinical settings. Cardioid, a suite merging mathematical solvers for electrophysiology, fiber-generation, cardiac mechanics, torso-electrocardiograms (ECGs) and cardiac meshing tools, simulates the electrical current running through the heart tissue, triggering cells to contract like cascading dominoes and causing the heart to beat. It was originally developed by LLNL and IBM for Sequoia, at one time the world’s fastest supercomputer, and was a finalist for the 2012 Gordon Bell Prize, supercomputing’s top honor.

Learn more:

Video: SCR Framework, Accelerating Resilience and I/O for Supercomputing Applications

June 07, 2019 (multimedia)

The SCR software framework provides efficient, scalable checkpoint/restart capability for simulation codes, ensuring faster time to solution and allowing scientists to focus on the science. SCR caches checkpoint data in storage on the compute nodes of a Linux cluster to provide a fast, scalable checkpoint restart capability for MPI codes.

In this video, LLNL’s Kathryn Mohror explains how SCR works. Physicist Denise Hinkel then discusses how SCR has impacted simulation capabilities at the National Ignition Facility.

Video: Spack, a Flexible Package Manager for HPC Software

June 06, 2019 (multimedia)

Spack is a flexible, configurable, Python-based, and open-source HPC package manager. Spack automates the installation and fine-tuning of simulations and libraries, operating on a wide variety of HPC platforms and enabling users to build many code configurations.

In this video, LLNL’s Todd Gamblin and Greg Becker describe how Spack works and how its open source community has grown. They are joined by Lori Diachin, deputy director for the U.S. Department of Energy’s Exascale Computing Project, or ECP, who explains Spack’s value to the ECP software stack.

Magpie 2.3 Released

June 01, 2019 (release)

Magpie contains a number of scripts for running big data software in HPC environments. It currently supports running over the parallel file system Lustre and running over any generic network filesystem. There is scheduler/resource manager support for Slurm, Moab, Torque, and LSF.

This release focuses on adding experimental support for Ray. Learn more:

MFEM 4.0 Released

May 24, 2019 (release)

Version 4.0 of MFEM, a lightweight, general, scalable C++ library for finite element methods, is now available.

The goal of MFEM is to enable high-performance scalable finite element discretization research and application development on a wide variety of platforms, ranging from laptops to exascale supercomputers.

For the first time ever, MFEM-4.0 adds support for GPU acceleration in the library:

  • Device kernels can be written in CUDA, OCCA, RAJA or OpenMP.
  • Several examples have been ported with minimal code changes.
  • Many linear algebra and finite element operations can use device acceleration by simply replacing loops with the MFEM_FORALL macro.
  • The library provides seamless device/host memory management.

Some other new additions in version 4.0 are:

  • Partially assembled finite element operators in the core library.
  • Support for wedge/prism elements and meshes with mixed element types.
  • General “low-order refined”-to-“high-order” field transfer.
  • Seven new examples and miniapps.

The MFEM library has many more features, including:

  • 2D and 3D, arbitrary order H1, H(curl), H(div), L2, NURBS elements.
  • Parallel version scalable to hundreds of thousands of MPI cores.
  • Conforming/nonconforming adaptive mesh refinement (AMR), including anisotropic refinement, derefinement and parallel load balancing.
  • Galerkin, mixed, isogeometric, discontinuous Galerkin, hybridized, and DPG discretizations.
  • Support for triangular, quadrilateral, tetrahedral and hexahedral elements, including arbitrary order curvilinear meshes.
  • Scalable algebraic multigrid, time integrators, and eigensolvers.
  • Lightweight interactive OpenGL visualization with the MFEM-based GLVis tool.

MFEM is being developed in CASC, LLNL and is freely available under LGPL 2.1.

For more details, see the interactive documentation and the full CHANGELOG.

ZFS on Linux 0.8.0 Released

May 23, 2019 (release)

ZFS on Linux (now OpenZFS) is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community. This repository contains the code for running OpenZFS on Linux and FreeBSD.

v0.8.0 includes many performance updates, new features, and improvements, such as:

  • Native encryption
  • Raw encrypted ‘zfs send/receive’
  • Pool TRIM and initialization
  • Project accounting and quota
  • Channel programs
  • Pyzfs and Python 3 compatibility

Learn more:

LBANN 0.99 Released

May 14, 2019 (release)

The Livermore Big Artificial Neural Network toolkit (LBANN) is an open-source, HPC-centric, deep learning training framework that is optimized to compose multiple levels of parallelism.

This release includes support for new training algorithms, performance optimizations, I/O and data readers, updates to the Python front-end, and much more.

Learn more:

Charliecloud 0.9.10 Released

May 14, 2019 (release)

LANL led with LLNL contributors, Charliecloud provides user-defined software stacks for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources.

This release includes:

  • New OpenMPI examples
  • Updated Travis CI tests
  • New interface for ch-build2dir

Learn more:

Video: LLNL at the 2019 Red Hat Summit

May 08, 2019 (event-report) (multimedia)

At the recent Red Hat Summit in Boston, LLNL’s Robin Goldstone discussed open-source technologies and the Sierra supercomputer. Goldstone, an HPC solutions architect, said “open source makes perfect sense” for scalability and performance in an HPC center like LLNL’s. She stated, “We have all that visibility and that software. If it doesn’t work for our needs, we can make it work for our needs. And then we can give it back to the community because even though people aren’t doing things at the scale that we are today, a lot of the things that we’re doing really do trickle down and be used by a lot of other people.” A transcript of her interview is included with the video, which runs 15:28.

CCT 1.0.4-M3 Released

May 07, 2019 (release)

The Coda Calibration Tool (CCT) calculates reliable moment magnitudes for small- to moderate-sized seismic events. This release contains many improvements and updates, including:

  • Overall optimization for the GUI and calibration modules (faster while using less memory)
  • Configurable group velocities used for selection criteria during calibration
  • Filter data from use in calibration
  • Auto (re)center of the map
  • Three new plots on the Mw tab
  • and much more!

Learn more:

LMT 3.2.6 Released

May 06, 2019 (release)

The Lustre Monitoring Tools (LMT) repo is a distributed system that provides a “top”-like display of the activity levels of the server-side (MDS, OSSes, and LNET routers) nodes of one or more Lustre-based filesystems. This release includes support for Lustre 2.12.0.

Learn more:

zfp 0.5.5 Released

May 05, 2019 (release)

zfp is a library for compressed numerical arrays that support high-throughput read and write random access. zfp also supports streaming compression of integer and floating-point data, e.g., for applications that read and write large data sets to and from disk. zfp is primarily written in C and C++ but also includes Python and Fortran bindings.

This release includes these additions to the code:

  • Support for reversible (lossless) compression of floating-point and integer data
  • Methods for serializing and deserializing zfp’s compressed arrays
  • Python bindings for compressing NumPy arrays
  • Fortran bindings to zfp’s high-level C API

Learn more:

How Machine Learning Could Change Science

May 03, 2019 (story)

Artificial intelligence tools are revolutionizing scientific research and changing the needs of high performance computing. In an article from Data Center Dynamics, LLNL’s Fred Streitz and Brian Van Essen discuss the future of scientific computing, highlighting the Exascale Computing Project (ECP) and the Livermore Big Artificial Neural Network (LBANN).

The ECP is a multi-institutional Department of Energy collaboration aimed at achieving exascale computing capability. Many open source software projects, from LLNL and elsewhere, are crucial components of the ECP ecosystem.

LBANN is an open source deep learning toolkit developed at the Lab. It provides model-parallel acceleration through domain decomposition to optimize for strong scaling of network training.

VisIt 3.0 Released

May 01, 2019 (release)

This is a huge release for LLNL’s VisIt visualization tool. The many new features include:

  • Support for outputting Cinema databases
  • Support for rendering 3D images using the OSPRay
  • Enhancements that leverage VTK-m for some operations
  • Custom animation behaviors in plots
  • Ability to build expressions with support for OpenMP, letting them parallelize over multiple threads

The release notes also detail changes in GUI behavior, file format reader, plots, operators, expression language, configuration, and more.

Learn more:

MSR-SAFE 1.3.0 Released

April 29, 2019 (release)

MSR-SAFE allows safer access to model-specific registers. v1.3.0 includes updates to the spank plugin, msrsave and msrrestore functions, and command line parameters. The release also adds an initial Travis CI yaml configuration file to test against multiple OS.

Learn more:

Magpie 2.2 Released

April 25, 2019 (release)

Magpie contains a number of scripts for running big data software in HPC environments. It currently supports running over the parallel file system Lustre and running over any generic network filesystem. There is scheduler/resource manager support for Slurm, Moab, Torque, and LSF.

This release includes:

  • New submission script type “sbatchmpirun”
  • Experimental support for Tensorflow
  • Support for additional versions of Spark and Hadoop

Learn more:

PnMPI 1.8.1 Released

April 24, 2019 (release)

PnMPI is a dynamic MPI tool infrastructure that builds on top of the standardized PMPI interface. With it you can run multiple PMPI tools concurrently, activate PMPI tools without relinking, multiplex toolsets during a single run, and write cooperative PMPI tools.

Learn more:

Opening Supercomputing to All Agencies

April 24, 2019 (story)

LLNL’s Ian Lee discusses the importance of open-source software and cloud computing for HPC centers and government agencies in this GCN.com article. He states, “We’ve been doing open source on big Unix systems for more than 20 years. Back then, if we produced open source software for our supercomputers, we were the only ones who could use that software. Now, the software can be ported out and mainstreamed, and it’s a lot easier to make use of supercomputing in other places.”

Spack Team Visits RIKEN

April 23, 2019 (event-report)

Spack’s first tutorial in Japan took place on April 23, 2019. With more than 40 participants, the onsite tutorial at RIKEN’s Kobe research center was the latest international event for the Spack team and collaborators. Read more about Spack’s European tour of HPC facilities. Everything you need to get started with Spack is available on the website.

MemSurfer 1.0 Released

April 17, 2019 (release)

This is MemSurfer’s initial release. MemSurfer is an efficient and versatile tool to compute and analyze membrane surfaces found in a wide variety of large-scale molecular simulations. MemSurfer works independent of the type of simulation, directly on the 3D point coordinates, and can handle a variety of membranes as well as atomic simulations. It provides many in-built analysis tasks, such as computing the membrane curvature, density and normals of lipids, and area per lipid.

Learn more:

Caliper Library Highlighted at 31st VI-HPS Tuning Workshop

April 15, 2019 (event-report)

The Virtual Institute – High Productivity Supercomputing (VI-HPS) conducts a long-running series of tuning workshops, where participants can learn about programming tools developed by the institute partners. Morning sessions consist of tool presentations and hands-on exercises. In the afternoon, users can apply the tools to their own codes with the help of the instructors. Whilst most of the workshops take place in Europe, the 31st tuning workshop was held at the University of Tennessee, Knoxville (UTK), on April 9–12, 2019.

As part of the workshop, LLNL computer scientist David Boehme conducted a 75-minute tutorial on Caliper, an open-source performance profiling library for HPC software. The session included hands-on exercises using the Lulesh proxy application as an example. There were around 15–20 participants, primarily HPC software developers from UTK and Oak Ridge National Laboratory, as well as the other HPC tool presenters. This tutorial marked the first time Caliper was presented within the VI-HPS tuning workshop series. Boehme’s tutorial was well received, and several participants were able to successfully apply Caliper to their programs.

The workshop also provided an opportunity to discuss common software infrastructure as well as integration and interoperability possibilities with other performance analysis tools. For example, the PAPI team plans to explore using Caliper’s data collection and processing functionality. Finally, as a VI-HPS member organization, LLNL’s participation in the tuning workshop series helped showcase the Lab’s strong portfolio of open-source programming tools among the VI-HPS partners and in the HPC community at large.

Learn more about Caliper:

Charliecloud 0.9.9 Released

April 13, 2019 (release)

Charliecloud provides user-defined software stacks (UDSS) for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources.

This release includes:

  • Docker environment variables available in images
  • Alpine example images upgraded to 3.9
  • Documentation improvements and more

Learn more:

CTR: An Introduction Using Recent Tech Refresh Experiences on VisIt

April 12, 2019 (story)

This LLNL-authored blog post describes the practice of continuous technology refreshment, or CTR – the periodic upgrade or replacement of infrastructure to deliver continued reliability, improved speed, capacity, and/or new features. Using the VisIt code’s recent migration to GitHub as an example, the post explains the development team’s process through wrangling binary content, revision control, issue tracking, documentation, and other refreshments.

Learn more:

RAJAPerf 0.5.1 Released

April 12, 2019 (release)

The RAJA performance suite (RAJAPerf) is designed to explore performance of loop-based computational kernels found in HPC applications. It is used to assess, monitor, and compare runtime performance of kernels implemented using RAJA and variants implemented using standard or vendor-supported parallel programming models directly.

v0.5.1 contains several documentation updates and changes to default CMake configuration so that RAJA tests and examples are not built unless explicitly turned on by passing the proper options to CMake.

Learn more:

Umpire 0.3.3 Released

April 11, 2019 (release)

Umpire is a resource management library that allows the discovery, provision, and management of memory on next-generation architectures.

v0.3.3 includes:

  • NUMA strategy that allows allocating memory to specific NUMA nodes
  • Updates to the replay tool
  • GitHub workflow to check for CHANGELOG updates
  • Dockerfile for multi-stage builds
  • and much more!

Learn more:

SCR 2.0 Released

March 29, 2019 (release)

The Scalable Checkpoint/Restart (SCR) library enables MPI applications to utilize distributed storage on Linux clusters to attain high file I/O bandwidth for checkpointing, restarting, and writing large datasets. The 2.0 release marks a milestone in SCR’s long history of bringing dependable, scalable, file set management to multiple HPC platforms.

Some highlights include:

  • Support for multiple platform specific hardware technologies, including Cray DataWarp
  • Portability across many HPC centers via scheduler integration
  • Scalable checkpoint resilience and restart capabilities

Learn more:

SUNDIALS 5.0.0-dev.0 Released

March 28, 2019 (release)

SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. In this release, an additional N_Vector implementation, NVECTOR_MANYVECTOR, was created to support flexible partitioning of solution data among different processing elements (e.g., CPU + GPU) or for multi-physics problems that couple distinct MPI-based simulations together. Eleven new optional vector operations have also been added to the N_Vector API to support the new NVECTOR_MANYVECTOR implementation.

Learn more:

RAJA 0.8.0 & RAJAPerf 0.5.0 Released

March 28, 2019 (release)

RAJA is a software abstraction that systematically encapsulates platform-specific code to enable applications to be portable across diverse hardware architectures without major source code disruption. The RAJA performance suite (RAJAPerf) is designed to explore performance of loop-based computational kernels of the sort found in HPC applications.

In RAJA v0.8.0, the build system was updated to use the latest version of BLT (or close to it). Depending on how one builds RAJA, this could require changes to how information is passed to CMake. The RAJAPerf 0.5.0 release contains several new kernels, plus substantial changes to many CUDA kernel variants to improve performance.

Learn more:

The Linux Foundation's Open Source Leadership Summit

March 15, 2019 (event-report)

The Linux Foundation’s Open Source Leadership Summit occurred in Half Moon Bay, California, on Thursday, March 14. LLNL’s Todd Gamblin presented “Open Source in the Exascale Computing Project: Building a Software Ecosystem for Science.” Check out the conference schedule.

This presentation covered the challenges of building software for machines that don’t exist yet, and how government laboratories, academia, and industry are collaborating to build a highly optimized software distribution. From deploying services like GitLab CI and JupyterHub in high-security HPC centers, challenges for architecture-specific containers, the use of Spack to package and distribute optimized binaries, and the social hurdles of scientists and developers working together, this talk summarized the open source challenges in DOE’s largest-ever HPC software project.

New Repo: FGPU

March 14, 2019 (new-repo)

FGPU is a collection of code examples focusing on porting FORTRAN codes to run on GPU architectures. The repo includes learning aids for developers and a regression test for compilers supporting OpenMP4.5, OpenACC, CUDA FORTRAN, and more. While FGPU’s examples have a heavy FORTRAN emphasis, some examples also include C++ usage. Check out the GitHub repo and LLNL project summary.

Charliecloud 0.9.8 Released

March 11, 2019 (release)

Charliecloud provides user-defined software stacks (UDSS) for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources.

This release includes:

  • New RPM spec file and supporting scripts
  • New example workflow using Buildah
  • ch-tar2dir: support tarball extension
  • Refactoring and more

Learn more:

CCT 1.0.4-M2.1 Released

March 06, 2019 (release)

The Coda Calibration Tool (CCT) calculates reliable moment magnitudes for small- to moderate-sized seismic events. After the January 25 release, you spoke and we listened! This is a minor bugfix and feature update release based on community feedback. Changes include:

  • Make optimization for Path correction significantly more aggressive
  • Reweight GT spectra with stress drop values defined to be 1.0 across all frequencies
  • Make noise floor display consistent across the board
  • Show ‘bad’ autopicks so humans get more feedback on what the autopicker is doing
  • Remove AP pick if a human moves them (consider as ‘reviewed’)

Learn more:

Caliper 2.0 Released

March 04, 2019 (release)

Caliper is a program instrumentation and performance measurement framework. It is designed as a performance analysis toolbox in a library, allowing one to bake performance analysis capabilities directly into applications and activate them at runtime. Caliper is primarily aimed at HPC applications but works for any C/C++/Fortran program on Unix/Linux.

Functionality in v2.0 includes the new Channel API, which allows multiple, independent measurement configurations to be active at the same time.

Learn more:

Magpie 2.1 Released

March 02, 2019 (release)

Magpie allows Hadoop and similar data analytics frameworks to run on LLNL’s HPC systems. Magpie instantiates the framework within the context of a batch job – rather than on a persistent, dedicated cluster – and by reading and writing from the Lustre parallel HPC file system instead of local disk drives.

v2.1 includes support for several versions of Hbase, Spark, Hadoop, and Zeppelin.

Learn more:

Conduit 0.4 Released

March 01, 2019 (release)

Conduit provides an intuitive model for describing hierarchical scientific data in C++, C, Fortran, and Python. It is used for data coupling between packages in-core, serialization, and I/O tasks. The Core API provides a flexible way to describe and access hierarchical data. v0.4 includes several new functions, new Blueprint protocols, and enhanced Relay support.

Learn more:

Umpire 0.3.2 Released

February 25, 2019 (release)

Umpire is a resource management library that allows the discovery, provision, and management of memory on next-generation architectures. (Please download the umpire-0.3.2.tar.gz file, rather than the automatically generated files. These do not include all the necessary submodule code.)

v0.3.1 includes:

  • Added a “cookbook” of examples on using Umpire in complex situations
  • Allow users to provide a heuristic to modify pool behavior, determining when unused blocks will be coalesced
  • Modify the CudaAdvice* operations to take a specific device id
  • Improve error message when running a CUDA-enabled version of Umpire on a machine without GPUs

v0.3.2 includes:

  • New functions to create Allocators to the C interface and ensure all C interface files are correctly installed
  • New tool to only replay AllocationMap operations

Learn more:

New Repo: UMAP

February 20, 2019 (new-repo)

UMAP is a library that provides an mmap()-like interface to a simple, user- space page fault handler based on the userfaultfd Linux feature (starting with 4.3 linux kernel). The use case is to have an application specific buffer of pages cached from a large file, i.e. out-of-core execution using memory map.

Learn more:

Inaugural NAHOMCon19 Coming to San Diego

February 14, 2019 (event)

To all computational scientists, mathematicians, scientists, and engineers interested in high-order methods and PDEs: Several institutions have joined together to organize the inaugural North American High Order Methods Conference (NAHOMCon19). The conference will be held in San Diego in the summer of 2019 and will focus on the many developments in high-order discretizations and applications taking place in North America.

The DOE co-design Center for Efficient Exascale Discretizations (CEED) is pleased to participate in the conference. CEED is a partnership between two U.S. DOE laboratories (Livermore & Argonne) and five universities in support of the Exascale Computing Project.

Learn more:

SUNDIALS 4.1.0 Released

February 13, 2019 (release)

In this release:

  • Added an additional N_Vector implementation for Tpetra vector from Trilinos library (user docs and examples are updated to reflect this)
  • Fixed a bug where a nonlinear solver object could be freed twice in some use cases
  • Fixed a bug in ARKodeButcherTable_Write when printing a Butcher table without an embedding
  • Removed EXAMPLES_ENABLE_RAJA CMake option

Important notes:

  • The implementation header files (e.g., arkode_impl.h) are no longer installed. Users who are directly manipulating package memory structures will need to update their code to use the package’s public API.
  • Python is no longer required to run make test and make test_install.

Learn more:

ESGF Conference Caps a Productive Year

February 12, 2019 (event-report)

Held in Washington, DC, the Earth System Grid Federation’s (ESGF) 8th annual face-to-face conference was a lively, fruitful affair. The event packed 40 presentations, several plenary sessions, a poster session, guest speakers, an awards ceremony, and an executive committee meeting into the week.

The federation houses an enormous database of global observational and simulation data—more than 5 petabytes—and manages the HPC hardware and software infrastructure necessary for scientific climate research. In the nearly two decades since its launch, ESGF has grown to serve 25,000 users on 6 continents.

Among ESGF’s 2018 milestones were support for CMIP6 data (thanks to input4MIPs and obs4MIPs initiatives), beta v3.0 of the software stack installer, OAuth single sign-on integration, and progress in containerized architecture. Read more about the conference and check out ESGF’s GitHub repo.

Charliecloud 0.9.7 Released

February 12, 2019 (release)

Charliecloud provides user-defined software stacks (UDSS) for HPC centers. It uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources.

This release includes:

  • Upgrade OpenMPI examples to 3.1.3
  • New example image build with skopeo and umoci
  • Re-mount images read-only reliably
  • Documentation improvements & miscellaneous bug fixes

Learn more:

LBANN 0.9 Released

February 11, 2019 (release)

The Livermore Big Artificial Neural Network toolkit (LBANN) is an open-source, HPC-centric, deep learning training framework that is optimized to compose multiple levels of parallelism.

v0.9 is LBANN’s initial release. The release notes linked below contain details about v0.9x iterations. Some deprecated features have been retired. At a high level, this release includes new development in these areas:

  • Support for new training algorithms (e.g., generative adversarial networks)
  • Support for new network structures
  • Support for new layers (e.g., learning, metrics, optimizers, activations)
  • Performance optimizations (e.g., GPU model-parallel softmax layer)
  • Model portability & usability
  • Support for an online, distributed data store
  • Overhauled I/O & data readers
  • Overhauled code base (see README_coding_style.txt)
  • New features & build system (e.g., support for convolutional and pooling layers, GPU acceleration of local Elemental GEMM operations)
  • and much more!

Learn more:

HiOp 0.2 Released

February 01, 2019 (release)

HiOp is an optimization solver for solving certain mathematical optimization problems expressed as nonlinear programming problems. This lightweight HPC solver leverages application’s existing data parallelism to parallelize the optimization iterations by using specialized linear algebra kernels.

HiOp’s initial release occurred in December 2017. This v0.2 includes:

  • Implementation of various strategies to deal with fixed variables
  • Comprehensive testing and bug fixing for MacOS
  • Minor fixes of bugs found on various HPC platforms
  • Minor interface and options refinement required by the integration with MFEM mesh optimization interface

Learn more:

Aluminum 0.2 Released

January 30, 2019 (release)

First released in September 2018, Aluminum provides a generic interface to high-performance communication libraries with a focus on allreduce algorithms. Blocking and non-blocking algorithms and GPU-aware algorithms are supported. Aluminum also contains custom implementations of select algorithms to optimize for certain situations.

Improvements included in this release:

  • Host-transfer implementations of standard collectives in the MPI-CUDA backend
  • Experimental RMA Put/Get operations
  • Improved algorithm specification, point-to-point operations, testing, and benchmarks

Learn more:

CCT 1.0.4 Released

January 25, 2019 (release)

The Coda Calibration Tool (CCT) calculates reliable moment magnitudes for small- to moderate-sized seismic events. The v1.0.4 release includes several performance and stability improvements along with a few new features:

  • Shared interaction between data plots and the map display
  • Data point selection highlights relevant elements on the map (events/stations) and vice-versa
  • Support for arbitrary user-defined lists of WMS 1.3.0-compliant map tile servers/layers for display on the map
  • Automatic display of context-sensitive information based on which tab the user is actively looking at

Learn more:

SUNDIALS 4.0.2 Released

January 23, 2019 (release)

This release is a patch with many changes, including (but not limited to):

  • unified linear solver interfaces in all SUNDIALS packages
  • encapsulated nonlinear solvers in all SUNDIALS integrators
  • reorganization of ARKode to allow for the development of new integration methods
  • new ARKode stepper for two-rate explicit/explicit multirate infinitesimal step methods
  • Fortran 2003 interfaces to CVODE and several SUNDIALS modules
  • an OpenMP 4.5+ NVECTOR

Learn more:

New Repo: VisIt

January 19, 2019 (new-repo)

VisIt (Visualization and Data Analysis for Mesh-based Scientific Data) is an interactive, parallel visualization and graphical analysis tool for viewing scientific data on Unix and PC platforms. While this repo has been around for a while enjoying a robust developer community, it is newly housed on GitHub. Stay up to date with the latest release notes.

With VisIt, users can quickly generate visualizations from their data, animate them through time, manipulate them, and save the resulting images for presentations.

VisIt contains a rich set of visualization features so that you can view your data in a variety of ways. It can be used to visualize scalar and vector fields defined on 2D and 3D structured and unstructured meshes. VisIt was designed to handle very large data set sizes in the peta-scale range, yet it can also handle small data sets in the kilobyte range.

Learn more:

RAJA 0.7.0 Released

January 10, 2019 (release)

RAJA is a software abstraction that systematically encapsulates platform-specific code to enable applications to be portable across diverse hardware architectures without major source code disruption. The v0.7.0 release contains several major changes, new features, a variety of bug fixes, and expanded user documentation and accompanying example codes. Major changes include:

  • RAJA::forallN and RAJA::forall methods were marked deprecated in the v0.6.0 release and have been removed.
  • CUDA execution policies for use in RAJA::kernel policies have been significantly reworked and redefined to be much more flexible and provide improved run time performance.
  • Improved support for loop tiling algorithms, CPU cache blocking, CUDA GPU thread local data, and shared memory
  • Expanded documentation and example codes for the RAJA::kernel interface

Learn more:

New Repo: MemSurfer

January 10, 2019 (new-repo)

MemSurfer computes bilayer membrane surfaces found in a wide variety of large-scale molecular simulations. The tool works independent of the type of simulation, directly on the 3D point coordinates; as a result, it can handle a variety of membranes as well as atomic simulations.

Core functionality is written in Python and C++. Check out the GitHub repo for more information.