SearcharxivSearch

arXiv subjects

Jose Gracia

Publications and source records attributed to Jose Gracia.

18 recordsLinked to original sources

Cyclic Data Streaming on GPUs for Short Range Stencils Applied to Molecular Dynamics

In the quest for highest performance in scientific computing, we present a novel framework that relies on high-bandwidth communication between GPUs in a compute cluster. The framework offers linear scaling of performance for explicit algorithms that is only limited by the size of the dataset and the number of GPUs. Slices of the dataset propagate in a ring of processes (GPUs) from one GPU, where they are processed, to the next, which results in a parallel-in-time parallelization. The user of the framework has to write GPU kernels that implement the algorithm and provide slices of the dataset. Knowledge about the underlying parallelization strategy is not required because the communication between processes is carried out by the framework. As a case study, molecular dynamics simulation based on the Lennard-Jones potential is implemented to measure the performance for a homogeneous fluid. Single node performance and strong scaling behavior of this framework is compared to LAMMPS, which is outperformed in the strong scaling case.

cs.DC

Beyond domain alignment: Revealing the effect of intrinsic magnetic order on electrochemical water splitting

To reach a long term viable green hydrogen economy, rational design of active oxygen evolution reaction (OER) catalysts is critical. An important hurdle in this reaction originates from the fact that the reactants are singlet molecules, whereas the oxygen molecule has a triplet ground state with parallel spin alignment, implying that magnetic order in the catalyst is essential. Accordingly, multiple experimentalists reported a positive effect of external magnetic fields on OER activity of ferromagnetic catalysts. However, it remains a challenge to investigate the influence of the intrinsic magnetic order on catalytic activity. Here, we tuned the intrinsic magnetic order of epitaxial La$_{0.67}$Sr$_{0.33}$MnO$_{3}$ thin film model catalysts from ferro- to paramagnetic by changing the temperature in-situ during water electrolysis. Using this strategy, we show that ferromagnetic ordering below the Curie temperature enhances OER activity. Moreover, we show a slight current density enhancement upon application of an external magnetic field and find that the dependence of magnetic field direction correlates with the magnetic anisotropy in the catalyst film. Our work thus suggests that both the intrinsic magnetic order in La$_{0.67}$Sr$_{0.33}$MnO$_{3}$ films and magnetic domain alignment increase their catalytic activity. We observe no long-range magnetic order at the catalytic surface, implying that the OER enhancement is connected to the magnetic order of the bulk catalyst. Combining the effects found with existing literature, we propose a unifying picture for the spin-polarized enhancement in magnetic oxide catalysts.

cond-mat.mtrl-sci

Collectives in hybrid MPI+MPI code: design, practice and performance

The use of hybrid scheme combining the message passing programming models for inter-node parallelism and the shared memory programming models for node-level parallelism is widely spread. Existing extensive practices on hybrid Message Passing Interface (MPI) plus Open Multi-Processing (OpenMP) programming account for its popularity. Nevertheless, strong programming efforts are required to gain performance benefits from the MPI+OpenMP code. An emerging hybrid method that combines MPI and the MPI shared memory model (MPI+MPI) is promising. However, writing an efficient hybrid MPI+MPI program -- especially when the collective communication operations are involved -- is not to be taken for granted. In this paper, we propose a new design method to implement hybrid MPI+MPI context-based collective communication operations. Our method avoids on-node memory replications (on-node communication overheads) that are required by semantics in pure MPI. We also offer wrapper primitives hiding all the design details from users, which comes with practices on how to structure hybrid MPI+MPI code with these primitives. The micro-benchmarks show that our collectives are comparable or superior to those in pure MPI context. We have further validated the effectiveness of the hybrid MPI+MPI model (which uses our wrapper primitives) in three computational kernels, by comparison to the pure MPI and hybrid MPI+OpenMP models.

cs.DC

