Search NASA⌕ Search

SEARCH · Search NASA

Results for “interface algorithm”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 199 records · Page 11

Two-fluid physical modeling of superconducting resonators in the ARTEMIS framework

In this work, we implement a new London equation module for superconductivity in the GPU-enabled ARTEMIS framework, and couple it to a finite-difference time-domain solver for Maxwell's equations. We apply this two-fluid approach to model a superconducting coplanar waveguide (CPW) resonator. We validate our implementation by verifying that the theoretical skin depth and reflection coefficients can be obtained for several superconductive materials, with different London penetration depths, over a range of frequencies. Our convergence studies show that the algorithm is second-order accurate in both space and time, except at superconducting interfaces where the approach is spatially first-order. In our CPW simulations, we leverage the GPU scalability of our code to compare the two-fluid model to more traditional approaches that approximate superconducting behavior and demonstrate that superconducting physics can show comparable performance to the assumption of quasi-infinite conductivity as measured by the Q-factor.

75 CONDENSED MATTER PHYSICS, SUPERCONDUCTIVITY AND↗

Sensitive and error-tolerant annotation of protein-coding DNA with BATH

We present BATH, a tool for highly sensitive annotation of protein-coding DNA based on direct alignment of that DNA to a database of protein sequences or profile hidden Markov models (pHMMs). BATH is built on top of the HMMER3 code base, and simplifies the annotation workflow for pHMM-based translated sequence annotation by providing a straightforward input interface and easy-to-interpret output. BATH also introduces novel frameshift-aware algorithms to detect frameshift-inducing nucleotide insertions and deletions (indels). BATH matches the accuracy of HMMER3 for annotation of sequences containing no errors, and produces superior accuracy to all tested tools for annotation of sequences containing nucleotide indels. These results suggest that BATH should be used when high annotation sensitivity is required, particularly when frameshift errors are expected to interrupt protein-coding regions, as is true with long-read sequencing data and in the context of pseudogenes.

59 BASIC BIOLOGICAL SCIENCES↗

Performance Analysis of Speculative Parallel Adaptive Local Timestepping for Conservation Laws

Stable simulation of conservation laws, such as those used to model fluid dynamics and plasma physics applications, requires the satisfaction of the so-called Courant-Friedrichs-Lewy condition. By allowing regions of the mesh to advance with different timesteps that locally satisfy this stability constraint, significant work reduction can be attained when compared to a time integration scheme using a single timestep size. However, parallelizing this algorithm presents considerable difficulty. Since the stability condition depends on the state of the system, dependencies become dynamic and potentially non-local. In this article, we present an adaptive local timestepping algorithm using an optimistic (Timewarp-based) parallel discrete event simulation. We introduce waiting heuristics to limit misspeculation and a semi-static load balancing scheme to eliminate load imbalance as parts of the mesh require finer or coarser timesteps. Last, we outline an interface for separating the physics of the specific conservation law from the temporal integration allowing for productive adoption of our proposed algorithm. We present a misspeculation study for three conservation laws, demonstrating both the productivity of the local timestepping API, for which 74% of the lines of code are reused across different conservation laws, and the robustness of the waiting heuristics—at most 1.5% of element updates are rolled back. Our performance studies demonstrate up to a 2.8× speedup versus a baseline unoptimized local timestepping approach, a 4x improvement in per-node throughput compared to an MPI parallelization of synchronous timestepping, and scalability up to 3,072 cores on NERSC’s Cori Haswell partition.

97 MATHEMATICS AND COMPUTING↗

Practical jet flavour through NNLO

Abstract An infrared and collinear (IRC) safe definition of the partonic flavour of a jet is vital for precision predictions of quantum chromodynamics at colliders. Jet flavour definitions have been presented in the literature, but they are typically defined through modification of the jet algorithm to be sensitive to partonic flavour at every stage of the clustering. While this does ensure that the sum of flavours in a jet is IRC safe, a flavour-sensitive clustering procedure is difficult to apply to realistic data. We introduce a distinct and novel approach to jet flavour that can be applied to a collection of partons defined by any algorithm. Our definition of jet flavour is the sum of flavours of all partons that remain after Soft Drop grooming, reclustered with the "Image missing" <#comment/> algorithm. We prove that this prescription is IRC safe through next-to-next-to-leading order (NNLO), and so can interface with the most precise fixed-order calculations for jets available at present. We validate the IRC safety of this definition with numeric fixed-order codes and further show that jet flavour with Soft Drop reclustered with a generalised $$k_T$$ k T algorithm fails to be IRC safe at NNLO.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

