Documentation: GPU for the indirect method (flows and shooting)
I maintainer di solito rispondono entro 1 giorno
@ocots ci sta già lavorando.
Dal 11/10/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Summary
The documentation covers the GPU for the direct method only. The page GPU (docs/src/solve/gpu.md) walks through solve(ocp; modeler=:exa_gpu, …): prerequisites, a worked problem, descriptive and explicit modes, which combinations work, performance notes.
The indirect method has nothing equivalent. The Flows overview has a short section "CPU and GPU" (docs/src/flows/overview.md) that says Flow(ocp, law; method=:gpu) exists, that the initial state and costate must be CuArrays, and sends the reader to the GPU flows page of CTFlows. A reader who wants to shoot on the GPU has no worked example in this documentation.
Proposal
Add a page (or a section next to the direct one) on the GPU for flows and shooting, built like the direct page:
- prerequisites (CUDA, Mooncake, the integrator package) and the
method=:gpukeyword of the constructor (not of the call); - one worked problem: build
Flow(ocp, law; method=:gpu), giveCuArrayinitial state and costate, integrate, and check the result against the CPU flow; - a shooting function evaluated on the GPU, with the solver of the nonlinear system on the CPU or GPU (to be checked: what CTFlows supports and what is useful in practice);
- what does not work (CPU arrays with
method=:gpu, Mooncake not loaded) and the error the user gets; - performance notes: when it pays off (large dimension or many trajectories), consistent with control-toolbox/CTFlows.jl#448 (Mooncake on CPU) and the ensemble flows of control-toolbox/CTFlows.jl#341.
Constraints
- The GPU blocks cannot be executed by the usual docs build: the direct page runs on the occidata runner (see #885 and #946). The new page should follow the same mechanism, with the output of the last run shown and checked by
@asserts on the runner. - Depends on the CTFlows side: control-toolbox/CTFlows.jl#436 (obscure
MethodErrors ofmethod=:gpu) is closed, so the errors can be quoted once released; the "CPU and GPU" section of the Flows overview, which says the error "does not name the cause yet", must then be updated.
Part of the final read tracked in #968.
- Lingua principale
- Julia
- Stelle
- 135
- Fork
- 11
- Merge medio
- 7h 51m
- PR unite (30g)
- 22
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di control-toolbox/OptimalControl.jl
-
[Doc] User guide to the duals: every kind, constraint ↔ dual, direct ↔ indirectForse già presa @ocots l’ha presa 5 giorni fa. Aperta
control-toolbox/OptimalControl.jl#1035 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Tests of the duals: every kind of constraint, direct vs indirect, pinned algorithmsForse già presa @ocots l’ha presa 5 giorni fa. Aperta
control-toolbox/OptimalControl.jl#1034 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[Doc] Examples for the sign convention of duals and costate (min/max, writing of constraints, direct vs indirect)Forse già presa @ocots l’ha presa 13 giorni fa. Aperta
control-toolbox/OptimalControl.jl#1016 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Documentation: sign conventions (min/max, p⁰, constraints, duals) and how they appear in a solutionForse già presa @ocots l’ha presa 16 giorni fa. Apertadocumentation
control-toolbox/OptimalControl.jl#1015 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Tests fail on Julia 1.13: keyword-only anonymous function in test/problems/goddard.jlForse già presa @ocots l’ha presa 18 giorni fa. Aperta
control-toolbox/OptimalControl.jl#996 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di control-toolbox/OptimalControl.jl
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
backport 1.14 GC
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
`binary_focal_loss` throws a `DomainError` when a negative sample has `ŷ = 1`Forse già presa @parth-patel010 l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
FluxML/Flux.jl#2818 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
JuliaDiff/TaylorSeries.jl#445 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
control-toolbox/CTActions#139 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno