JuliaSmoothOptimizers / JuliaSmoothOptimizers/LinearOperators.jl

Quasi-Newton operators compatible with GPUs

Open
#327 0 comments 0 reactions 0 assignees View on GitHub
enhancement GPU
Dominant language
Julia
Stars
209
Forks
46
Avg merge
6h 50m
Merged PRs (30d)
1

Description

I am wondering how much work it would be to make QN operators compatible with GPUs (CuArray for instance)?

Typically, my use case would be something like this
```
using CUDA, NLPModels, NLPModelsModifiers, NLPModelsTest
V = CuArray{Float64}
nlp = NLSLC(V)

CUDA.allowscalar()
list_QN = [LBFGSModel, LSR1Model, DiagonalPSBModel, DiagonalAndreiModel, SpectralGradientModel]
lnlp = list[1](nlp)
x = nlp.meta.x0
v = copy(x)
Hv = similar(x)
hprod!(lnlp, x, v, Hv)
```
These model modifiers internally call the QN operators from LinearOperators.jl, e.g. `op = LBFGSOperator(T, nlp.meta.nvar)`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.