RANGE: A robust adaptive nature-inspired global explorer of potential energy surfaces

With the growing demand for realistic representations of chemical structures and the advent of exascale computing, the intelligent sampling of potential energy surfaces and efficient identification of global minima have become more essential but also more feasible. Building on prior studies demonstrating the efficiency of the Artificial Bee Colony (ABC) swarm intelligence algorithm, we report a hybrid metaheuristic framework that integrates the adaptive exploration capabilities of ABC coupled with the exploitation strengths of genetic algorithms (GA) in a scalable, Python-based implementation. The resulting tool, RANGE (Robust Adaptive Nature-inspired Global Explorer), provides seamless interfaces to multiple potential energy evaluators, either directly or via widely used Python libraries, and is designed for high-performance computing environments. We describe the implementation details of RANGE and evaluate its performance, relative to ABC- or GA-alone based algorithms, on a variety of chemical systems, including molecular clusters and heterogeneous surfaces. In conclusion, our results demonstrate RANGE’s efficiency, robustness, and broad applicability in addressing challenging global optimization problems in computational chemistry and materials science.

Algorithms and data structure↗

Evaluating Connected and Automated Vehicles in Co-Simulation Environment of Traffic Microsimulation and Vehicle Dynamics

Connected and automated vehicles (CAVs) have the potential to improve many aspects of the current transportation systems such as safety, mobility, and energy efficiency. In order to evaluate the benefits and impacts of a CAV, the CAV control algorithm is typically implemented on vehicles simulated in a traffic microsimulation environment. However, traffic microsimulation usually lacks detailed vehicle and powertrain dynamics, making it challenging to fully understand how a CAV control algorithm will perform and respond on an actual vehicle. Whether the same benefits measured in the simulation will also be observed in real-world remains an open question. One potential approach to fill in this gap is to conduct a co-simulation of traffic microsimulation with detailed vehicle and powertrain dynamics models, often developed in MATLAB Simulink. However, current microsimulation tools such as VISSIM and SUMO do not have a ready-to-use interface for co-simulation with vehicle dynamics and Simulink. Also, even if such an interface exists, it will be tool-specific, making it challenging to shift from one tool to another or test CAV controls in different tools. There are needs for tool-agnostic co-simulation as different microsimulation tools have their pros and cons, and researchers often need to use different tools based on the purposes of the simulation, project needs, and applications. In this work, Flexible Interface for X-in-the-loop Simulation (FIXS) is developed that can support the co-simulation of microsimulation, CAV control algorithm, and vehicle dynamics model in Simulink. Enabled by the FIXS, the benefit and performance of a CAV control algorithm can be better understood with the consideration of vehicle responses and dynamics. The connection to VISSIM and SUMO is handled internally by the interface, and users can easily switch tools by changing a configuration file. The co-simulation capability is demonstrated for a VISSIM eco-approach and departure CAV scenario and a SUMO cooperative merging scenario for both a passenger CAV and a class 8 heavy-duty connected and automated trucks.

Shao, Yunli↗

ArborX 2.0

ArborX library tackles a problem of efficiently finding geometric objects that are close in space. Variations of this problem, such as finding the nearest neighbors of a point, or finding all objects within a certain distance, are inherent components of applications in many fields. The data may be large so that solving the problem efficiently may require significant computational resources, such as multiple processors or accelerators such as general purpose GPUs. ArborX' main advantage in its ability to solve large problems efficiently utilizing a combination of distributed and on-node parallelism. ArborX can be run efficiently on a wide variety of hardware, including GPUs from different vendors, which distinguishes it from other available libraries which typically choose only few of these. The other advantage is that it supports both types of user problems: spatial problems (useful for intersections and finding objects within certain distance), and nearest neighbor problems. ArborX also supports flexible interface in its interaction with a user. Particularly, it allows a user to call user's own function on a positive match, a functionality not rarely available in other libraries. ArborX implements construction and traversal algorithms using efficient tree structures, such as bounding volume hierarchy (BVH). At its core, ArborX uses linear BVH for its low construction cost and sufficient quality. ArborX implements both spatial and nearest-neighbor traversal algorithms. ArborX also provides several clustering algorithms (minimum spanning tree, DBSCAN, HDBSCAN*), interpolation using minimum least squares and ray tracing. ArborX is written using C++, and is parallelized using the message passing interface (MPI) for the distributed communication, and the Kokkos library for on-node parallelism. This approach allows ArborX to be run on a wide variety of hardware, from common laptops and desktops to supercomputers while using the same codebase.

