8. Remarques diverses#
Quelques paramètres, valeurs de seuil, sont utilisés dans MULT_FRONT. Ils sont destinés à optimiser le code, en termes de temps de calcul. Ce sont:
NB: longueur des blocs pour l’utilisation de DGEMM. \(\mathit{NB}\) est fourni par la fonction LLBLOC() qui renvoie la valeur 96. Il serait opportun à chaque changement de processeur de vérifier si cette valeur est optimale. \(\mathit{PMIN}\) (fixée à 10 dans MLTFC1). Cette valeur est liée à la précédente. Les super nœuds dont la taille ( nombre de degrés de liberté, donné par \(\mathit{LGSN}\) ) est inférieur à \(\mathit{PMIN}\) , sont traités par MLTF21 et non par MLMTFLM, MLTFMJ. Cela veut dire que les inconnues sont traitées colonne par colonne et non par bloc avec appel à SDGEMM).
Ce seuil vise à simplifier le traitement des petits cas-tests et de ne pas activer la machinerie par blocs pour les petits super nœuds.
\(\mathit{NBSOL}\) : C’est le nombre de seconds membres traités lors de la descente/remontée, si \(\mathit{NBSOL}\) est inférieur à 4, les Descentes/remontées sont effectuées les unes après les autres par MLTDRA, sinon on travaille par BLOC dans RLBFR8. \(\mathit{SEUIN}\) \(\mathit{SEUIK}\) : valeurs utilisées dans MLTDRA: elles déterminent l’usage de DGEMV pour le produit matrice-vecteur, sous ces seuils, on appellera SSPMVB «optimisé» à la main. (Étant donné le peu de poids de MLTDRA, ces 2 seuils pourraient être supprimés).
Comme on l’a déjà remarqué ci-dessus, il conviendrait de temps en temps de vérifier si ces seuils sont adéquats.