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
AMD Developer Central : Présentation technique d'OpenCL. Épisode 2 : Qu'est-ce qu'OpenCL™ ? (a continué)
AMD Developer Central : Présentation technique d'OpenCL. Épisode 2 : Qu'est-ce qu'OpenCL™ ? (a continué)
Dans cette vidéo, Justin Hensley discute de la plate-forme et des modèles de mémoire d'OpenCL, qu'il est important de comprendre lors de l'utilisation d'OpenCL pour accélérer les applications. Il explique qu'un hôte est connecté à un ou plusieurs appareils OpenCL, tels que des GPU ou des processeurs multicœurs, qui ont des unités de calcul qui exécutent du code dans un modèle de données multiples à instruction unique. Les éléments de travail ont une mémoire privée, tandis que les groupes de travail ont une mémoire locale partagée, chaque appareil a une mémoire globale et constante, et les développeurs doivent gérer explicitement la synchronisation de la mémoire et des données pour obtenir des performances maximales. En outre, Hensley discute des objets OpenCL tels que les périphériques, les contextes, les files d'attente, les tampons, les images, les programmes, les noyaux et les événements, qui sont utilisés pour soumettre du travail aux périphériques, synchroniser et profiler les données. Enfin, il explique comment exécuter un programme OpenCL en trois étapes simples : créer des objets programme et noyau, créer des objets mémoire et créer des files d'attente de commandes avec des événements pour garantir le bon ordre d'exécution du noyau.
AMD Developer Central : Présentation technique d'OpenCL. Épisode 3 : Configuration des ressources
AMD Developer Central : Présentation technique d'OpenCL. Épisode 3 : Configuration des ressources
Dans l'épisode 3 de la série de didacticiels OpenCL, l'orateur se penche sur la configuration et la gestion des ressources dans OpenCL, couvrant des sujets tels que les objets mémoire, le contexte, les périphériques et les files d'attente de commandes. Le processus d'accès et d'allocation de mémoire pour les images est également abordé, en mettant l'accent sur les appels d'image en lecture et en écriture et les formats pris en charge. Les caractéristiques des opérations de mémoire synchrones et asynchrones sont examinées, avec une explication de la façon dont le système de gestion d'événements OpenCL peut être utilisé pour garantir l'achèvement du transfert de données. Enfin, il est conseillé aux utilisateurs d'interroger les informations sur l'appareil avec l'appel CL get device info pour choisir le meilleur appareil pour leur algorithme.
à l'espace d'adressage de l'hôte, le CL dans le tampon de mappe de files d'attente est utilisé. Enfin, le tampon de copie de file d'attente CLN est utilisé pour copier de la mémoire entre deux objets mémoire.
AMD Developer Central : Présentation technique d'OpenCL. Épisode 4 : Exécution du noyau
AMD Developer Central : Présentation technique d'OpenCL. Épisode 4 : Exécution du noyau
Dans cette section, Justin Hensley couvre le sujet de l'exécution du noyau dans OpenCL, expliquant que les objets du noyau contiennent une fonction spécifique du noyau et sont déclarés avec le qualificateur du noyau. Il décompose les étapes d'exécution d'un noyau, y compris la définition des arguments du noyau et la mise en file d'attente du noyau. Hensley souligne l'importance d'utiliser des événements pour gérer plusieurs noyaux et éviter les problèmes de synchronisation, et il suggère d'utiliser CL attendre les événements pour attendre qu'ils soient terminés avant de continuer. La vidéo détaille également le profilage de l'application pour optimiser les noyaux qui prennent le plus de temps à s'exécuter.
AMD Developer Central : Présentation technique d'OpenCL. Épisode 5 : Programmation avec OpenCL™ C
AMD Developer Central : Présentation technique d'OpenCL. Épisode 5 : Programmation avec OpenCL™ C
Cette vidéo présente diverses fonctionnalités du langage OpenCL™ C, notamment les fonctions d'élément de travail, les fonctions de groupe de travail, les types de vecteurs et les fonctions de synchronisation intégrées. La vidéo souligne l'importance d'utiliser des qualificateurs d'espace d'adressage corrects pour une écriture de code parallèle efficace et un partage de mémoire entre les groupes de travail. Le concept de types de vecteurs est discuté en détail avec l'utilisation de l'espace mémoire correct pour les arguments de pointeur du noyau, les variables locales et les variables globales du programme. De plus, les fonctions mathématiques intégrées et les fonctions de groupe de travail telles que les barrières et les memfences sont couvertes par une suggestion pour vérifier ces fonctions lors de l'exécution.
Comment utiliser OpenCL pour le travail GPU
Comment utiliser OpenCL pour le travail GPU
La vidéo présente OpenCL en tant qu'outil standard ouvert pouvant fonctionner sur la plupart des nouvelles cartes graphiques sous Windows avec l'installation requise de CUDA ou de pilotes graphiques spécifiques en fonction de la carte. L'orateur décrit un programme simple, le processus de création d'un noyau, des tampons pour les données, la définition des arguments du noyau et la taille de travail globale, et l'exécution de la charge de travail sur l'appareil dans OpenCL, en le comparant à CUDA. Les paramètres impliqués dans la création d'un noyau dans OpenCL pour le travail GPU, la mise en file d'attente du tampon de lecture, la désallocation de mémoire ont été expliqués avec des exemples de codes pour vérifier les calculs. En présentant un petit programme qui applique un flou subtil aux images en niveaux de gris à l'aide d'OpenCL, le présentateur souligne qu'OpenCL a plus de code passe-partout que CUDA mais est une solution ouverte et standard applicable à différentes cartes graphiques et peut être réutilisée sur différents systèmes quel que soit le fabricant.
EECE.6540 Informatique hétérogène (Université du Massachusetts Lowell)
1. Brève introduction au traitement parallèle avec des exemples
Cette vidéo fournit une brève introduction au traitement parallèle avec des exemples. L'orateur explique que le calcul parallèle consiste à décomposer une tâche plus importante en sous-tâches plus petites à exécuter en parallèle. Deux stratégies principales pour y parvenir sont diviser pour régner et disperser et rassembler. La vidéo fournit des exemples d'applications naturelles et artificielles qui ont intrinsèquement beaucoup de parallélisme, telles que les sens humains, les voitures autonomes et la croissance cellulaire. La vidéo aborde également les avantages du traitement parallèle et montre comment il peut être appliqué au tri, à la multiplication vectorielle, au traitement d'image et à la recherche du nombre d'occurrences d'une chaîne de caractères dans un corps de texte. Enfin, la vidéo présente le processus de réduction, également appelé processus de sommation, pour collecter et traiter les résultats obtenus à partir de ressources parallèles.
2. Concurrence, parallélisme, décompositions des données et des tâches
2. Concurrence, parallélisme, décompositions des données et des tâches
La vidéo se penche sur les concepts de concurrence et de parallélisme, ainsi que sur l'utilisation des décompositions de tâches et de données, et sur les techniques de décomposition des données pour le parallélisme et la concurrence. La loi d'Amdahl est explorée comme un moyen de calculer l'accélération théorique lors de l'exécution de tâches sur plusieurs processeurs. L'importance des graphiques de dépendance des tâches est mise en évidence dans l'identification des dépendances inter-tâches lors de la décomposition d'un problème en sous-tâches. Les méthodes de décomposition des données, telles que les données d'entrée et le partitionnement des vecteurs de ligne, sont indiquées comme utiles pour effectuer des calculs. Les opérations atomiques et la synchronisation sont décrites comme essentielles pour générer le résultat correct une fois toutes les sous-tâches terminées.
3. Calcul parallèle : logiciel et matériel
3. Calcul parallèle : logiciel et matériel
La vidéo présente différentes approches pour atteindre des niveaux élevés de parallélisme en informatique. L'orateur décrit les techniques matérielles et logicielles utilisées pour effectuer le calcul parallèle, y compris le parallélisme au niveau des instructions (ILP), les threads logiciels, les processeurs multicœurs, les processeurs SIMD et SPMD. La vidéo explique également l'importance de la densité de parallélisme et le concept d'unités de calcul/traitement, qui permettent un calcul parallèle efficace. De plus, le conférencier discute des défis de la création d'opérations atomiques à des fins de synchronisation et de la nécessité de restructurer les problèmes pour une exécution efficace sur les GPU.
4. Deux articles importants sur les processeurs hétérogènes
4. Deux articles importants sur les processeurs hétérogènes
La vidéo couvre divers articles liés à l'informatique hétérogène, y compris les tendances en matière de conception de processeurs et d'efficacité énergétique, les avantages de l'utilisation de matériel personnalisé et d'accélérateurs spécialisés, l'importance d'équilibrer les grands et les petits cœurs, et les défis du mouvement des données et de la communication efficace entre les cœurs. Les articles discutent également de la nécessité de comprendre la planification et la partition de la charge de travail lorsque vous travaillez avec des processeurs hétérogènes et l'utilisation de langages de programmation et de frameworks comme OpenCL, CUDA et OpenMP. Dans l'ensemble, les articles mettent en évidence les avantages potentiels de l'utilisation de plusieurs cœurs et accélérateurs pour maximiser les performances et l'efficacité énergétique dans des environnements informatiques hétérogènes.
5. Présentation du matériel informatique
5. Présentation du matériel informatique
La vidéo donne un aperçu du matériel informatique et aborde des sujets tels que les architectures de processeur, les considérations de conception, le multithreading, la mise en cache, la hiérarchie de la mémoire et la conception de la logique de contrôle. Il explique également comment un programme est un ensemble d'instructions qu'un ordinateur suit pour effectuer une tâche et les différents types de programmes, y compris les logiciels système et les applications. La vidéo souligne l'importance des composants matériels d'un ordinateur, tels que le processeur et la mémoire, qui fonctionnent ensemble pour exécuter des programmes et effectuer des tâches.