Prokopenko, Andrey [Oak Ridge National Laboratory ↗

Integrating Intelligent Hydro-informatics into an effective Early Warning System for risk-informed urban flood management

The urban drainage system constantly facing flooding issues in coastal and urban areas. Robust and accurate urban flood management, particularly considering fast-moving compound floods, is crucial to minimize the impact of flood disasters in coastal cities. Till now, Ho Chi Minh City (HCMC) lacks an effective means of urban flood management because of flood risk communication among residents. Existing flood risk communication tools rely on post-disaster flood model outcomes and data. Therefore, this research proposes a real-time Early Urban Flooding Warning System (EUFWS) integrated with a user-friendly web and app interface. The backbone of this system consists of flood models developed using machine learning (ML) algorithms, combined with big data and Web-GIS visualization, with ML serving as the core for constructing the EUFWS. EUFWS offer several key advantages: they are available at all times, accessible from anywhere, and provide a real-time, multi-user working platform. Additionally, the system is flexible, allowing for the easy addition of components and services and scalable, adjusting to workload demands. EUFWS have been successfully deployed in Thu Duc City, Vietnam, as a case study and are operating effectively. EUFWS have been successfully deployed in Thu Duc City, Vietnam, as a case study and are operating effectively. Research results indicate that EUFWS supported decision-makers to be effectively risk informed and make intelligent decisions during urban flood emergencies. Finally, this underscores the significant potential of integrating ML and information technology to enhance the management of smart urban drainage systems in flood-prone cities worldwide.

54 ENVIRONMENTAL SCIENCES↗

Enabling machine learning-ready HPC ensembles with Merlin

With the growing complexity of computational and experimental facilities, many scientific researchers are turning to machine learning (ML) techniques to analyze large scale ensemble data. With complexities such as multi-component workflows, heterogeneous machine architectures, parallel file systems, and batch scheduling, care must be taken to facilitate this analysis in a high performance computing (HPC) environment. Here, we present Merlin, a workflow framework to enable large ML-friendly ensembles of scientific HPC simulations. By augmenting traditional HPC with distributed compute technologies, Merlin aims to lower the barrier for scientific subject matter experts to incorporate ML into their analysis. As a producer–consumer workflow model, Merlin enables multi-machine, cross-batch job, dynamically allocated yet persistent workflows capable of utilizing surge-compute resources. Key features of Merlin are a flexible HPC-centric interface, low per-task overhead, multi-tiered fault recovery, and a hierarchical sampling algorithm that allows for $\mathscr{O}$(N) task execution and $\mathscr{O}$(N ln N) task queuing to ensembles of millions of tasks. In addition to Merlin’s design, we test the algorithm’s performance in an HPC center and demonstrate the ability to enqueue 40 million simulations in 100 s, with a 30 millisecond per-task overhead that is independent of ensemble size. Finally, we describe some example applications that Merlin has enabled on leadership-class HPC resources, such as the ML-augmented optimization of nuclear fusion experiments and the calibration of infectious disease models to study the progression of and possible mitigation strategies for COVID-19.

97 MATHEMATICS AND COMPUTING↗

Resilient Control of Networked Microgrids Using Vertical Federated Reinforcement Learning: Designs and Real-Time Test-Bed Validations

Improving system-level resiliency of networked microgrids against adversarial cyber-attacks is an important aspect in the current regime of increased inverter-based resources (IBRs). To achieve that, this paper contributes in designing a hierarchical control layer, in conjunction with the existing control layers, resilient to adversarial attack signals. Considering model complexities, unknown dynamical behaviors of IBRs, and privacy issues regarding data sharing in multi-party-owned microgrids, designing such a control layer is non-trivial. Here, to tackle these issues, a novel federated reinforcement learning (Fed-RL) method is proposed. To grasp the interconnected dynamics of networked microgrids, the paper develops Federated Soft Actor-Critic (FedSAC) algorithm following the vertical structure of implementing Fed-RL. Next, utilizing the OpenAI Gym interface, we built a custom set-up in GridLAB-D/HELICS co-simulation platform, named Resilient RL Co-simulation (ResRLCoSIM), to train the RL agents with IEEE 123-bus benchmark comprising 3 interconnected microgrids. Finally, the learned policies in the simulation are transferred to the real-time hardware-in-the-loop (HIL) test-bed developed using the high-fidelity Hypersim platform. Finally, experiments show that the simulator-trained RL controllers achieve desirable performance with the test-bed platform, validating the minimization of the sim-to-real gap.

24 POWER TRANSMISSION AND DISTRIBUTION↗

A proximity‐based image‐processing algorithm for colloid assignment in segmented multiphase flow datasets

Summary Colloidal transport and deposition are of both environmental and engineering importance. Easier access to x‐ray microtomography (XMT) coupled with improved imaging resolution has made XMT a unique and viable tool for visualizing and quantifying these processes. Currently, there is scant information in the literature addressing colloid segmentation and analysis in saturated and unsaturated porous media, in particular related to spatial partitioning of colloids. To support this need, an approach to assign segmented colloidal particles and aggregates to different partitioning classes based on their proximity to different phases is presented here. The method uses different markers for each attachment site (e.g. wetting‐nonwetting phase interfaces). An example XMT dataset from a drainage experiment is used to demonstrate the efficacy of the image processing algorithms. Flow conditions, and fluid and colloid properties, can thus be compared to the behaviour of colloids within the porous medium. This algorithm can help elucidate colloidal deposition mechanisms and the importance of different attachment sites, explore the importance of fluid properties, as well as the arrangement and shape of the colloids.

BRUECK, C. L.↗

ArborX: A Performance Portable Geometric Search Library

Searching for geometric objects that are close in space is a fundamental component of many applications. The performance of search algorithms comes to the forefront as the size of a problem increases both in terms of total object count as well as in the total number of search queries performed. Scientific applications requiring modern leadership-class supercomputers also pose an additional requirement of performance portability, i.e., being able to efficiently utilize a variety of hardware architectures. In this article, we introduce a new open-source C++ search library, ArborX, which we have designed for modern supercomputing architectures. Herein, we examine scalable search algorithms with a focus on performance, including a highly efficient parallel bounding volume hierarchy implementation, and propose a flexible interface making it easy to integrate with existing applications. We demonstrate the performance portability of ArborX on multi-core CPUs and GPUs and compare it to the state-of-the-art libraries such as Boost.Geometry.Index and nanoflann.

97 MATHEMATICS AND COMPUTING↗

Primal interface debonding formulation for finite strain isotropic plasticity

In this work, a framework is developed for modeling ductile damage of nonlinear materials whose plastic deformation is characterized using rate independent classical plasticity. This method relies on the assumption that the free energy can be decomposed into elastic, plastic and damage parts. A thermodynamically consistent method is derived which satisfies the second law of thermodynamics in the Clausius–Duhem inequality form. The dissipation associated with plasticity takes place in the domain only, while damage dissipation is localized to the interface. The method is developed using Variational Multiscale ideas to obtain definitions of the interface fluxes within a primal formulation analogous to the Discontinuous Galerkin method, which ensures weakly vanishing interface gap prior to reaching a damage initiation criterion. The local nonlinear problem to calculate both plastic deformation gradient and damage variable follows an incremental approach similar to classical plasticity return mapping algorithm. This elastoplastic damage formulation is developed for material undergoing finite strain, and it naturally accommodates a trapezoidal traction separation law (TSL) whose shape can be varied to model either ductile interface behavior or brittle interface behavior. The formulation's performance is assessed through modeling a patch test and a compact tension specimen.

42 ENGINEERING↗

R and DE Robotic Sensor Intern Team: Advanced Sensor Suite Prototype

The Department of Energy (DOE) nuclear complex includes many hazardous and challenging environments that must be inspected remotely and routinely for structural integrity evaluation and long-term planning purposes. The H-Canyon Air Exhaust (HCAEX) Tunnel is an example of such an environment where a biannual inspection is currently performed. Presently inspections are performed by teleoperated robotic crawlers which provide low-res video feedback to the structural engineers. Advanced sensors: including Lidar and panospheric hi-res cameras have the potential to provide additional valuable data in future inspections. The primary goal of the sensor suite is to provide an internal 3D map of the HCAEX tunnel. Possible sensors were a stereo camera, a 3D Lidar, or a 2D Lidar that would need to be spun around. The issues with the stereo camera were that it does not have a large field-of-view and that its depth information was not nearly as accurate as even the baseline Lidars. The Hokuyo UTM-30LX-EW shown below provides a 270 deg. FOV with high accuracy and resolution while the largest FOV on a 3D Lidar is 40 deg. This was the reason a 2D Lidar was chosen over the 3D Lidar. Even though the 2D Lidar requires additional components and software to generate a 3D map, its FOV advantage is too great given that the HCAEX tunnel is a relatively confined space. Along with the Lidar, a camera sensor, IMU sensor, pan-tit unit, and on board computer needed to be identified. The two panospheric cameras allow for full 360 deg. FOV. The IMU will give data on the state of the robot inside the tunnel. The computer is used to gather and process data on board and to control the pan-tilt system. Mounts were designed and 3D printed to build the prototype of the sensor suite. It was designed to have the Lidar on top With its full FOV free while having the camera below and as close to together as possible while still leaving much of their FOV visible. The design also managed the cables such that they were unlikely to be damaged if in tension and so that they did not intrude much on the cameras vision. The sensor tree developed for the H-Canyon tunnel inspection project produces a large quantity of camera and Lidar data. a postprocessing pipeline was created to facilitate the analysis of these data. The pipeline follows the following routine: 1) Registration - Salient local features in subsequent scans are identified and used to align the scans With one another. This allows production of a single cohesive map of the tunnel. 2) Sensor Fusion - RGB camera data is 'painted' onto the depth data created by the Lidar. 3) Segmentation - Individual surfaces from within the scene are segmented out separately for individual analysis. 4) Degradation Analysis - Automatic mapping of local deviation from the plane in position or surface normal is performed, as is detection of exposed rebar using Lidar return intensity. 2) Obstacle Detection - Lidar data is also used in real time to detect obstacles in the environment. This could give feedback to the operator to successfully drive in the tunnel. 6) Graphic User Interface - a custom GUI was created to facilitate customer use of the system. The system provides real-time feedback from both the cameras and Lidar. The Lidar point-cloud data is also used for obstacle detection. As the Lidar spins, various algorithms are run to analyze the current 'slice' and obstacles in the environment are determined and registered on a cost-map. A Graphical User Interface (GUI) was developed to allow the user to easily command the crawler to set the rotational speed of the Lidar, perform a scan, and register and save the 3D generated cloud after a scan is done. For the good of the crawler, a critical aspect of the GUI design is to allow the user to cancel a scan any time after it is commanded and before it is saved. The sensor trees depth accuracy was evaluated in comparison to a high end commercial FARO Terrestrial Laser Scanner (TLS) with specifications for millimeter accuracy at distances above 10 m. For the purposes of these tests, the depth measurements produced by the TLS were taken as ground truth. Example test wall panels were scanned with the TLS and postprocessed with its proprietary software, and subsequently scanned with the sensor tree system. The two scans were manually aligned and for each point in the output cloud from the sensor tree, the distance to the nearest ground truth point in the FARO cloud was determined. 98.7% of all produced points were within the specified target range of 6 mm, with an average deviation of 1.75 mm. The test walls used have an overall in-wall depth variation of around 40 mm.

