===== Commit 2017-01-18 =====
Initialisation blas + eas
===== oo_meta =====
==== mtMath ====
* mtBlas : modification de l'initialisation des Blas de Metafor (toutes les fonctions blas ayant été retirées des operateurs mathématiques utilisés dans les boucles parallélisées par TBB).
* les blas/lapack n'ont pas été enlevées des calculs de
* pseudoInverse (utilisé principalement en prépro mais aussi en ALE => à modifier)
* SymMatrix : résolution de système via décomposition ldlt (pas utilisé à mon observation)
* SymMatrix : résolution de système via décomposition Cholevsky (pas utilisé à mon observation)
* calcul fréquentiel (Lanczos) vu que c'est utilisé soit en pré, soit en post-pro sur des systèmes globaux (donc hors zone TBB)
* L'initialisation des blas est générique, mais sauf validation spécifique (apps/parallel), il n'y a pas de raison d'y recourir (passer par le paramètre -k de metafor.exe ou de battery.py ou à travers launch.py pour imposer le nombre de threads). Prière de ne pas fixer un nombre de threads dans les jeux de données ...
en c++ : void Blas::setNumThreads(int n)
en python : wrap.Blas.setNumThreads(n)
L'utilisation des blas intel (mkl) permet toujours une configuration de divers aspects des MKL (les fonctions ont été renommées de manière à éviter toute confusion)
static int getMklNumThreadsBlas();
static void setMklNumThreadsBlas(int n);
static int getMklNumThreadsPardiso();
static void setMklNumThreadsPardiso(int n);
static int getMklNumThreadsFFT();
static void setMklNumThreadsFFT(int n);
static int getMklNumThreadsVML();
static void setMklNumThreadsVML(int n);
* mtMath::Matrix : suppression d'une operation blas oubliée dans l'operateur *
==== mtElement ====
* EasCauchyMechVolIntegMeth : remplacement de
mtMath::Matrix &k22Inv = getInverse(k22);
k11 -= k12 * k22Inv * k21;
par une version ne demandant pas le calcul explicite de k22Inv :
mtMath::Matrix k22Invk21(nbModes,numberOfDof);
k22.directSolve(k21, k22Invk21);
k11 -= k12 * k22Invk21;
même si la différence de temps de calcul est difficilement mesurable
===== Fichiers ajoutés/supprimés =====
Adding:
Deleting:
===== Tests ajoutés/supprimés =====
Adding:
Deleting:
--- //[[L.Papeleux@ulg.ac.be|Luc Papeleux]] 2017/01/18 //