inducer / inducer/arraycontext
Make it so array containers do not know their array context?
- Langage dominant
- Python
- Étoiles
- 9
- Forks
- 11
- Merge moyen
- 17 h 12 min
- PR mergées (30 j)
- 2
Description
This is aimed particularly at `DOFArray.array_context`, which is AFAIK the only instance of this, but a pervasive one. This change, if implemented, is rather break-the-world-y, so we would have to do this slowly and carefully.
Why is it worth doing? It's forcing `arraycontext.container.traversal.{freeze,thaw}` to be `@singledispatch` over the container type, just for a way to remove the stored `.array_context`. For batch-freezing in the array context, this is inconvenient (see discussion in https://github.com/inducer/arraycontext/pull/158).
What does it break?
* `grudge` gets its array context from the arrays it's passed for many operations.
* Any function that's `actx.compile`d, because that's its sole source of array cotnext.
That seems like a lot of breakage for limited gain...
@alexfikl @kaushikcfd @majosm Thoughts?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par lire DOFArray.array_context et arraycontext.container.traversal.freeze/thaw, puis examinez la discussion dans la pull request 158. Suivez la manière dont grudge obtient son contexte de tableau et dont actx.compile obtient le contexte aujourd’hui. Cela nécessiterait une conception progressive et compatible qui supprime le contexte stocké sans casser ces utilisateurs.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- backend
- Type d'issue
- Refactorisation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 20/100