inducer / inducer/arraycontext
DeprecationWarning when broadcasting scalar array type over DOFArray
- 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