Enhancements enabled by pyop3

Aperta
#5,255 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
20/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Tranquilla
Stack tecnologico
python

Direzione di ricerca

Questa è una issue di roadmap ampia anziché un'attività con un ambito definito e non indica file, test o punti di ingresso. Inizia leggendo pyop3 nella pull request collegata #3318, poi scegli uno dei miglioramenti elencati e individua la relativa area di implementazione e la validazione esistente. Per considerare il lavoro completato, sono necessari un ambito definito separatamente e test per quello specifico miglioramento.

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

Descrizione

enhancement

I am creating this issue to serve as a record of the sorts of things that I believe the introduction of pyop3 (https://github.com/firedrakeproject/firedrake/pull/3318) will enable. This list is probably not exhaustive.

Numerical methods

  • Code generation for PCPatch/domain decomposition methods (e.g. automatically run on the GPU, flexible choice of patch size, function spaces on the patch etc)
  • Adaptive methods: AMR, hp-adaptivity
  • Mixed mesh support
  • Anything involving larger and more complex mesh stencils (e.g. finite volume, slope limiters)
  • Extruded + submesh
  • Extruded meshes distributed in the extruded direction
  • Nested mixed function spaces
  • Rewrite SLATE using pyop3

Performance and low-level things

  • GPU support through MLIR (in progress)
  • Data layout transformations (e.g. collect mixed function space DoFs per entity)
  • Parallel communication optimisations (e.g. avoid halo exchanges for cells DoFs if only facet DoFs are changed)
  • Kernel fusion/time tiling (i.e. redo Fabio's PhD work)

Low hanging fruit (should be easy)

  • Vector/tensor valued Real spaces
  • Assembly of Real function spaces into monolithic (MATAIJ) matrices
Lingua principale
Python
Stelle
684
Fork
204
Merge medio
4g 14h
PR unite (30g)
46

Preparare l'ambiente

  • Nessun Dockerfile né file Docker Compose
  • Ha un modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di firedrakeproject/firedrake

Tutte le issue di firedrakeproject/firedrake

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.