MPI Collectives for Multi-core Clusters: Optimized Performance of the Hybrid MPI+MPI Parallel Codes

The advent of multi-/many-core processors in clusters advocates hybrid parallel programming, which combines Message Passing Interface (MPI) for inter-node parallelism with a shared memory model for on-node parallelism. Compared to the traditional hybrid approach of MPI plus OpenMP, a new, but promising hybrid approach of MPI plus MPI-3 shared-memory extensions (MPI+MPI) is gaining attraction. We describe an algorithmic approach for collective operations (with allgather and broadcast as concrete examples) in the context of hybrid MPI+MPI, so as to minimize memory consumption and memory copies. With this approach, only one memory copy is maintained and shared by on-node processes. This allows the removal of unnecessary on-node copies of replicated data that are required between MPI processes when the collectives are invoked in the context of pure MPI. We compare our approach of collectives for hybrid MPI+MPI and the traditional one for pure MPI, and also have a discussion on the synchronization that is required to guarantee data integrity. The performance of our approach has been validated on a Cray XC40 system (Cray MPI) and NEC cluster (OpenMPI), showing that it achieves comparable or better performance for allgather operations. We have further validated our approach with a standard computational kernel, namely distributed matrix multiplication, and a Bayesian Probabilistic Matrix Factorization code.

cs.DC

Towards performance portability through locality-awareness for applications using one-sided communication primitives

MPI is the most widely used data transfer and communication model in High Performance Computing. The latest version of the standard, MPI-3, allows skilled programmers to exploit all hardware capabilities of the latest and future supercomputing systems. The revised asynchronous remote-memory-access model in combination with the shared-memory window extension, in particular, allow writing code that hides communication latencies and optimizes communication paths according to the locality of data origin and destination. The latter is particularly important for today's multi- and many-core systems. However, writing such efficient code is highly complex and error-prone. In this paper we evaluate a recent remote-memory-access model, namely DART-MPI. This model claims to hide the aforementioned complexities from the programmer, but deliver locality-aware remote-memory-access semantics which outperforms MPI-3 one-sided communication primitives on multi-core systems. Conceptually, the DART-MPI interface is simple; at the same time it takes care of the complexities of the underlying MPI-3 and system topology. This makes DART-MPI an interesting candidate for porting legacy applications. We evaluate these claims using a realistic scientific application, specifically a finite-difference stencil code which solves the heat diffusion equation, on a large-scale Cray XC40 installation.

cs.DC

Asynchronous progress design for a MPI-based PGAS one-sided communication system

Remote-memory-access models, also known as one-sided communication models, are becoming an interesting alternative to traditional two-sided communication models in the field of High Performance Computing. In this paper we extend previous work on an MPI-based, locality-aware remote-memory-access model with a asynchronous progress-engine for non-blocking communication operations. Most previous related work suggests to drive progression on communication through an additional thread within the application process. In contrast, our scheme uses an arbitrary number of dedicated processes to drive asynchronous progression. Further, we describe a prototypical library implementation of our concepts, namely DART, which is used to quantitatively evaluate our design against a MPI-3 baseline reference. The evaluation consists of micro-benchmark to measure overlap of communication and computation and a scientific application kernel to assess total performance impact on realistic use-cases. Our benchmarks shows, that our asynchronous progression scheme can overlap computation and communication efficiently and lead to substantially shorter communication cost in real applications.

cs.DC

CppSs -- a C++ Library for Efficient Task Parallelism

We present the C++ library CppSs (C++ super-scalar), which provides efficient task-parallelism without the need for special compilers or other software. Any C++ compiler that supports C++11 is sufficient. CppSs features different directionality clauses for defining data dependencies. While the variable argument lists of the taskified functions are evaluated at compile time, the resulting task dependencies are fixed by the runtime value of the arguments and are thus analysed at runtime. With CppSs, we provide task-parallelism using merely native C++.

cs.DC

3D simulations of disc-winds extending radially self-similar MHD models

