8. Various remarks#

A few parameters, threshold values, are used in MULT_FRONT. They are intended to optimize the code, in terms of calculation time. These are:

NB: length of the blocks for the use of DGEMM. \(\mathit{NB}\) is provided by the LLBLOC () function which returns the value 96. Each time the processor is changed, it would be appropriate to check whether this value is optimal. \(\mathit{PMIN}\) (set to 10 in MLTFC1). This value is linked to the previous one. Super nodes whose size (number of degrees of freedom, given by \(\mathit{LGSN}\)) is less than \(\mathit{PMIN}\), are treated by MLTF21 and not by MLMTFLM, MLTFMJ. This means that unknowns are processed column by column and not by block (with the call to SDGEMM).

This threshold aims to simplify the processing of small test cases and not to activate the block machinery for small super nodes.

\(\mathit{NBSOL}\): It is the number of second members treated during the descent/ascent, if \(\mathit{NBSOL}\) is less than 4, the descents/ascents are carried out one after the other by MLTDRA, otherwise we work by BLOC in RLBFR8. \(\mathit{SEUIN}\) \(\mathit{SEUIK}\): values used in MLTDRA: they determine the use of DGEMV for the matrix-vector product, under these thresholds, SSPMVB will be called « optimized » by hand. (Given the lack of weight of MLTDRA, these 2 thresholds could be removed).

As already noted above, it would be appropriate from time to time to check whether these thresholds are adequate.