aviatesk / aviatesk/EscapeAnalysis.jl

end-to-end early-finalizer optimization targets

Open
#18 0 comments 3 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
35
Forks
6
PR merge metrics
No merged PRs in 30d

Description

From a conversation with @jpsamaroo , I think GPU-related computations could be end-to-end targets of our early-finalizer optimization.

> Julian Samaroo 12:55 AM
> For GPU-heavy code, like from Flux, it's my understanding that we're overusing GPU memory because the GC doesn't see the GPU memory pressure. So by having CuArrays be finalized as soon as possible, we can avoid this issue.
>
> 12:56
> And Flux tends to allocate a lot of temporaries that are only needed for a single layer (since that layer will then allocate the next array, and so on), so we could free each layer-generated output at the end of executing the next layer.
>
> 12:57
> Separately, for GPU kernel code, it might also let us avoid having to do device-side malloc in more situations.

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names no files, tests, or entry points. Start by tracing the existing early-finalizer optimization and its treatment of GPU-related computations, then clarify the intended CuArrays/Flux scope and an end-to-end success criterion before implementing.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
compilers, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.