inducer / inducer/arraycontext

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

Aberta
#162 8 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Python
Estrelas
9
Forks
11
Merge médio
17h 12min
PRs com merge (30d)
2

Descrição

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?

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

Comece lendo DOFArray.array_context e arraycontext.container.traversal.freeze/thaw; em seguida, revise a discussão no pull request 158. Rastreie como grudge obtém seu contexto de array e como actx.compile obtém o contexto atualmente. Para concluir, seria necessário um design em etapas e compatível que remova o contexto armazenado sem quebrar esses usuários.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
python
Domínio
backend
Tipo de issue
Refatoração
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
20/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.