Aller au contenu principal

Optimisation

Ce guide couvre les réglages pour accélérer les calculs et améliorer la convergence sans sacrifier la précision physique.

Variables MPI et OpenMP

# Recommandé pour QE
export OMP_NUM_THREADS=1
export MPI_NPROC=4

qe-bridge Si --nproc 4
VariableDescriptionValeur recommandée
MPI_NPROCNombre de rangs MPINombre de cœurs physiques
OMP_NUM_THREADSThreads OpenMP par rang1
MPI_COMMANDCommande MPImpirun ou srun (HPC)

Convergence automatisée

Le convergence_manager exécute 4 phases séquentielles :

PhaseParamètrePlage typique
1ecutwfc30 → 120 Ry (pas de 10)
2Grille k-points4×4×4 → 12×12×12
3Constante de maille±5 % autour de la valeur MP
4Pipeline optiqueSCF → NSCF → epsilon.x

Chaque phase s'arrête lorsque la variation d'énergie est inférieure au seuil configuré (conv_thr = 10⁻⁸ Ry).

Prédicteur de k-points

Le module kpoint_predictor.py propose des grilles k adaptées à la structure cristalline, réduisant le nombre d'itérations inutiles.

Benchmarks indicatifs

MatériauK-pointsTemps CPUMémoireDisque
C (diamant)8×8×8~45 min2 GiB3 GiB
Si12×12×12~180 min6 GiB12 GiB
Ge12×12×12~240 min8 GiB15 GiB

Mode léger (tests rapides)

Pour valider l'installation sans lancer un calcul complet :

python3 fetcher.py C --light_mode

Réduit la grille k-points et le nombre de bandes pour un test en quelques minutes.

Paramètres QE recommandés

ParamètreValeurJustification
Ecutwfc60 RyConvergence énergétique < 0.001 Ry
Ecutrho240 Ry4× Ecutwfc
K-points12×12×12Convergence spectrale < 1 meV
PseudopotentialONCV-PBEHaute précision pour les bandes
SmearingMarzari-Vanderbilt 0.02 eVRégularisation métallique/semiconducteur

Parallélisation k-point pools

Pour les grilles k denses (12×12×12 = 1728 points), utilisez plusieurs processus MPI :

qe-bridge Si --nproc 8

Sur un cluster HPC :

module load mpi/openmpi
export OMP_NUM_THREADS=1
srun -n 16 qe-bridge Si

Nettoyage des répertoires de travail

Les calculs QE génèrent des fichiers volumineux dans out/. Nettoyez régulièrement :

python3 clean_save_directories.py

Voir aussi