Ici on amène les résultats
des calculs de test des schémas électriques comprenant seulement les
résistances. Les calculs de test étaient accomplis
pour 32-cœurs et 40-cœurs d'architecture Intel, dans le cadre du projet
Intel (R)ManycoreTestyngLab.
Le logiciel est programmé sur Intel
Fortran Compiler XE 12.0. Pour la programmation parallèle on utilise la
technologie coarray Fortran. Cette technologie est très simple pour la
programmation de l'échange des données entre les processeurs.
Au cours du test on fixait le temps de
calcul et les caractéristiques principales des calculs parallélisés.
L'accélération est calculée selon la formule
A = (N • Tp + Ts)/(Tp +Ts),
où Ts est le temps de calcul de la partie séquentielle du
programme, Tp - le temps de calcul de la partie parallélisée du
programme et N - le nombre de cœurs (sous-schémas).
L'efficacité est calculée selon
la formule : Е=А/N.
On estimait aussi l'influence sur ces paramètres l'application des
bibliothèques MKL (Intel
Math Kernel
Library 10.3).
Les tests étaient accomplis pour les types suivants des tâches :
I)
Les calculs d'un schéma sur 3, 6, 12 et 24 cœurs;
II )
L'augmentation de la dimension du schéma
aux frais de l'augmentation du nombre des sous-schémas avec 3 jusqu'à 30
(et en conséquence les nombres des coeurs avec 3 jusqu'à 30) ;
I) -
Au cours du test, le grand schéma se divisait en différents nombres de
sous-schémas. Le nombre total des résistances restait identique (la
dimension du système ne changeait pas). Le schéma se divisait en 3, 6,
12 et 24 parties. Le nombre total des résistances restait environ égal à
6200, l'ordre du schéma était d’environ 3100. Avec l'augmentation du
nombre de sous-schémas, leur dimension diminue alors que la dimension du
réseau des intersections augmente.
La figure avec la représentation plus détaillée des liaisons des
sous-schémas :
Les calculs étaient passés avec l'application, ainsi que
sans application de la bibliothèque MKL. Pour le calcul des matrices
inverses des sous-schémas on utilisait les sous-programmes MKL : dgetrf
et dgetri.
Pour le calcul du schéma total était utilisé deux
variantes. La première variante - avec l'application de la méthode du
Gauss (les sous-programmes MKL : dgetrf et dgetrs). La deuxième variante
- avec l'application du calcul des matrices inverses.
Les résultats sont présentés
ci-desous:
Sur la figure sont désignés:
1, 2, 3 - Accélération;
4, 5, 6 - Efficacité *10;
7,8,9 - Temps, sec;
10 - nombre total de résistances des liens divisé par 100. Au découpage
du schéma le nombre de liens a augmenté de 65 jusqu'à 410.
- Les lignes
continues correspondent aux calculs sans IMKL (Intel Math Kernel Library
10.3);
- Les lignes
interrompues correspondent aux calculs avec IMKL pour le calcul des
matrices inverses;
- Les lignes
pointillées correspondent aux calculs avec IMKL pour la méthode du
Gauss.
Sur la figure on voit que le temps du calcul a
diminué à l'augmentation du nombre des noyaux avec 3 jusqu'à 12:
6,8 sec si le schéma se divisait en 3 parties et 0,24 sec si le schéma
se divisait en 12 parties.
La vitesse du calcul a augmenté à 27,5 fois à l'augmentation des parties
à 4 fois.
L'augmentation du morcellement du schéma n'a pas amené à l'augmentation
de la vitesse du calcul à cause de l'augmentation de nombre des liens du
schéma. Le temps du calcul a augmenté un peu - jusqu'à 0,35
secondes.
L'application des bibliothèques MKL a amélioré tels paramètres comme
l'accélération et l'efficacité.
***************************************************************************************************
II )
Le test suivant - l'augmentation de la dimension du
schéma au détriment de l'augmentation du nombre de sous-schémas (et en
conséquence du nombre de cœurs).
Les schémas de calculs sont suivants:
.......
........
Etc. jusqu'à 40
.......
Le nombre de sous-schémas augmente de 4 jusqu'à
40. Chaque sous-schéma a 2047 résistances, 1055 paires de nœuds (et de
fait 992 contours). Le nombre de branches du lien augmente de 130 pour 4
sous-schémas jusqu'à 2214 pour 40 sous-schémas. Ainsi, le nombre de
résistances du schéma a augmenté de 8318 jusqu'à 84094. L'ordre du
système augmente de 4098 jusqu'à 41894
Les
résultats des calculs:
augmentation de la dimension du schéma au détriment de l'augmentation du
nombre de sous-schémas
*********************************************************************************************
|