Engineering PapersSearch

SEARCH · Engineering Papers

Results for “multi-threaded”

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.

T RI M E ++: Multi-threaded triangular meshing in two dimensions

We present T RI M E ++, a multi-threaded software library designed for generating two-dimensional meshes for intricate geometric shapes using the Delaunay triangulation. Multi-threaded parallel computing is implemented throughout the meshing procedure, making it suitable for fast generation of large-scale meshes. Three iterative meshing algorithms are implemented: the DistMesh algorithm, the centroidal Voronoi diagram meshing, and a hybrid of the two. We compare the performance of the three meshing methods in T RI M E ++, and show that the hybrid method retains the advantages of the other two. The software library achieves significant parallel speedup when generating large-scale meshes containing between 10 4 to 10 7 points. T RI M E ++ can handle complicated geometries and generates adaptive meshes of high quality.

97 MATHEMATICS AND COMPUTING

SPARTA: High-Level Synthesis of Parallel Multi-Threaded Accelerators

This article presents a methodology for the Synthesis of PARallel multi-Threaded Accelerators (SPARTA) from OpenMP annotated C/C++ specifications. SPARTA extends an open-source HLS tool, enabling the generation of accelerators that provide latency tolerance for irregular memory accesses through multithreading, support fine-grained memory-level parallelism through a hot-potato deflection-based network-on-chip (NoC), support synchronization constructs, and can instantiate memory-side caches. Our approach is based on a custom runtime OpenMP library, providing flexibility and extensibility. Experimental results show high scalability when synthesizing irregular graph kernels. The accelerators generated with our approach are, on average, 2.29x faster than state-of-the-art HLS methodologies.

Design automation

Distributed Order Recording Techniques for Efficient Record-and-Replay of Multi-threaded Programs

After all these years and all these other shared memory programming frameworks, OpenMP is still the most popular one. However, its greater levels of non-deterministic execution makes debugging and testing more challenging. The ability to record and deterministically replay the program execution is key to address this challenge. However, scalably replaying OpenMP programs is still an unresolved problem. In this paper, we propose two novel techniques that use Distributed Clock (DC) and Distributed Epoch (DE) recording schemes to eliminate excessive thread synchronization for OpenMP record and replay. Our evaluation on representative HPC applications with ReOMP, which we used to realize DC and DE recording, shows that our approach is 2-5x more efficient than traditional approaches that synchronize on every shared-memory access. Furthermore, we demonstrate that our approach can be easily combined with MPI-level replay tools to replay non-trivial MPI+OpenMP applications. We achieve this by integrating ReOMP into ReMPI, an existing scalable MPI record-and-replay tool, with only a small MPI-scale-independent runtime overhead.

Fu, Xiang

Parallelized real-time physics codes for plasma control on DIII-D

A real-time safe multi-threading library was developed on the DIII-D plasma control system to optimize the real-time TORBEAM and real-time STRIDE physics codes. These physics codes are crucial for future fusion power plant operation as they provide information about electron cyclotron wave propagation and heating as well as inform about ideal plasma stability limits. The real-time TORBEAM code executed consistently in under 20 ms while the real-time STRIDE code computes in 100 ms. The multi-threading library developed in this work can be applied to other real-time physics-based codes that will be crucial for the next generation of fusion devices.

DIII-D

Multithreaded copy ('cp')

