NEC a développé un Vector Engine (VE) pour l’informatique accélérée par vectorisation, avec le concept que l’application complète s’exécute sur le Vector Engine haute performance et que les tâches du système d’exploitation sont prises en charge par le Vector Host (VH), qui est un serveur x86 standard. C’est la première fois que le processeur vectoriel de la série SX de NEC est intégré de manière transparente dans l’environnement logiciel Linux. Cela permet au Vector Engine de se concentrer sur la fourniture de la meilleure performance applicative.
Le processeur Vector Engine de NEC du nouveau système disposera de huit cœurs vectoriels indépendants.
Il y aura 64 registres vectoriels pleinement fonctionnels par cœur, qui peuvent alimenter les unités fonctionnelles ou recevoir les résultats de celles‑ci. C’est la première amélioration significative et importante par rapport aux anciens systèmes SX, qui ne disposaient que de huit registres vectoriels, plus 64 registres dits de données vectorielles utilisés pour les résultats intermédiaires, mais sans la pleine fonctionnalité d’un registre vectoriel, à savoir agir comme entrée pour les unités fonctionnelles. Ainsi, à l’avenir, le compilateur aura beaucoup plus d’options pour optimiser l’utilisation des registres et, par conséquent, cela améliorera l’efficacité du système.Les registres vectoriels auront 256 entrées de largeur 8 octets, pouvant ainsi gérer des données en double précision à pleine vitesse. Ainsi, l’ensemble complet des registres représente 128 kB de données immédiatement disponibles pour les calculs à la vitesse d’un registre !Le nouveau système disposera de trois unités FMA, plus une pour la division et la racine carrée, par cœur. FMA signifie « floating‑point multiply add », et reflète une expression comme a * b + c. L’importance du pipe pour la division et la racine carrée est souvent sous‑estimée. En effet, de telles opérations ne dominent pas dans les applications scientifiques normales. Mais s’il existe des cas où elles sont nécessaires, elles se révèlent souvent limitantes, ou au moins contribuent de manière significative aux calculs. D’autres architectures emulent ces opérations par une approximation logicielle, ce qui peut être chronophage. Afin de fournir une capacité de calcul élevée, ces pipes sont conçus avec un parallélisme de 32 voies, c‑à‑d‑à‑l‑l, chaque pipe produit 32 résultats par cycle. Traditionnellement, seules les opérations d’addition et de multiplication sont comptées lors du calcul de la performance maximale d’une architecture. Pour le nouveau système, cela donne alors 3 * 2 * 32 = 192 opérations flottantes double précision par cycle Il existe d’autres pipes pour l’arithmétique en point fixe et les opérations logiques. Et tout ensemble, ils sont entièrement connectés aux registres vectoriels par un commutateur entièrement non bloquant.
NEC SX‑Aurora TSUBASA Mémoire
Le processeur NEC Vector Engine possède un « Last-Level-Cache » (LLC) partagé nouvellement développé, le premier cache vectoriel partagé jamais créé. Ce LLC partagé sert tous les cœurs simultanément et possède une politique « write-back », ce qui signifie que la cohérence entre les différents cœurs, le LLC et la mémoire est toujours facilement assurée. En même temps, ce type d’architecture se prête facilement à une parallélisation en mémoire partagée, par autoparallélisation ou OpenMP, tandis que MPI serait utilisé pour paralléliser sur différents Engines. Le cache de dernier niveau a une taille de ligne de 128 octets, et certaines fonctionnalités supplémentaires sont mises en œuvre pour augmenter l’efficacité des opérations de stockage à pas ou de dispersion.
NEC utilise la deuxième génération du standard « High Bandwidth Memory » (HBM2). Un bloc de mémoire HBM2 est réalisé en empilant quatre ou huit die ensemble, et il atteint jusqu’à 200 GB/s de bande passante tout en offrant soit 4 soit 8 GB de capacité. Six de ces blocs de mémoire et le processeur Vector Engine sont connectés par un « Silicon interposer », un die spécial à monter qui relie mémoire et processeur. Ils fournissent un total de 24 GB à 48 GB par Vector Engine et une bande passante exceptionnelle de 1,53 TB/s, la meilleure bande passante du marché.
Processeur NEC Vector Engine avec six mémoires à large bande passante (HBM2)
Interconnexion NEC SX-Aurora TSUBASA
Le NEC Vector Engine peut communiquer avec d’autres Vector Engines ou processeurs x86 via mémoire partagée, PCI Express ou un réseau haute vitesse.
Logiciel SX-Aurora TSUBASA NEC
Environnement logiciel NEC SX-Aurora TSUBASA
Avec la sortie du NEC SX‑Aurora TSUBASA, un nouveau concept en matière de logiciel a été développé. La génération précédente des machines de la série SX de NEC fonctionnait sous le système d’exploitation Super‑UX, qui offrait des performances optimales pour l’ensemble de matériel dédié fourni avec les machines SX de NEC. En combinant cette connaissance avec la fonctionnalité de la pile du noyau Linux actuel, il est possible d’envisager une plus grande variété de concepts matériels et logiciels pour le SX‑Aurora TSUBASA.
Le système NEC SX-Aurora TSUBASA exploite la polyvalence de Linux. Les utilisateurs ont accès à tout le matériel et à tout logiciel pris en charge par Linux, mais pour les applications le système Aurora propose un compilateur et des bibliothèques bien réglés et optimisés. Le Vector Host prend en charge toutes les tâches liées au système d’exploitation ainsi que des tâches telles que la planification ou la surveillance sans perturber l’application. L’application s’exécute dédiée sur le Vector Engine.
L’interface entre le Vector Host et le Vector Engine est contrôlée par un module du noyau Linux afin que les applications puissent être exécutées de façon transparente pour l’utilisateur sur le Vector Engine.
L’utilisateur travaillera dans un environnement Linux complet, y compris des compilateurs optimisés et des bibliothèques hautement réglées. L’exécution de l’application peut être lancée depuis l’environnement Linux soit de façon interactive, soit via un système par lots. Tout ce qui se compile pour Linux peut également être compilé pour le Vector Engine. Les compilateurs prennent en charge Fortran 2003, avec des extensions de Fortran 2008, ainsi que C++14. Les compilateurs sont capables de vectoriser et d’auto-paralléliser les boucles. Pour la parallélisation générale, OpenMP et MPI seront pris en charge.
Applications
Chimie computationnelle
VASP (Paquet de Simulation Ab initio de Vienne)
Aperçu de l’Application
Logiciel de chimie computationnelle pour effectuer des calculs quantiques de première principe.
Il est largement utilisé dans plus de 1 400 instituts de recherche à travers le monde pour la conception de matériaux tels que les batteries, les céramiques, les catalyseurs, les métaux et les semi-conducteurs.
Utilisation
Minimisation électronique
Caractérisation des semi-conducteurs
Optimisation structurelle
Dynamique moléculaire
Analyse caractéristique de l'électrode
Calcul magnétique
Calculs d’état de transition etc.
Accélération
Les algorithmes de base des calculs de première principe sont orientés vecteur, car ils sont des opérations matricielles et des transformées rapides de Fourier.
The temps de calcul de l’analyse est réduit d’environ “45 %” par rapport au calcul sur le serveur Xeon et jusqu’à 1,78 fois plus de performance de calcul.
Pour la disponibilité de la version SX‑Aurora pour VASP Version 5.4.4, veuillez contacter NEC. VASP.6.3.0 sur SX‑Aurora TSUBASA est officiellement supporté et téléchargeable depuis le (seulement pour les détenteurs de licence)
Type de logiciel :
Logiciel ISV (logiciel payant)
QuantumESPRESSO
Aperçu de l’Application
Un ensemble intégré de codes informatiques open-source pour la modélisation des matériaux basé sur les calculs de structure électronique de PWscf (Plane-Wave Self-Consistent Field).
Utilisation
Estimation de l’état électronique du cristal, des propriétés de conduction électrique et des spectres d’excitation optique
Exploration de la structure matérielle pour le développement de matériaux
Modélisation de divers matériaux par simulation moléculaire de cristaux, liquides, etc.
Accélération
Les algorithmes sous‑jacents aux calculs de première‑principes conviennent aux vecteurs, car ils sont des opérations matricielles et des transformées rapides de Fourier.
Le temps de calcul de l’analyse est réduit d'environ « un demi » par rapport au calcul sur le serveur Xeon.
Pour la disponibilité de la version SX-Aurora pour la version QuantumESPRESSO 6.3/6.4.1, veuillez contacter NEC.
Type de logiciel :
OSS (logiciel libre)
Analyse structurelle
CalculiX
Aperçu de l’Application
CalculiX est un logiciel open source d’analyse par éléments finis.
Il a été développé par une équipe d'employés de MTU Aero Engines, un fabricant allemand de moteurs d'aviation.
Vous pouvez effectuer des calculs d’ingénierie tels que l’analyse structurelle, l’analyse de résistance, l’analyse de transfert thermique et l’analyse couplée.
Il a été développé pour être compatible avec le format de fichier d’entrée Abaqus (INP), un logiciel d’analyse par éléments finis bien connu.
Utilisation
Modélisation et traitement computationnel pour les petits aéronefs tels que les moteurs à réaction
Analyse d’impact décroissante des équipements
Évaluation de la déformation et du stress dus aux contraintes thermiques sur les cartes électroniques, etc.
Prévision de la durée de vie de fatigue des pièces soudées
Sa simulation de conception peut être utilisée pour la modélisation et l’analyse de divers types de structures, et est utilisée en architecture, fabrication et développement de matériaux.
À propos de la version SX-Aurora TSUBASA de CalculiX ("CalculiX for Aurora")
Nous avons intégré notre NLC (Numeric Library Collection) HeteroSolver et SBLAS dans le solveur CalculiX
Le solveur implémenté est disponible pour l’analyse statique, l’analyse dynamique, l’analyse thermique, etc.
Dans cette version publique, il est possible de construire un environnement de travail en utilisant PrePoMax* comme outil de pré‑post‑traitement
Cette version « CalculiX for Aurora » est le résultat d’une recherche conjointe avec le professeur Ryoichi Shibata du Gifu National College of Technology. De plus, le Centre de promotion des superordinateurs industriels (ISCPC) a collaboré avec nous pour accélérer et créer un outil (builder) pour construire l’environnement d’utilisation.
À propos de PrePoMax
PrePoMax est un outil d’analyse structurelle gratuit disponible exclusivement pour Windows qui intègre le « solver CAE d’analyse structurelle open source » traditionnellement très évalué appelé « CalculiX » et il est également extrêmement facile à utiliser, atteignant le niveau des CAE commerciaux. Accélération
La version Aurora de CalculiX utilise un modèle de calcul hybride combinant VH et VE, ce qui est l’une des caractéristiques de SX‑Aurora TSUBASA.
Nous avons effectué des calculs en VE pour ces opérations qui ne sont pas adaptées à la vectorisation telles que les parties de pré‑traitement et de post‑traitement de CalculiX, et avons intégré notre NLC (Numerical Library Collection) HeteroSolver (méthode directe) et SBLAS (méthode itérative (méthode CG)) dans le solveur d’analyse pour les exécuter en VE.
Par cette méthode, nous avons atteint des calculs rapides.
Comparé au solveur SPOOLES original sur serveur Xeon, le calcul d’analyse est environ 5 fois plus rapide pour l’analyse statique de la contrainte de piston et environ 8 fois plus rapide pour l’analyse de contact des jonctions à clous dans la construction en bois.
Super Matrix Solver est une collection de bibliothèques initialement développées par VINAS pour résoudre des systèmes d’équations linéaires simultanées. Elle peut être intégrée dans des applications d’analyse numérique dans divers domaines.
« Super Matrix Solver‑BEM » pour les matrices denses et « Super Matrix Solver‑MF » pour les matrices creuses a été optimisé pour les processeurs vectoriels. Cette bibliothèque fournit une solution rapide et stable pour diverses équations linéaires simultanées.
Objectif
Super Matrix Solver-BEM … pour résoudre des équations linéaires simultanées formulées et discrétisées par la méthode des éléments de frontière. Applicable dans des domaines tels que l’analyse de propagation d’ondes, l’analyse de vibration du sol, l’analyse de problème acoustique, l’analyse de champ électromagnétique, etc.
Super Matrix Solver-MF … pour résoudre des équations linéaires simultanées discrétisées par des méthodes telles que l’élément fini, le volume fini et la différence finie. Applicable dans des domaines tels que l’analyse structurelle, l’analyse fluide, l’analyse de champ électromagnétique, etc.
Performance
Réalisé une computation haute vitesse car résoudre des équations linéaires simultanées consiste principalement en des opérations matricielles, dont la haute performance de SX‑Aurora TSUBASA contribue. Un gain de temps significatif peut être réalisé spécifiquement pour les matrices denses.
La parallélisation de mémoire partagée avec OpenMP est intégrée.
Le temps de calcul peut être réduit à environ 1/15 par rapport aux CPU Xeon.
Le compilateur Fortran est conforme à la norme Fortran-2003 (ISO/IEC 1539-1:2004) et prend en charge de nombreuses fonctionnalités de Fortran-2008 (ISO/IEC 1539-1:2010).
Le compilateur C est conforme à C11 (ISO/IEC 9899:2011), le compilateur C++ prend en charge le standard C++14 (ISO/IEC 14882:2014) et prend en charge certaines fonctionnalités de C++17 (spécification en cours, ISO/IEC 14882:2017). Les compilateurs C et C++ sont hautement compatibles avec GNU C et C++, et prendront en charge de nombreuses extensions connexes.
Prend en charge les mêmes options de compilateur que GNU C et C++
Prise en charge de nombreuses fonctions utiles du préprocesseur GNU C
Autorisation des pragmas spécifiques GCC
__attribute__
Support pour le langage d’assemblage inline
NEC possède plus de 30 ans d’expérience en technologie de compilateurs pour les machines vectorielles haut de gamme, et ces nouveaux compilateurs seront basés sur cette expérience et prendront en charge toutes les stratégies d’optimisation pour lesquelles les compilateurs NEC sont reconnus. En particulier, ces compilateurs prendront tous en charge la vectorisation automatique au niveau élevé pour lequel les compilateurs NEC étaient célèbres par le passé. Un ensemble de directives est fourni pour fournir des informations supplémentaires au compilateur et affiner davantage la vectorisation.
NEC MPI
L’implémentation MPI du SX-Aurora TSUBASA fonctionne sur un réseau haute vitesse, via PCI Express et les régions de mémoire partagée à l’intérieur du processeur Vector Engine. De cette façon, un transfert de données à faible latence et à haut débit est possible. L’implémentation MPI prend en charge la dernière norme MPI 3.1 et est disponible pour Fortran et C/C++.
Outils d’aide au développement logiciel puissants
NEC Ftrace Viewer est un outil d’analyse de performance pour les programmes Fortran/C/C++. Il fonctionne pour les codes parallèles utilisant MPI et OpenMP et affiche non seulement des informations sur le temps d’exécution des processus MPI ou des threads, mais aussi des informations sur le temps de communication entre les processus MPI de manière graphique afin d’identifier les goulets d’étranglement et les déséquilibres de charge. NEC Ftrace Viewer prend en charge une large gamme d’analyses de performance allant d’un programme à thread unique à un programme parallèle à grande échelle.
Débogueur, “NEC Parallel Debugger”
NEC fournit un débogueur parallèle qui permet le débogage interactif depuis un terminal utilisateur. Il peut gérer Fortran/C/C++ et fournir diverses fonctionnalités, y compris le débogage d’applications basées sur MPI et la parallélisation en mémoire partagée avec OpenMP.
※ OpenMP :OpenMP is a registered trademark of OpenMP Architecture Review Board.
Idéal pour l’IA, le big data et les applications systèmes embarqués. Domaines d’application : inspection de produits, traitement d’images médicales, prévision de la demande, prévision météorologique, analyse radar, etc.
Le NEC SX‑Aurora TSUBASA A311‑8 est une solution flexible avec huit moteurs vectoriels intégrés étroitement pour les centres de données moyens à grands. Ce modèle offre une solution optimisée MPI intégrée.
Le NEC SX-Aurora TSUBASA A511-64 est la plateforme la plus puissante pour les centres de recherche et les grands datacenters. Le système offre également la possibilité d’utiliser le refroidissement liquide direct.
Le NEC SX‑Aurora TSUBASA B401‑8 est une solution flexible avec huit Vector Engines intégrés de la deuxième génération pour les centres de données moyens à grands. Ce modèle fournit une solution optimisée MPI intégrée.