12 MANAGEMENT OF RADIOACTIVE AND NON-RADIOACTIVE W↗

VTK-m User's' Guide (V.1.7)

High-performance computing relies on ever finer threading. Advances in processor technology include ever greater numbers of cores, hyperthreading, accelerators with integrated blocks of cores, and special vectorized instructions, all of which require more software parallelism to achieve peak performance. Traditional visualization solutions cannot support this extreme level of concurrency. Extreme scale systems require a new programming model and a fundamental change in how we design algorithms. To address these issues we created VTK-m: the visualization toolkit for multi-/many-core architectures. VTK-m supports a number of algorithms and the ability to design further algorithms through a top-down design with an emphasis on extreme parallelism. VTK-m also provides support for finding and building links across topologies, making it possible to perform operations that determine manifold surfaces, interpolate generated values, and find adjacencies. Although VTK-m provides a simplified high-level interface for programming, its template-based code removes the overhead of abstraction. VTK-m simplifies the development of parallel scientific visualization algorithms by providing a framework of supporting functionality that allows developers to focus on visualization operations. Consider the listings in Figure 1.1 that compares the size of the implementation for the Marching Cubes algorithm in VTK-m with the equivalent reference implementation in the CUDA software development kit. Because VTK-m internally manages the parallel distribution of work and data, the VTK-m implementation is shorter and easier to maintain. Additionally, VTK-m provides data abstractions not provided by other libraries that make code written in VTK-m more versatile.This book includes contributions from the VTK-m community including the VTK-m development team and the user community.