This is a modification to 'cp' and 'mv' commands to make them multi-threaded. Simple benchmarks showed that multi-threading could reduce the time to copy a large Linux source directory by over 2x. The 'cp' and 'mv' utilities are part of the existing Coreutils (https://www.gnu.org/software/coreutils/) software package that get installed on all Linux distros. Changes: * Add '-j|--parallel ' flags to 'cp' and 'mv'. This allows the utilities to recursively copy regular files in directories in parallel. This does NOT parallelize multiple single file copies to a destination (like 'cp file2 file2 file3 dst/'). Along with this, add in new 'CP_NUM_THREADS' and 'MV_NUM_THREADS' environment variables to set the number of threads. This can be useful when you want to enable parallelism by default in /etc/profile. The maximum number of threads is internally capped to the number of CPUs. * Add a '-j' flag to 'sort' to complement its existing '--parallel' flag. This is only done for consistency with 'cp' and 'mv'. * Add test cases for the new flags. Also, run each 'cp' and 'mv' test both in single-threaded and multithreaded modes for extra coverage.

Hutter, AnthonyJ [Lawrence Livermore National Labo

Computing material volume fractions on a superimposed mesh as applied to Monte Carlo particle transport simulations

Here, we present a newly implemented ray tracing algorithm in OpenMC for efficiently computing material volume fractions on superimposed meshes in complex geometries. By firing rays along each coordinate direction through the geometry, the approach accumulates track-length data in each mesh element, thereby determining the fractional composition of each material. Scaling studies on three different models—a random tetrahedra configuration, the Frascati Neutron Generator ITER dose rate benchmark, and a stellarator design—show excellent parallel performance, with nearly linear speedup on modern multi-threaded and distributed-memory systems. An analysis of the residual error relative to high-resolution reference solutions demonstrated that under optimal conditions it decreases as 1/R, where R is the number of rays fired, making it straightforward to achieve user-prescribed accuracy. This new functionality enables practical, mesh-based approaches for detailed nuclear analyses in production Monte Carlo workflows without resorting to expensive, fully conformal or unstructured meshing.

Monte Carlo

ED-cPSD: Fast Phase-Size Distribution via Sequential Erosion-Dilation

The Erosion-Dilation continuous Phase-Size Distribution, ED-cPSD, is an application for calculating continuous pore and particle-size distribution from digital reconstructions and/or image-based structural data. It is based on the erosion-dilation continuous phase-size distribution method. A continuous size distribution is a measure of the probability density of finding a particle or pore of a certain size. These distributions are of interest in any field of study involving porous media, including but not limited to electrochemistry, petroleum engineering, geology, and food science. The algorithm behind the software provides a computationally efficient way to calculate phase-size distributions for large domains. For a 3D battery electrode reconstruction with 1.3 x 10 8 voxels, the particle size distribution is derived in under 2 min on a desktop, while also retaining flexibility and computational efficiency for HPC-scale multi-threading. The software can handle structures with over 10 9 voxels. The algorithm is roughly 280 times faster than a previous version on the same task.

Characterization

Acceleration of Thermochemistry Solves in MOOSE and Pronghorn

This work focuses on the development and implementation of strategies to accelerate thermochemical calculations within MOOSE-based multiphysics simulations, particularly for applications in MSRs. We highlight the inherent complexity of nuclear materials, which require a multiscale approach to accurately model their behavior across various physical domains, including mechanical, chemical, and thermal phenomena. Thermochemical equilibrium calculations are crucial for predicting material properties and enhancing the fidelity of these simulations. The integration of Thermochimica, a Gibbs energy minimizer, into MOOSE allows for the direct minimization of Gibbs energy at every point on the mesh. However, the computational cost of such integration is significant. To address this, we explored acceleration strategies such as multi-threading support and the use of a thermodynamic ValueCache to reduce redundant calculations. Additionally, we investigated modifications to Thermochimica to enable phase constraints and improve its coupling with phase-field models, which are essential for simulating microstructural evolution and corrosion in MSR. These efforts aim to optimize the computational efficiency and accuracy of multiphysics simulations, thereby supporting the development of reliable and efficient nuclear materials for next-generation reactor technologies.

36 - MATERIALS SCIENCE

SimPoint++: Less Simulation Points

We propose SimPoint++, which replaces the BIC method by combining WCSS and Silhouette to find the optimal cluster. The new Python framework of SimPoint++ provides a dimension reduction pipeline for effective clustering and supports multi-thread application analysis. We evaluate SimPoint++ with Spec CPU 2017 benchmarks. SimPoint++ achieves comparable or higher accuracy with significantly fewer simulation points, resulting in a 5x speed-up in simulation time compared to state-of-the-art solutions.

Chen, Si