Disc-winds originating from the inner parts of accretion discs are considered as the basic component of magnetically collimated outflows. The only available analytical MHD solutions to describe disc-driven jets are those characterized by the symmetry of radial self-similarity. However, radially self-similar MHD jet models, in general, have three geometrical shortcomings, (i) a singularity at the jet axis, (ii) the necessary assumption of axisymmetry, and (iii) the non-existence of an intrinsic radial scale, i.e. the jets formally extend to radial infinity. Hence, numerical simulations are necessary to extend the analytical solutions towards the axis, by solving the full three-dimensional equations of MHD and impose a termination radius at finite radial distance. We focus here on studying the effects of relaxing the (ii) assumption of axisymmetry, i.e. of performing full 3D numerical simulations of a disc-wind crossing all magnetohydrodynamic critical surfaces. We compare the results of these runs with previous axisymmetric 2.5D simulations. The structure of the flow in all simulations shows strong similarities. The 3D runs reach a steady state and stay close to axisymmetry for most of the physical quantities, except for the poloidal magnetic field and the toroidal velocity which slightly deviate from axisymmetry. The latter quantities show signs of instabilities, which, however, are confined to the region inside the fast magnetosonic separatrix surface. The forces present in the flow, both of collimating and accelerating nature, are in good agreement in both the 2.5D and the 3D runs. We conclude that the analytical solution behaves well also after relaxing the basic assumption of axisymmetry.

astro-ph.SR

Avoiding Serialization Effects in Data-Dependency aware Task Parallel Algorithms for Spatial Decomposition

Spatial decomposition is a popular basis for parallelising code. Cast in the frame of task parallelism, calculations on a spatial domain can be treated as a task. If neighbouring domains interact and share results, access to the specific data needs to be synchronized to avoid race conditions. This is the case for a variety of applications, like most molecular dynamics and many computational fluid dynamics codes. Here we present an unexpected problem which can occur in dependency-driven task parallelization models like StarSs: the tasks accessing a specific spatial domain are treated as interdependent, as dependencies are detected automatically via memory addresses. Thus, the order in which tasks are generated will have a severe impact on the dependency tree. In the worst case, a complete serialization is reached and no two tasks can be calculated in parallel. We present the problem in detail based on an example from molecular dynamics, and introduce a theoretical framework to calculate the degree of serialization. Furthermore, we present strategies to avoid this unnecessary problem. We recommend treating these strategies as best practice when using dependency-driven task parallel programming models like StarSs on such scenarios.

cs.DC

Cudagrind: A Valgrind Extension for CUDA

Valgrind, and specifically the included tool Memcheck, offers an easy and reliable way for checking the correctness of memory operations in programs. This works in an unintrusive way where Valgrind translates the program into intermediate code and executes it on an emulated CPU. The heavy weight tool Memcheck uses this to keep a full shadow copy of the memory used by a program and tracking accesses to it. This allows the detection of memory leaks and checking the validity of accesses. Though suited for a wide variety of programs, this approach still fails when accelerator based programming models are involved. The code running on these devices is separate from the code running on the host. Access to memory on the device and starting of kernels is being handled by an API provided by the driver being used. Hence Valgrind is unable to understand and instrument operations being run on the device. To circumvent this limitation a new set of wrapper functions have been introduced. These wrap a subset of the CUDA Driver API function that is responsible for (de-)allocation memory regions on the device and the respective memory copy operations. This allows to check whether memory is fully allocated during a transfer and, through the functionality provided by Valgrind, whether the memory transfered to the device from the host is defined and addressable. Through this technique it is possible to detect a number of common programming mistakes, which are very difficult to debug by other means. The combination of these wrappers together with the Valgrind tool Memcheck is being called Cudagrind.

cs.SE

Hybrid MPI/StarSs - a case study

