# IA générative pour le HPC: une nouvelle rupture?

Christophe Biernacki

► To cite this version:

Christophe Biernacki. IA générative pour le HPC: une nouvelle rupture?. 55e forum ORAP, Nov 2025, Paris, France. hal-05442724

HAL Id: hal-05442724

https://inria.hal.science/hal-05442724v1

Submitted on 5 Jan 2026

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
IA générative pour le HPC :
une nouvelle rupture ?

28 novembre 2025, Paris

# Conclusion du forum 55

Christophe Biernacki

Adjoint à la Direction Scientifique, Inria
## Sujets traités aujourd'hui

* IA pour le génie logiciel (générer, maintenir et optimiser le code HPC)

* Services, support et formations en IA sur les infrastructures HPC

* Évaluation de l'IA comme assistant de recherche

* Soutenabilité, résilience, confiance et sobriété de l'IA

* LLM : apprentissage from scratch ou fine tuning

* IA transparente, sûre, reproductible, souveraine

En vue de répondre à la question centrale :
**Est-ce que l'IAG conduit à une rupture pour le HPC ?**

Et son corollaire : **doit-on laisser passer le train de l'IAG ou faut-il le prendre ?**
# Des ruptures déjà visibles...

* Dans la simulation (calcul scientifique, CS) : accélération par modèles de substitution, génération de données, réduction de coûts

## Simulation : ex. en CFD

https://www.neuralconcept.com/post/applying-machine-learning-in-cfd-to-accelerate-simulation

<table><thead><tr><th>Approach</th><th>Accuracy</th><th>What is needed?</th><th>Gives result...</th></tr></thead><tbody><tr><td><img src="" alt="A physical prototype experimental testing setup."></td><td>Very High</td><td>Physical prototype Laboratory</td><td>in days</td></tr><tr><td><img src="" alt="A computer screen with a blue bar indicating a high CPU usage."></td><td>CFD</td><td>Physical models<br>Skills (experience)<br>HPC or cloud rental</td><td>in hours</td></tr><tr><td><img src="" alt="A diagram showing a machine learning algorithm and a deep learning model."></td><td>Machine<br>(Deep) Learning</td><td>High / Very High</td><td>Data from CFD /<br>experimental testing<br>in (milli)seconds</td></tr></tbody></table>

<figure><img src="image_2.png" /></figure>
# Des ruptures déjà visibles...

* Dans les chaînes de développement HPC (génie logiciel, GL) : optimisation automatique de code, co-design IA/HPC

## Exemple en vectorisant un code Python :

Les LLM peuvent automatiquement optimiser du code en détectant :

* redondances

* complexité excessive

* mauvaises pratiques

* opportunités de vectorisation

* patterns inefficaces

* manque de lisibilité

... et en proposant un code plus court, plus rapide et plus clean.

Entrée :

```python
python
import math

def compute(values):
    res = []
    for x in values:
        res.append(math.sqrt(x) * 2.5 + math.sin(x))
    return res
```

<figure><img src="image_3.png" /></figure>

Copier

Demande :

> "Optimise en utilisant NumPy si possible."

Réponse LLM :

```python
python
import numpy as np

def compute(values):
    arr = np.array(values)
    return np Round(arr) * 2.5 + np.sin(arr)
```

<figure><img src="image_4.png" /></figure>

Copier

Explications possibles du LLM :

* Vectorisation → beaucoup plus rapide que la boucle Python.

* Profit des opérations NumPy compilées en C.
## ....mais des limites structurantes

* Besoins énergétiques, contraintes environnementales

* Coût matériel : nombreux NVDIA H100 GPU

* Dépendances géopolitiques : LLM / matériels extra nationaux, perte de compétences

* Gouvernance : multiplicité des acteurs, réglementation, éthique

* Validation scientifique, confiance: limite de l'expertise humaine si trop complexe

