inducer / inducer/arraycontext

DeprecationWarning when broadcasting scalar array type over DOFArray

Aperta
#292 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
9
Fork
11
Merge medio
17h 12m
PR unite (30g)
2

Descrizione

As discussed from CS meeting earlier, I am getting a `DeprecationWarning` when dividing a DOFArray by an arraycontext scalar:

```
/Users/nnytko2/Git/ceesd-nonlinear-solve/code/actx_issue.py:17: DeprecationWarning: Broadcasting over array context array type is deprecated and will no longer work in 2025. There is no replacement as of right now. See the discussion in https://github.com/inducer/arraycontext/pull/190.
y = x / flat_norm(x) # Warning occurs here
```

And minimal reproducing example:
```python
import numpy as np
import pyopencl as cl
from grudge.discretization import make_discretization_collection
from meshmode.array_context import PyOpenCLArrayContext
from meshmode.mesh.generation import generate_box_mesh
from meshmode.dof_array import flat_norm
from pytools.obj_array import flat_obj_array

ctx = cl.create_some_context()
queue = cl.CommandQueue(ctx)
actx = PyOpenCLArrayContext(queue)

mesh = generate_box_mesh((np.linspace(0, 1, 10),))
dcoll = make_discretization_collection(actx, mesh, order=1)

x = dcoll.zeros(actx) + 1.
y = x / flat_norm(x) # Warning occurs here

```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia con il riproduttore minimo, in particolare con la divisione in `y = x / flat_norm(x)`, e confronta l’avviso con la discussione di arraycontext PR 190. Traccia il modo in cui `DOFArray` interagisce con il tipo scalare del contesto degli array durante la divisione. Il lavoro è completato quando il riproduttore non emette più questo avviso di deprecazione e l’operazione continua ad avere successo.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
backend
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.