Lazy PETSc init?
まだ誰も着手していません。
評価
調査の方向性
まず pull request #50 とリンクされている Firedrake の pull request #5148 を読み、その後、issue に示されている 2 つの PETSc の import 形式を比較してください。lazy import によって sys.modules と後続の PETSc 初期化がどのように変化するかを、記載されている segfault の落とし穴も含めて調査してください。明確に定義され、安全にテストされた PETSc の lazy 初期化のアプローチが確立されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
In https://github.com/firedrakeproject/petsctools/pull/50 we discovered (and reverted) a very exciting side effect of lazily importing PETSc via
PETSc = petsc4py.lib.ImportPETSc()
instead of
from petsc4py import PETSc
Namely, it populates sys.modules such that subsequent imports of PETSc do not initialise PETSc. This has some footguns, and you'll get some segfaults if you're not careful, but means that we might finally to import Firedrake without initialising MPI (see https://github.com/firedrakeproject/firedrake/pull/5148).
We have to be extremely careful about how we do this, but it could be really nice.
- 主要言語
- Python
- スター
- 4
- フォーク
- 1
- 平均マージ
- 2日 18時間
- マージ済み PR(30日)
- 1
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
firedrakeproject/petsctools のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
OptionsManager does not delete options inherited through default_options_set対応中かも @pbrubeck が 41 日前に担当しました。 オープン
firedrakeproject/petsctools#58 · 担当者 1 名 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
firedrakeproject/petsctools#54 · コメント 1 件 ·
-
enhancement
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
-
bug question
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
firedrakeproject/petsctools の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
datamodel-code-generator/datamodel-code-generator#6906 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
UKGovernmentBEIS/optstop#12 ·
-
bug good first issue severity: low
難易度 1/5 1〜3時間 初心者へのやさしさ 85/100
TMHSDigital/Awesome-Ads#37 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
smokin-salmon/smoked-salmon#1095 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Sienna-Platform/SiennaSchemas#130 ·
メンテナーはふだん 3 日以内に返信