Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
EECE.6540 Heterogeneous Computing (Université du Massachusetts Lowell) - 46. Concepts de base du FPGA
46. Concepts de base du FPGA
Cette vidéo couvre les concepts de base des réseaux de portes programmables par l'utilisateur (FPGA). Contrairement aux processeurs, les FPGA peuvent être programmés pour s'adapter à des ressources matérielles spécifiques, ce qui signifie qu'ils sont hautement personnalisables. La vidéo traite de l'importance de la latence dans la conception de circuits et de la façon dont elle peut être équilibrée avec la maximisation de f max. Il introduit le concept de conception de pipeline pour augmenter la fréquence à laquelle un calcul peut être effectué, ainsi que la discussion des chemins de données et des chemins de contrôle dans un circuit. Enfin, la vidéo traite de l'occupation des circuits dans un FPGA et de la façon dont la diminution des bulles et l'augmentation de l'occupation peuvent augmenter f max.
47. Analyse de conception (I) : Analyser les premières images FPGA
47. Analyse de conception (I) : Analyser les premières images FPGA
Cette section de la vidéo se concentre sur le processus d'analyse des premières images FPGA pour une conception DPC++. L'orateur explique les étapes impliquées, telles que la compilation du programme, la génération du binaire FPGA et l'exécution du profilage. La vidéo comprend une démonstration sur la façon de générer des rapports et d'interpréter les divers panneaux d'information fournis dans les rapports. Le conférencier analyse également les premières images FPGA d'un module b2 et discute des différents blocs logiques, des boucles, de l'unité de charge et du facteur de déroulement. Ils expliquent également comment la conception d'une fonction du noyau peut avoir un impact significatif sur la conception interne du FPGA et fournissent des exemples de la manière dont les boucles internes et externes peuvent être déroulées pour augmenter le débit. Les exemples illustrent la flexibilité de la programmation en langage de haut niveau pour influencer les ressources matérielles du FPGA.
48. Analyse de conception FPGA DPC++ (II) : profilage d'exécution
48. Analyse de conception FPGA DPC++ (II) : profilage d'exécution
Dans cette vidéo, le présentateur décrit le processus d'analyse des performances d'exécution d'un programme à l'aide d'outils qui collectent des données de performances en ajoutant des registres d'instruments de profilage aux flux binaires FPGA. Ils montrent comment compiler pour le profilage et interpréter les résultats du profilage collectif à l'aide du profileur dynamique Intel FPGA avec des compteurs de performances ajoutés par l'utilisateur. Ils montrent comment le profileur V2 affiche les fonctions du noyau et les exécutables utilisés pour analyser les résultats du profilage d'exécution, et comment identifier les goulots d'étranglement des partitions et les optimiser. L'exemple utilisé est un noyau de modification de matrice qui avait beaucoup d'accès mémoire à la mémoire globale, qui a été optimisé en utilisant la mémoire locale pour réduire la communication avec la mémoire globale et améliorer l'efficacité de la conception.
EECE.6540 Informatique hétérogène (Université du Massachusetts Lowell) - 49. Exemples OpenCL
49. Exemples OpenCL (I)
La vidéo YouTube "Exemples OpenCL (I)" couvre l'implémentation de la multiplication matricielle à l'aide de boucles imbriquées dans la programmation C et son implémentation en tant que noyau OpenCL. Le conférencier explique comment utiliser deux niveaux de boucles imbriquées pour le calcul du produit scalaire de l'élément résultant dans la matrice, et comment chaque élément de sortie de la matrice C est traité comme un élément de travail distinct dans OpenCL. La vidéo couvre également les étapes nécessaires pour préparer l'exécution du noyau OpenCL et récupérer la matrice résultante d'un périphérique à un hôte, ainsi que la définition de la taille des groupes de travail et l'exécution du noyau avec des arguments de noyau modifiés. De plus, un exemple de code pour la multiplication matricielle est fourni, et l'orateur démontre le processus d'obtention des ID de périphérique et de plate-forme sur un Mac OS et de création d'un objet programme sur différentes plates-formes. Enfin, la vidéo explique la gestion des tampons, en traçant les ressources allouées côté hôte et les ressources OpenCL utilisées, et fournit un exemple simple de noyau de multiplication.
Cette vidéo couvre divers exemples d'utilisation d'OpenCL, y compris la multiplication matricielle, la rotation d'image et le filtrage d'image. Pour la rotation d'image, l'orateur explique comment décomposer le problème à l'aide de la décomposition d'entrée et démontre la fonction noyau utilisée pour identifier l'emplacement d'origine et le nouvel emplacement de chaque pixel. Pour le filtrage d'image, l'orateur aborde le concept de création d'objets image côté périphérique et l'utilisation de l'échantillonneur OpenCL pour définir comment accéder à l'image. Ils présentent également un exemple d'implémentation de la fonction de convolution d'image avec deux boucles for imbriquées. La vidéo se termine par une démonstration de l'utilisation d'OpenCL pour effectuer un filtre de convolution sur une image et vérifier les résultats.
Une comparaison de SYCL, OpenCL, CUDA et OpenMP pour la classification vectorielle de support massivement parallèle ( WOCL / SYCLcon 2022 )
Une comparaison de SYCL, OpenCL, CUDA et OpenMP pour une classification vectorielle de support massivement parallèle
La vidéo compare les performances de SYCL, OpenCL, CUDA et OpenMP sur différentes plates-formes matérielles pour une classification massivement parallèle des machines à vecteurs de support. L'orateur explique la parallélisation de la multiplication matrice-vecteur avec une implémentation appelée Parallel Fibonacci, qui prend en charge l'exécution multigpu, mais uniquement la classification binaire et les calculs denses. Le matériel utilisé pour les tests comprend les GPU Nvidia A100 et RTX 380, le GPU AMD Radeon Pro 7 et le processeur Intel Core E9-10-09020X. Les résultats montrent que CUDA est le backend le plus rapide pour les GPU Nvidia, tandis qu'OpenCL est le backend le plus rapide pour les CPU. SYCL est convivial, tandis que Hipsicle est plus rapide que DPC++ et OpenCL pour une utilisation bon marché. De plus, l'orateur discute des travaux futurs, tels que l'étude des performances sur les FPGA, l'ajout de la prise en charge des systèmes distribués via les MPI et l'utilisation de calculs de précision mixtes et de matériel spécial d'apprentissage automatique comme les cœurs de tenseur de NVIDIA.
Atteindre un C++ encore plus riche dans les noyaux OpenCL avec l'utilisation de libclcxx ( WOCL / SYCLcon 2022 )
Atteindre un C++ encore plus riche dans les noyaux OpenCL avec l'utilisation de libclcxx
La vidéo traite de l'utilisation de libclcxx pour permettre l'intégration des bibliothèques C++ dans le développement du noyau open source. Le projet intègre des traits de type, une bibliothèque essentielle pour la méta programmation en C++, dans le but d'exposer davantage de fonctionnalités C++ aux développeurs. La vidéo montre comment la bibliothèque de traits de type peut optimiser les performances des noyaux OpenCL grâce à sa capacité à manipuler l'espace d'adressage et les types de vecteurs. La vidéo encourage les développeurs à expérimenter avec la bibliothèque et à contribuer à réduire les cycles de développement tout en obtenant une compatibilité maximale avec C++. La bibliothèque fournit une documentation Oxygen dans un style similaire aux pages de référence C++, ce qui permet aux développeurs de naviguer facilement dans les nouvelles fonctionnalités.
SYCL au-delà d'OpenCL : l'architecture, l'état actuel et l'orientation future de hipSYCL ( IWOCL / SYCLcon 2020 )
SYCL au-delà d'OpenCL : l'architecture, l'état actuel et l'orientation future de hipSYCL
Le projet hipSYCL est une implémentation open source de SYCL qui cible les GPU via le modèle de programmation HIP au lieu d'OpenCL. Il se compose d'un composant compilateur, d'une interface faucille et d'un environnement d'exécution sécurisé. Le compilateur sécurisé identifie les noyaux, gère l'allocation de mémoire locale et implémente un mécanisme de signalisation. La fonction de répartition crée des éléments spécifiques basés sur des noyaux fournis par l'utilisateur, et des fonctions optimisées peuvent être définies avec rock prim. L'orientation future consiste à autoriser plusieurs back-ends et à supprimer les restrictions sur le modèle de compilation statique. Le modèle de soumission d'opérations est en train de passer à une soumission par lots pour un débit de tâches plus élevé, et hipSYCL est interopérable au niveau du code source, permettant le mélange et la correspondance avec hip et CUDA. En tant que projet open-source, les contributeurs sont les bienvenus.
SYCL : le futur est ouvert, parallèle et hétérogène (Core C++ 2022 )
SYCL : le futur est ouvert, parallèle et hétérogène
Dans cette vidéo sur la programmation SYCL, l'orateur souligne la nécessité d'augmenter le niveau d'abstraction pour augmenter la productivité et attirer davantage de développeurs, car les modèles complexes nécessitent une puissance de calcul accrue, qui est satisfaite par les systèmes d'accélérateurs. L'importance de la portabilité logicielle et de OneAPI est soulignée, car elle permet aux appareils de fonctionner sur des CPU, des GPU et d'autres appareils. Les avantages de SYCL, un modèle de programmation ouvert, parallèle et hétérogène, sont également abordés, le conférencier soulignant les nombreuses ressources et outils en ligne disponibles pour optimiser le code et améliorer les performances. L'orateur encourage les téléspectateurs à visiter oneapi.io et leur chaîne YouTube pour obtenir des ressources et de l'assistance.
Accélération GPU en Python
Accélération GPU en Python
La vidéo explique comment obtenir une accélération GPU dans la programmation Python en tirant parti de la puissance des unités de traitement graphique, qui peuvent fournir une accélération jusqu'à 10x avec le parallélisme des données. Les deux normes de calcul GPU, OpenCL et CUDA, sont brièvement présentées, et la vidéo montre l'utilisation de Pi OpenCL et CUDA pour la multiplication matricielle en Python. L'orateur explique l'utilisation de la mémoire globale et du noyau pour la multiplication matricielle, et discute également de l'algorithme utilisé pour calculer un élément dans le produit matrice-matrice. Le code pour l'accélération GPU en C et Python est discuté, en mettant l'accent sur la compréhension des représentations internes des matrices et de l'allocation de mémoire. Les exercices de la conférence fournissent une base pour une exploration plus approfondie de l'informatique GPU.
Présentation de lancement OpenCL 3.0 (IWOCL / SYCLcon 2020)
Présentation du lancement d'OpenCL 3.0
Le lancement d'OpenCL 3.0 est discuté dans cette vidéo, en mettant l'accent sur son importance pour la programmation parallèle de bas niveau dans l'industrie. OpenCL 3.0 n'ajoute pas de nouvelles fonctionnalités à l'API, mais fournit un réalignement de l'écosystème pour permettre à OpenCL d'atteindre plus de développeurs et d'appareils. Le présentateur discute également de l'ajout d'extensions pour les processeurs légers DSP, de la feuille de route pour les fonctionnalités futures et de l'écosystème croissant de compilateurs de langage de noyau open source qui peuvent générer des noyaux spirituels pour OpenCL Vulcan. Les commentaires des utilisateurs sont encouragés pour aider à finaliser la spécification alors que le groupe de travail se prépare pour la première vague d'implémentations au cours des prochains mois.