Lazy PETSc init?
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
Línea de trabajo
Empieza leyendo el pull request #50 y el pull request #5148 de Firedrake enlazado; después, compara las dos formas de importar PETSc mostradas en el issue. Investiga cómo el import perezoso cambia sys.modules y la inicialización posterior de PETSc, incluidos los problemas peligrosos de segfault indicados. Se considerará terminado cuando exista un enfoque claramente definido y probado de forma segura para la inicialización perezosa de PETSc.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 4
- Forks
- 1
- Merge medio
- 2 d 18 h
- PR fusionados (30 d)
- 1
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de firedrakeproject/petsctools
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
OptionsManager does not delete options inherited through default_options_setPosiblemente ocupada @pbrubeck la tomó hace 41 días. Abierto
firedrakeproject/petsctools#58 · 1 asignado ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
firedrakeproject/petsctools#54 · 1 comentario ·
-
enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
-
bug question
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Todos los issues de firedrakeproject/petsctools
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
datamodel-code-generator/datamodel-code-generator#6906 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
UKGovernmentBEIS/optstop#12 ·
-
bug good first issue severity: low
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
TMHSDigital/Awesome-Ads#37 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
smokin-salmon/smoked-salmon#1095 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Sienna-Platform/SiennaSchemas#130 ·
Los mantenedores suelen responder en 3 días