* Exigence de reproductibilité : pas seulement sur le code, sur le LLM aussi (variabilité de l'output, cycle de vie accéléré des LLM)

* Besoin en formation, RH : LLM, RAG, fine tuning...

<figure><img src="image_5.png" /></figure>
# Des lignes de tension identifiées (sélection)

* Performance vs. sobriété en GL

## Takeaways

* LLM-based code optimization can **effectively reduce software's energy consumption**.

* But, **we should be careful** about when and how we use LLM-based code optimization.

[3] Coignion, T., Quinton C., Rouvoy R., When Faster Isn't Greener: The Hidden Costs of LLM-Based Code Optimization. 40th IEEE/ACM International Conference on Automated Software Engineering, ASE 2025.
# Des lignes de tension identifiées (sélection)

* Performance vs. sobriété en CS

<figure><img src="image_6.png" /></figure>
# Des lignes de tension identifiées (sélection)

* Accélération par IA vs. rigueur scientifique en GL

Lost in Translation : A Study of Bugs Introduced by Large Language Models while Translating Code

Rangeet, Pan, et al. ICSE 2024

ICSE 2024, April 2024, Lisbon, Portugal

Pan et al.

<table><caption>Table 2: Performance of subject LLMs in translating code from different studied datasets. The best performance by general and code LLMs are highlighted in teal and violet, respectively. The final performance is computed over the average of each dataset.</caption><thead><tr><th rowspan="2">Dataset</th><th rowspan="2">Source Language</th><th rowspan="2">Source Samples</th><th rowspan="2">#Tests</th><th rowspan="2">Target Language</th><th rowspan="2">#Translations</th><th colspan="4">% Successful Translations</th></tr><tr><th>CodeGen</th><th>CodeGeeX</th><th>StarCoder</th><th>GPI-4</th><th>Lama 2</th><th>TB-Airoboros</th><th>TB-Vicuna</th></tr></thead><tbody><tr><td rowspan="6">CodeNet [63]</td><td>C</td><td>200</td><td>200</td><td>C++, Go, Java, Python</td><td>800</td><td>23.4%</td><td>14.9%</td><td>42.0%</td><td>83.0%</td><td>14.9%</td><td>18.8%</td><td>4.4%</td></tr><tr><td>C++</td><td>200</td><td>200</td><td>C, Go, Java, Python</td><td>800</td><td>14.0%</td><td>3.6%</td><td>39.1%</td><td>80.0%</td><td>9.5%</td><td>8.3%</td><td>3.4%</td></tr><tr><td>Go</td><td>200</td><td>200</td><td>C, C++, Java, Python</td><td>800</td><td>14.3%</td><td>5.9%</td><td>42.0%</td><td>85.5%</td><td>16.9%</td><td>6.6%</td><td>0.9%</td></tr><tr><td>Java</td><td>200</td><td>200</td><td>C, C++, Go, Python</td><td>800</td><td>21.3%</td><td>10.3%</td><td>30.3%</td><td>81.3%</td><td>13.9%</td><td>6.5%</td><td>0.1%</td></tr><tr><td>Python</td><td>200</td><td>200</td><td>C, C++, Go, Java</td><td>800</td><td>17.5%</td><td>7.3%</td><td>33.3%</td><td>79.9%</td><td>11.0%</td><td>6.5%</td><td>1.0%</td></tr><tr><td>Total/Average (CodeNet)</td><td>-</td><td>1,000</td><td>1,000</td><td>-</td><td>4,000</td><td>18.1%</td><td>8.4%</td><td>37.3%</td><td>82.0%</td><td>13.2%</td><td>9.3%</td><td>2.0%</td></tr><tr><td rowspan="2">Avatar [23]</td><td>Java</td><td>249</td><td>6,255</td><td>C, C++, Go, Python</td><td>996</td><td>8.1%</td><td>1.8%</td><td>11.9%</td><td>70.8%</td><td>1.8%</td><td>5.1%</td><td>0.0%</td></tr><tr><td>Python</td><td>250</td><td>-</td><td>C, C++, Go, Java</td><td>1,000</td><td>3.8%</td><td>1.6%</td><td>14.2%</td><td>52.2%</td><td>4.7%</td><td>0.9%</td><td>0.9%</td></tr><tr><td>Total/Average (Avatar)</td><td>-</td><td>499</td><td>6,255</td><td>-</td><td>1,996</td><td>5.9%</td><td>1.7%</td><td>13.0%</td><td>61.5%</td><td>3.2%</td><td>3.0%</td><td>0.4%</td></tr><tr><td>EvalPlus [54]</td><td>Python</td><td>164</td><td>2,682</td><td>Java</td><td>164</td><td>16.5%</td><td>3.7%</td><td>22.0%</td><td>79.3%</td><td>1.2%</td><td>14.0%</td><td>7.9%</td></tr><tr><td>Commons CLI [6]</td><td>Java</td><td>22</td><td>310</td><td>Python</td><td>22</td><td>0.0%</td><td>0.0%</td><td>0.0%</td><td>13.6%</td><td>0.0%</td><td>0.0%</td><td>0.0%</td></tr><tr><td>Click [10]</td><td>Python</td><td>15</td><td>611</td><td>Java</td><td>15</td><td>0.0%</td><td>0.0%</td><td>0.0%</td><td>0.0%</td><td>0.0%</td><td>0.0%</td><td>0.0%</td></tr><tr><td>Total/Average (All)</td><td>-</td><td>1,700</td><td>10,858</td><td>-</td><td>6,197</td><td>8.1%</td><td>2.8%</td><td>14.5%</td><td>47.3%</td><td>3.5%</td><td>5.3%</td><td>2.1%</td></tr></tbody></table>

Many difficulties to translate real projects from one programming language to another one
# Des lignes de tension identifiées (sélection)

* Accélération par IA vs. rigueur scientifique en CS

https://metalblog.ctif.com/2022/01/17/physics-informed-neural-networks/

<figure><img src="image_7.png" /></figure>

Error between the real value and the predicted value - as for that of a traditional neural network

Error between predicted value and the value respecting the physical law.

Difficulté pour régler les PINNS
# Et donc, doit-on aller vers l'IAG pour le HPC ?

On y va déjà au regard des investissements massifs en cours !!

<figure><img src="image_8.png" /></figure>

## Comment y contribuer intelligemment ?

* Construire des écosystèmes hybrides HPC + GenAI mutualisés

* Encourager le co-design matériel / modèles (CS) / algorithmes (GL)

* Développer des LLM spécialisés scientifiques (≠ généralistes)

* Soutenir la formation, l'ouverture et des benchmarks communs

Vigilance : veille techno/scientifique nécessaire, le train va vite !!

<figure><img src="image_9.png" /></figure>
Merci de votre présence !

<figure><img src="image_10.png" /></figure>