Enhancements enabled by pyop3

オープン
#5,255 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
20/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
静か
技術スタック
python

調査の方向性

これはスコープが定義されたタスクではなく、広範なロードマップ issue であり、ファイル、テスト、エントリーポイントは記載されていません。まずリンクされている pull request #3318 の pyop3 を読み、その後、一覧にある拡張の1つを選んで、その実装領域と既存の検証を特定してください。完了とするには、その特定の拡張について個別に定義したスコープとテストが必要です。

索引モデルが issue の本文から書いたものです。

説明

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
主要言語
Python
スター
684
フォーク
204
平均マージ
4日 14時間
マージ済み PR(30日)
46

環境構築

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

firedrakeproject/firedrake のほかの issue

firedrakeproject/firedrake の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。