JuliaDiff / JuliaDiff/DifferentiationInterface.jl

GPU array preservation and parallelism in wrong mode

Open
#971 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

core gpu
Dominant language
Julia
Stars
313
Forks
35
PR merge metrics
No merged PRs in 30d

Description

Currently:

  • Wrong-mode pushforward or pullback runs the map on the CPU and copies back to the GPU

https://github.com/JuliaDiff/DifferentiationInterface.jl/blob/7e80fef20e8aa40aa47e33a50040b2f60907521a/DifferentiationInterface/src/first_order/pullback.jl#L354-L370

  • If I try to parallelize it, I need to duplicate the prep object to avoid race conditions, which is not possible

See also:

  • #620
  • #970

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with DifferentiationInterface/src/first_order/pullback.jl around lines 354-370 to understand the wrong-mode pullback path. Read related issues #620 and #970 for context on GPU preservation and parallelism. Done should preserve GPU execution without a CPU round trip and support parallel use without requiring an impossible duplicate of the prep object.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.