Essai bootstrap

Bootstrap Example

Bootstrap Tutorial

Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile-first projects on the web.

OpenACC pour la Mémoire unifiée CUDA

Les compilateurs PGI tirent parti des fonctionnalités matérielles Pascal et Volta GPU, de NVLink et de la mémoire unifiée CUDA pour simplifier la programmation OpenACC sur les serveurs à processeurs accélérés par GPU x86-64 et OpenPOWER. Lorsque les données allouables OpenACC sont placées dans la mémoire unifiée CUDA, aucun mouvement explicite de données ou de données n'est nécessaire. Cela simplifie l'accélération GPU des applications qui utilisent largement les données allouables et vous permet de vous concentrer sur la parallélisation et l'évolutivité de vos algorithmes.

Réduit  l'effort de développement

Developer View of CUDA Unified Memory Diagram

Support AVX-512

Les instructions de la CPU Intel AVX-512, disponibles sur les processeurs Skylake de dernière génération, permettent de multiplier par deux le nombre d'opérations en virgule flottante par rapport aux instructions AVD SIMD de la génération précédente. Avec une largeur de 512 bits, AVX-512 double la largeur du registre et le nombre total de registres, et peut aider à améliorer les performances des applications HPC

Nouvelles fonctionnalités de C ++ 17

La version 2018 du compilateur PGI C ++ introduit un support partiel pour le standard C ++ 17 lors de la compilation avec --c ++ 17 ou -std = c ++ 17. Les fonctionnalités de langage C ++ 17 supportées sont disponibles sur toutes les versions de macOS supportées et sur les systèmes Linux avec GCC 5 ou plus récent. Les nouvelles fonctionnalités du langage C ++ incluent des instructions conditionnelles à la compilation (constexpr if), des liaisons structurées, des instructions de sélection avec des initialiseurs, des expressions de fold, des variables inline, constexpr lambdas, et lambda capture de * this by value.

C++17
OpenMP

OpenMP 4.5 pour les processeurs multicœurs

Précédemment disponible avec les compilateurs PGI pour Linux / OpenPOWER, PGI 2018 introduit la prise en charge de la syntaxe et des fonctions OpenMP 4.5 dans les compilateurs PGI Fortran, C et C ++ sous Linux / x86-64. Vous pouvez maintenant utiliser PGI pour compiler des programmes OpenMP 4.5 pour une exécution en parallèle sur tous les cœurs d'une CPU ou d'un serveur multicœur. Les régions TARGET sont implémentées avec la prise en charge par défaut de l'hôte multicœur comme cible, et les boucles PARALLEL et DISTRIBUTE sont parallélisées sur tous les threads OpenMP.

PGI Unified Binary pour Tesla et Multicore

Utilisez OpenACC pour créer des applications pour l'accélération GPU et l'exécution parallèle sur tous les cœurs d'un serveur multicœur. Lorsque vous exécutez l'application sur un système compatible GPU, les régions OpenACC se déchargent et s'exécutent sur le GPU. Lorsque le même exécutable d'application est exécuté sur un système sans GPU, les régions OpenACC sont exécutées en parallèle sur tous les cœurs du système. Si vous développez des applications commerciales ou de production, vous pouvez maintenant accélérer votre code avec OpenACC et déployer un seul binaire utilisable sur n'importe quel système, avec ou sans GPU

PGI Unified Binary Performance

PGI Unified Binary Performance Chart

Utilisation des Lambdas C ++ 14  avec Capture dans les régions OpenACC

Les expressions lambda C ++ fournissent un moyen pratique de définir des objets de fonction anonymes à l'emplacement où ils sont appelés ou passés en arguments. Le spécificateur de type automatique peut être appliqué aux paramètres lambda pour créer une expression lambda polymorphe. Avec les compilateurs PGI, vous pouvez utiliser lambdas dans les régions de calcul OpenACC de vos programmes C ++. L'utilisation de lambdas avec OpenACC est utile pour diverses raisons. Un exemple est de générer une génération de code personnalisée pour différents modèles de programmation ou plates-formes. C ++ 14 a ouvert des portes pour de plus en plus de cas d'utilisation lambda, en particulier pour les lambdas polymorphes, et toutes ces fonctionnalités sont maintenant utilisables dans vos programmes OpenACC.
La version 2018 inclut un générateur de code LLVM pour x86-64 entièrement intégré aux compilateurs PGI Fortran, C et C ++, incluant le support pour OpenACC et CUDA Fortran. Cette version initiale introduit la prise en charge des fonctionnalités OpenMP 4.5 ciblant les processeurs multicœurs x86-64 et améliore les performances de nombreuses applications C ++. Inclus dans le package d'installation de PGI Linux, les composants LLVM s'installent avec les compilateurs PGI par défaut et sont appelés avec une simple option de ligne de commande..

Générateur de code LLVM / x86-64

La version 2018 inclut un générateur de code LLVM pour x86-64 entièrement intégré aux compilateurs PGI Fortran, C et C ++, incluant le support pour OpenACC et CUDA Fortran. Cette version initiale introduit la prise en charge des fonctionnalités OpenMP 4.5 ciblant les processeurs multicœurs x86-64 et améliore les performances de nombreuses applications C ++. Inclus dans le package d'installation de PGI Linux, les composants LLVM s'installent avec les compilateurs PGI par défaut et sont appelés avec une simple option de ligne de commande.

PGI Profiler

Caractéristiques de profilage améliorées

La nouvelle vue détaillée du processeur affiche une répartition du temps passé sur le processeur pour chaque thread. Trois options d'arborescence d'appel vous permettent de profiler en fonction de l'appelant, de l'appelé ou du numéro de fichier et de ligne. Afficher le temps pour tous les threads ensemble ou individuellement, trier rapidement les événements par min ou max time, et plus encore. Les autres nouvelles fonctionnalités comprennent une option permettant d'ajuster la fréquence d'échantillonnage du compteur de programme et un affichage amélioré montrant la version NVLink de la topologie NVLink.

This is another text.