Skip to content

Performance of partitioning and joining #179

@davidscn

Description

@davidscn

We have precice-aste-partition and precice-aste-join as part of the toolchain to partition/join mesh files. However, for a large core count or large mesh files, their python implementation is rather slow. A canonical alternative to investigate here is Julia as programming language, as the interface/implementation could be considered similar while gaining performance upgrades. However, as of now, the Julia wrapping of the VTK libraries is not flexible enough for such purposes. Instead of one VTK package (python), there are two packages available in Julia, ReadVTK and WriteVTK. Reading VTK files comes with a few constraints (see also the what does not work section of the docs):

appended data is assumed to be stored as raw
header_type is hardcoded to UInt64

both constraints don't apply to our current 'frequently used' mapping meshes and are also not compatible with precice-aste-evaluate, which would then also require a porting to Julia. Reading the files is mostly compatible with the corresponding VTK writer. It could become a valid approach though, once the reader becomes more general.

For the joining part, there is still an open PR which features a C++ implementation #156

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions