SoftwareApplication
identifier: 10.5281/zenodo.14825646
name: PartitionedArrays.jl
description: This package provides distributed (a.k.a. partitioned) vectors and sparse matrices like the ones needed in distributed finite differences, finite volumes, or finite element computations.
description: # What This package provides distributed (a.k.a. partitioned) vectors and sparse matrices like the ones needed in distributed finite differences, finite volumes, or finite element computations. Packages such `GridapDistributed` have shown weak and strong scaling up to tens of thousands of CPU cores in the distributed assembly of sparse linear systems when using `PartitionedArrays` as their distributed linear algebra back-end. # Why The main objective of this package is to avoid to interface directly with MPI or MPI-based libraries when prototyping and debugging distributed parallel codes. MPI-based applications are executed in batch mode with commands like `mpiexec -np 4 julia input.jl`, which break the Julia development workflow. In particular, one starts a fresh Julia session at each run, making difficult to reuse compiled code between runs. In addition, packages like `Revise` and `Debugger` are also difficult to use in combination with MPI computations on several processes. To overcome these limitations, `PartitionedArrays` considers a data-oriented programming model that allows one to write distributed algorithms in a generic way, independent from the message passing back-end used to run them. MPI is one of the possible back-ends available in `PartitionedArrays`, used to deploy large computations on computational clusters. However, one can also use other back-ends that are able to run on standard serial Julia sessions, which allows one to use the standard Julia workflow to develop and debug complex codes in an effective way.
code repository: https://github.com/PartitionedArrays/PartitionedArrays.jl
author: Person
  given name: Robin
  family name: Richardson
  name: Robin Richardson
  affiliation: Organization
    name: Netherlands eScience Center
author: Person
  given name: Francesc
  family name: Verdugo
  name: Francesc Verdugo
  affiliation: Organization
    name: VU Amsterdam
author: Person
  given name: Oriol
  family name: Colomés
  name: Oriol Colomés
author: Person
  given name: Alberto
  family name: F. Martin
  name: Alberto F. Martin
  affiliation: Organization
    name: Australian National University
author: Person
  given name: Mosè
  family name: Giordano
  name: Mosè Giordano
  affiliation: Organization
    name: @UCL-ARC
author: Person
  given name: Jordi
  family name: Manyer Fuertes
  name: Jordi Manyer Fuertes
  affiliation: Organization
    name: Monash university
author: Person
  given name: Oscar
  family name: Smith
  name: Oscar Smith
  affiliation: Organization
    name: JuliaHub
author: Person
  given name: Fredrik
  family name: Ekre
  name: Fredrik Ekre
author: Person
  given name: Lambert
  family name: Theisen
  name: Lambert Theisen
  affiliation: Organization
    name: RWTH Aachen University
author: Person
  given name: Dennis
  family name: Ogiermann
  name: Dennis Ogiermann
  affiliation: Organization
    name: Ruhr University Bochum
author: Person
  given name: Dalvie
  family name: Benu
  name: Dalvie Benu
  affiliation: Organization
    name: Royal Institute of Technology
author: Person
  given name: Yung-sheng
  family name: Tu
  name: Yung-sheng Tu
author: Person
  given name: Hendrik
  family name: Ranocha
  name: Hendrik Ranocha
  affiliation: Organization
    name: Johannes Gutenberg University Mainz
keywords: GPU
keywords: High performance computing
keywords: Julia Package
programming language: Julia
programming language: Shell
license:
  creative work: creativeWork
    name: MIT