inducer / inducer/arraycontext

Make it so array containers do not know their array context?

Ouverte
#162 8 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.