97 MATHEMATICS AND COMPUTING↗

VTK-m User's Guide (V.1.8)

Extreme scale systems require a new programming model and a fundamental change in how we design algorithms. To address these issues we created VTK-m: the visualization toolkit for multi-/many-core architectures. VTK-m supports a number of algorithms and the ability to design further algorithms through a top-down design with an emphasis on extreme parallelism. VTK-m also provides support for finding and building links across topologies, making it possible to perform operations that determine manifold surfaces, interpolate generated values, and find adjacencies. Although VTK-m provides a simplified high-level interface for programming, its template-based code removes the overhead of abstraction. VTK-m simplifies the development of parallel scientific visualization algorithms by providing a framework of supporting functionality that allows developers to focus on visualization operations. Additionally, VTK-m provides data abstractions not provided by other libraries that make code written in VTK-m more versatile.

97 MATHEMATICS AND COMPUTING↗

The VTK-m Users' Guide (V.1.9)

High-performance computing relies on ever finer threading. Advances in processor technology include ever greater numbers of cores, hyperthreading, accelerators with integrated blocks of cores, and special vectorized instructions, all of which require more software parallelism to achieve peak performance. Traditional visualization solutions cannot support this extreme level of concurrency. Extreme scale systems require a new programming model and a fundamental change in how we design algorithms. To address these issues we created VTK-m: the visualization toolkit for multi-/many-core architectures. VTK-m supports a number of algorithms and the ability to design further algorithms through a top-down design with an emphasis on extreme parallelism. VTK-m also provides support for finding and building links across topologies, making it possible to perform operations that determine manifold surfaces, interpolate generated values, and find adjacencies. Although VTK-m provides a simplified high-level interface for programming, its template-based code removes the overhead of abstraction. VTK-m simplifies the development of parallel scientific visualization algorithms by providing a framework of supporting functionality that allows developers to focus on visualization operations. Consider the listings in Figure 1.1 that compares the size of the implementation for the Marching Cubes algorithm in VTK-m with the equivalent reference implementation in the CUDA software development kit. Because VTK-m internally manages the parallel distribution of work and data, the VTK-m implementation is shorter and easier to maintain. Additionally, VTK-m provides data abstractions not provided by other libraries that make code written in VTK-m more versatile.