Hybrid parallel programming models combining distributed and shared memory paradigms are well established in high-performance computing. The classical prototype of hybrid programming in HPC is MPI/OpenMP, but many other combinations are being investigated. Recently, the data-dependency driven, task parallel model for shared memory parallelisation named StarSs has been suggested for usage in combination with MPI. In this paper we apply hybrid MPI/StarSs to a Lattice-Boltzmann code. In particular, we present the hybrid programming model, the benefits we expect, the challenges in porting, and finally a comparison of the performance of MPI/StarSs hybrid, MPI/OpenMP hybrid and the original MPI-only versions of the same code.

cs.DC

Comparison of synthetic maps from truncated jet-formation models with YSO jet observations. II. The effect of varying inclinations

Analytical radially self-similar models are the best available solutions describing disk-winds but need several improvements. In a previous article, we introduced models of jets from truncated disks, i.e. evolved in time numerical simulations based on a radially self-similar MHD solution but including the effects of a finite radius of the jet-emitting disk and thus the outflow. In paper I of this series, we compared these models with available observational data varying the jet density and velocity, the mass of the protostar and the radius of the aforementioned truncation. In paper I, we assumed that the jet lies in the plane of the sky. In this paper, we investigate the effect of different inclinations of the jet. In order to compare our models with observed jet widths inferred from recent optical images taken with HST and AO, we create again emission maps in different forbidden lines and from such emission maps, we determine the jet width as the full-width half-maximum of the emission. We can reproduce the jet width of DG Tau and its variations very well and the derived inclination of 40$^\circ$ is in excellent agreement with literature values of 32--52$^\circ$. In CW Tau we overestimate the inclination in our best-fit model. In the other objects, we cannot find appropriate models which reproduce the variations of the observed jet widths, only the average jet width itself is well modeled as in paper I. We conclude that truncation -- i.e. taking into account the finite radius of the jet launching region -- is necessary to reproduce the observed jet widths and our simulations limit the possible range of truncation radii. The effects of inclination are important for modeling the intrinsic variations seen in observed jet widths. Our models can be used to infer independently the inclinations in the observed sample, however, a parameter study with a finer grid of parameters is needed.

astro-ph.SR

Comparison of synthetic maps from truncated jet-formation models with YSO jet observations

(abridged) Significant progress has been made in the last years in the understanding of the jet formation mechanism through a combination of numerical simulations and analytical MHD models for outflows characterized by the symmetry of self-similarity. In a previous article we introduced models of truncated jets from disks, i.e. evolved in time numerical simulations based on a radially self-similar MHD solution, but including the effects of a finite radius of the jet-emitting disk and thus the outflow. These models need now to be compared with available observational data. A direct comparison of the results of combined analytical theoretical models and numerical simulations with observations has not been performed as yet. In order to compare our models with observed jet widths inferred from recent optical images taken with HST and AO observations, we use a new set of tools to create emission maps in different forbidden lines, from which we determine the jet width as the FWHM of the emission. It is shown that the untruncated analytical disk outflow solution considered here cannot fit the small jet widths inferred by observations of several jets. Various truncated disk-wind models are examined, whose extracted jet widths range from higher to lower values compared to the observations. Thus we can fit the observed range of jet widths by tuning our models. We conclude that truncation is necessary to reproduce the observed jet widths and our simulations limit the possible range of truncation radii. We infer that the truncation radius, which is the radius on the disk mid-plane where the jet-emitting disk switches to a standard disk, must be between around 0.1 up to about 1 AU in the observed sample for the considered disk-wind solution. One disk-wind simulation with an inner truncation radius at about 0.11 AU also shows potential for reproducing the observations, but a parameter study is needed.

astro-ph.SR

Resistive MHD jet simulations with large resistivity

