JuliaParallel / JuliaParallel/DistributedArrays.jl

Unnecessary memory allocations in restrict_indices

Offen
#215 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Julia
Sterne
205
Forks
34
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Hello,

I found this when I was puzzled by a [discourse question](https://discourse.julialang.org/t/strange-memory-allocation-with-distributedarrays/38325).

The function `restrict_indices` (called on line 824 in darray.jl, for example, couldn't figure out how to reference here), allocates an array of indices as big as the array that that you are trying to copy. Thus doubling the memory allocations.

Not sure if there is a way around it (just allocating tuples of ranges of indices or the like), but I thought I should file an issue so it doesn't get lost.

Cheers!

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Start by reading restrict_indices and its call at line 824 of darray.jl, then inspect how the index array is created during copying. Confirm the reported allocation behavior from the linked Discourse question. Done means avoiding the unnecessary array-sized allocation while preserving restrict_indices behavior and distributed array copying.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
julia
Bereich
distributed-systems, performance
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.