fortranspire.agent.translation_graph¶
Graph d’agents LangGraph pour la traduction de Fortran 90 vers JAX. Ordre : parser → explainer → translator → halo_exchange → reproducibility
→ performance → docstring → autodiff → surrogate → END
Functions
|
Agent 8 : Génère le modèle Adjoint via jax.grad/jax.vjp. |
|
Consolide tous les résultats des workers dans un module Python structuré. |
|
Dispatch chaque kernel vers un worker (séquentiel pour stabilisation). |
|
Agent 7 : Ajoute des docstrings scientifiques au code JAX. |
|
Agent 2 (NEW) : Retourne la fonction scientifique du code Fortran et son intérêt pour la géophysique. |
|
Agent 4 : Rapport OpenMP/MPI + remplacement GHEX si nécessaire. |
|
Agent 3.5 : Ouvre le code JAX dans l'IDE et attend la validation de l'utilisateur. |
|
Agent 0 (NEW) : Initialise le dossier output et génère le pyproject.toml pour orchestrer le projet JAX traduit. |
|
Agent 1 : Loki AST Parser — isole le kernel Fortran avec Scheduler. |
|
Agent 6 : Benchmark JAX vs Fortran — affichage CLI du speedup. |
|
Agent 5 : Consolide les rapports de reproductibilité générés en parallèle. |
|
Décide si on continue vers perf ou si on retry le translator (feedback loop). |
|
Décide si on continue vers le halo ou si on retry le translator. |
|
Agent 9 (final) : Construit un Surrogate FNO avec Sobolev Training. |
|
Agent 3 : Traduit le kernel Fortran vers JAX via LLM (avec boucles de correction). |
|
Agent Worker : Traduit tous les noyaux Fortran en JAX séquentiellement. |
Classes
|
|
|