Axisymmetric resistive MHD simulations for radially self-similar initial conditions are performed, using the NIRVANA code. The magnetic diffusivity could occur in outflows above an accretion disk, being transferred from the underlying disk into the disk corona by MHD turbulence (anomalous turbulent diffusivity), or as a result of ambipolar diffusion in partially ionized flows. We introduce, in addition to the classical magnetic Reynolds number Rm, which measures the importance of resistive effects in the induction equation, a new number Rb, which measures the importance of the resistive effects in the energy equation. We find two distinct regimes of solutions in our simulations. One is the low-resistivity regime, in which results do not differ much from ideal-MHD solutions. In the high-resistivity regime, results seem to show some periodicity in time-evolution, and depart significantly from the ideal-MHD case. Whether this departure is caused by numerical or physical reasons is of considerable interest for numerical simulations and theory of astrophysical outflows and is currently investigated.

astro-ph.SR

Stability and structure of analytical MHD jet formation models with a finite outer disk radius

(Abridged) Finite radius accretion disks are a strong candidate for launching astrophysical jets from their inner parts and disk-winds are considered as the basic component of such magnetically collimated outflows. The only available analytical MHD solutions for describing disk-driven jets are those characterized by the symmetry of radial self-similarity. Radially self-similar MHD models, in general, have two geometrical shortcomings, a singularity at the jet axis and the non-existence of an intrinsic radial scale, i.e. the jets formally extend to radial infinity. Hence, numerical simulations are necessary to extend the analytical solutions towards the axis and impose a physical boundary at finite radial distance. We focus here on studying the effects of imposing an outer radius of the underlying accreting disk (and thus also of the outflow) on the topology, structure and variability of a radially self-similar analytical MHD solution. The initial condition consists of a hybrid of an unchanged and a scaled-down analytical solution, one for the jet and the other for its environment. In all studied cases, we find at the end steady two-component solutions.

astro-ph

The effect of a stellar magnetic variation on the jet velocity

Stellar jets are normally constituted by chains of knots with some periodicity in their spatial distribution, corresponding to a variability of order of several years in the ejection from the protostar/disk system. A widely accepted theory for the presence of knots is related to the generation of internal working surfaces due to variations in the jet ejection velocity. In this paper we study the effect of variations in the inner disk-wind radius on the jet ejection velocity. We show that a small variation in the inner disk-wind radius produce a variation in the jet velocity large enough to generate the observed knots. We also show that the variation in the inner radius may be related to a variation of the stellar magnetic field.

astro-ph

Resistive jet simulations extending radially self-similar magnetohydrodynamic models

Numerical simulations with self-similar initial and boundary conditions provide a link between theoretical and numerical investigations of jet dynamics. We perform axisymmetric resistive magnetohydrodynamic (MHD) simulations for a generalised solution of the Blandford & Payne type, and compare them with the corresponding analytical and numerical ideal-MHD solutions. We disentangle the effects of the numerical and physical diffusivity. The latter could occur in outflows above an accretion disk, being transferred from the underlying disk into the disk corona by MHD turbulence (anomalous turbulent diffusivity), or as a result of ambipolar diffusion in partially ionized flows. We conclude that while the classical magnetic Reynolds number $R_{\rm m}$ measures the importance of resistive effects in the induction equation, a new introduced number, $\rbeta=(β/2)R_{\rm m}$ with $β$ the plasma beta, measures the importance of the resistive effects in the energy equation. Thus, in magnetised jets with $β<2$, when $\rbeta \la 1$ resistive effects are non-negligible and affect mostly the energy equation. The presented simulations indeed show that for a range of magnetic diffusivities corresponding to $\rbeta \ga 1$ the flow remains close to the ideal-MHD self-similar solution.

astro-ph

Effects of a solid surface on jet formation around neutron stars

We present two numerical simulations of an accretion flow from a rotating torus onto a compact object with and without a solid surface -- representing a neutron star and a black hole -- and investigate its influence on the process of jet formation. We report the emergence of an additional ejection component, launched by thermal pressure inside a boundary layer (BL) around the neutron star and examine its structure. Finally, we suggest improvements for future models.

astro-ph