97 MATHEMATICS AND COMPUTING↗

The VTK-m Users' Guide (V.2.0)

High-performance computing relies on ever finer threading. Advances in processor technology include ever greater numbers of cores, hyperthreading, accelerators with integrated blocks of cores, and special vectorized instructions, all of which require more software parallelism to achieve peak performance. Traditional visualization solutions cannot support this extreme level of concurrency. Extreme scale systems require a new programming model and a fundamental change in how we design algorithms. To address these issues we created VTK-m: the visualization toolkit for multi-/many-core architectures. VTK-m supports a number of algorithms and the ability to design further algorithms through a top-down design with an emphasis on extreme parallelism. VTK-m also provides support for finding and building links across topologies, making it possible to perform operations that determine manifold surfaces, interpolate generated values, and find adjacencies. Although VTK-m provides a simplified high-level interface for programming, its template-based code removes the overhead of abstraction. VTK-m simplifies the development of parallel scientific visualization algorithms by providing a framework of supporting functionality that allows developers to focus on visualization operations. Consider the listings in Figure 1.1 that compares the size of the implementation for the Marching Cubes algorithm in VTK-m with the equivalent reference implementation in the CUDA software development kit. Because VTK-m internally manages the parallel distribution of work and data, the VTK-m implementation is shorter and easier to maintain. Additionally, VTK-m provides data abstractions not provided by other libraries that make code written in VTK-m more versatile.

97 MATHEMATICS AND COMPUTING↗