JuliaParallel / JuliaParallel/DistributedArrays.jl
Unnecessary memory allocations in restrict_indices
- 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