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 : Série de webinaires sur la programmation OpenCL.2. Présentation d'OpenCL
2- Introduction à OpenCL
Cette vidéo fournit une introduction détaillée à OpenCL, une plate-forme de calcul parallèle qui peut utiliser des CPU et des GPU pour accélérer les calculs. Les programmes écrits en OpenCL peuvent être exécutés sur différents appareils et architectures, permettant un code portable sur différentes plates-formes. La vidéo présente les différents modèles d'exécution dans OpenCL, y compris le parallélisme des données et le parallélisme des tâches, et couvre également les différents objets et commandes utilisés dans OpenCL, tels que les objets mémoire, les files d'attente de commandes et les objets noyau. La vidéo se penche également sur les avantages et les limites de l'utilisation d'OpenCL, tels que la nécessité d'une gestion explicite de la mémoire et le potentiel d'améliorations significatives des performances dans les programmes parallèles.
AMD Developer Central : Série de webinaires sur la programmation OpenCL. 3. Architecture GPU
3 - Architecture GPU
Cette vidéo donne un aperçu de l'architecture GPU, en prenant note des origines et de l'utilisation principale des GPU en tant que processeurs graphiques. Les GPU sont conçus pour traiter les pixels avec un haut degré de parallélisme, contrairement aux CPU conçus pour le traitement scalaire avec des pipelines à faible latence. L'architecture des GPU est optimisée pour les tâches spécifiques aux graphiques, qui peuvent ne pas convenir au calcul à usage général. L'orateur explique comment le GPU maximise le débit d'un ensemble de threads plutôt que de minimiser la latence d'exécution d'un seul thread. L'architecture du bloc moteur GPU est également abordée, y compris les partages de données locaux, les fronts d'onde et les groupes de travail. La vidéo explore diverses fonctionnalités de l'architecture GPU qui aident à augmenter la quantité de compactage que le compilateur peut effectuer, y compris l'émission d'opérations dépendantes dans un seul paquet et la prise en charge des compteurs dépendants avec un partage bêta global. Bien que les conceptions de cœur de GPU et de CPU puissent être similaires, leurs charges de travail devront converger pour qu'elles aient des conceptions similaires.
Dans cette vidéo sur l'architecture GPU, le conférencier se penche sur le concept des barrières et leur fonction. Lorsqu'un groupe de travail contient plusieurs fronts d'onde dans un GPU, des barrières sont utilisées pour synchroniser ces fronts d'onde. Cependant, si un seul front d'onde de travail existe dans un groupe, les barrières perdent leur sens et seront réduites à des non-opérations.
AMD Developer Central : Série de webinaires sur la programmation OpenCL. 4 Programmation OpenCL en détail
4 - Programmation OpenCL en détail
Dans cette vidéo, le conférencier donne un aperçu de la programmation OpenCL, discutant de son langage, de sa plate-forme et de ses API d'exécution. Ils élaborent sur le modèle de programmation qui nécessite une parallélisation fine, des éléments de travail et des groupes ou des threads, une synchronisation et une gestion de la mémoire. L'orateur discute ensuite de l'algorithme à n corps et de sa nature d'ordre de calcul n au carré. Ils expliquent comment le code du noyau OpenCL met à jour la position et la vitesse des particules dans la mécanique newtonienne, introduit un cache pour stocker une position de particule et comment le noyau met à jour la position et la vitesse des particules à l'aide de types de données à vecteur flottant. L'orateur se penche également sur la façon dont le code hôte interagit avec les noyaux OpenCL en définissant explicitement les paramètres et les arguments, en transférant les données entre l'hôte et le GPU et en mettant en file d'attente l'exécution du noyau pour la synchronisation. Enfin, la vidéo explore comment modifier le code OpenCL pour prendre en charge plusieurs appareils, synchroniser les données entre les GPU et définir les ID d'appareil pour les tableaux de demi-taille qui les représentent.
La deuxième partie aborde divers aspects de la programmation OpenCL. Il couvre des sujets tels que le schéma à double tampon pour synchroniser la position mise à jour des particules entre deux tableaux, les limitations d'OpenCL et la différence entre les pointeurs globaux et locaux dans l'allocation de mémoire. De plus, il met en évidence les techniques d'optimisation pour la programmation OpenCL, y compris les opérations vectorielles, l'accès contrôlé à la mémoire et le déroulement de boucle, ainsi que les outils disponibles pour analyser l'implémentation OpenCL, tels que les outils de profilage. Le présentateur recommande la norme OpenCL comme ressource pour les programmeurs OpenCL et fournit des URL pour la norme et le SDK ATI Stream. La vidéo aborde également des questions sur des sujets tels que le partage de mémoire, l'optimisation du code, l'allocation de mémoire et l'utilisation des unités de calcul.
AMD Developer Central : Série de webinaires sur la programmation OpenCL. 5. Applications OpenCL du monde réel
5 - Applications OpenCL du monde réel
Dans cette vidéo, Joachim Deguara parle d'une application de traitement vidéo multi-flux sur laquelle il a travaillé, avec un accent particulier sur l'optimisation des performances. La vidéo couvre divers sujets tels que le décodage des formats vidéo, l'utilisation de DMA pour transférer de la mémoire entre le CPU et le GPU, la double mise en mémoire tampon, l'exécution des noyaux, l'utilisation d'objets d'événement pour synchroniser et profiler les opérations, l'interopérabilité OpenCL-OpenGL, le traitement des balayages dans les vidéos et le choix entre OpenCL et OpenGL lors du traitement des algorithmes. Joachim discute également de divers échantillonnages et SDK disponibles pour les applications OpenCL, mais note qu'il n'y a actuellement aucun exemple de code disponible pour l'application spécifique discutée dans la vidéo.
AMD Developer Central : Série de webinaires sur la programmation OpenCL. 6. Extensions de fission de périphérique pour OpenCL
6 - Extensions de fission de périphérique pour OpenCL
Dans cette vidéo, le conférencier couvre divers sujets liés aux extensions de fission d'appareils pour OpenCL. Ils expliquent les différents types d'extensions et comment la fission des appareils permet de diviser les grands appareils en plus petits, ce qui est utile pour réserver un cœur pour des tâches hautement prioritaires ou pour s'assurer que des groupes de travail spécifiques sont affectés à des cœurs spécifiques. Ils discutent de l'importance de conserver la sémantique séquentielle lors de la parallélisation des opérations de refoulement de vecteurs, de l'utilisation de modèles parallèles pour optimiser le processus et de la création de noyaux natifs dans OpenCL. L'orateur présente également une application qui utilise la fission de l'appareil pour OpenCL et discute de l'affinité de la mémoire et de l'avenir de la fission de l'appareil sur d'autres appareils.
AMD Developer Central : Série de webinaires sur la programmation OpenCL. 7. Hydrodynamique des particules lissées
7 - Hydrodynamique des particules lissées
Cette vidéo traite de l'hydrodynamique des particules lissées (SPH), une technique de résolution des équations de la dynamique des fluides, en particulier les équations de Navier-Stokes. La vidéo explique les différents termes dans les équations, y compris les termes de densité, de pression et de viscosité, et comment ils sont approximés à l'aide d'un noyau de lissage. L'algorithme numérique utilisé pour SPH, ainsi que l'utilisation de l'indexation spatiale et Interop, sont également discutés. L'orateur explique le processus de construction d'un index spatial et d'une carte de voisinage et comment la physique est calculée. La vidéo invite les téléspectateurs à télécharger et à utiliser le programme et discute des limites de la simulation. L'orateur répond ensuite aux questions du public sur les performances du GPU, le comportement incompressible et l'utilisation d'images en cache.
AMD Developer Central : Série de webinaires sur la programmation OpenCL. 8. Techniques d'optimisation : Convolution d'image
Dans cette vidéo, Udeepta D. Bordoloi discute des techniques d'optimisation en convolution d'image.
Développeur AMD Inside Track : Comment optimiser la convolution d'image
Comment optimiser la convolution d'image
Cette vidéo présente diverses méthodes d'optimisation de la convolution d'image, notamment l'utilisation du partage de données locales, l'optimisation des constantes et l'utilisation de zones locales plus importantes pour améliorer l'efficacité. Le conférencier souligne l'importance de minimiser le temps de traitement en convolution d'image pour améliorer les performances globales et met en évidence une nouvelle méthode de réutilisation des données en utilisant la mémoire locale. La vidéo propose des suggestions d'étapes d'optimisation telles que l'utilisation d'évidences ou de textures, l'utilisation de la force de pensée et l'utilisation des options de passage au compteur. Un article étape par étape sur l'optimisation des techniques de convolution d'image est disponible sur le site Web du développeur AMD.
AMD Developer Central : Présentation technique d'OpenCL. Présentation d'OpenCL
AMD Developer Central : Présentation technique d'OpenCL. Présentation d'OpenCL
Dans cette vidéo, Michael Houston donne un aperçu d'OpenCL, une norme industrielle pour le calcul parallèle des données ciblant les processeurs multicœurs, les appareils mobiles et d'autres formes de silicium. OpenCL vise à unifier les implémentations propriétaires précédemment concurrentes telles que CUDA et Brook+, ce qui simplifiera le développement pour les éditeurs de logiciels indépendants. Il propose une répartition entre le code qui s'exécute sur l'appareil et le code qui gère l'appareil à l'aide d'un système de file d'attente conçu pour les commentaires des développeurs de jeux. OpenCL est conçu pour bien fonctionner avec les API graphiques, créant un langage informatique omniprésent qui peut être utilisé pour diverses applications telles que l'édition photo et vidéo, ainsi que pour les systèmes d'intelligence artificielle, la modélisation et la physique. Le présentateur discute également de l'utilisation d'OpenCL pour le rendu Hollywood et espère voir plus de travail dans ce domaine.
AMD Developer Central : Épisode 1 : Qu'est-ce qu'OpenCL™ ?
AMD Developer Central : Épisode 1 : Qu'est-ce qu'OpenCL™ ?
Cette vidéo fournit une introduction à OpenCL et à ses objectifs de conception, qui se concentrent sur l'exploitation de divers processeurs pour accélérer les calculs parallèles au lieu des calculs séquentiels. OpenCL permet l'écriture de code portable pour différents processeurs utilisant des noyaux, des dimensions globales et locales et des groupes de travail. Les éléments de travail et les groupes de travail peuvent collaborer en partageant des ressources, mais la synchronisation entre les éléments de travail dans différents groupes de travail n'est pas possible. Les dimensions optimales du problème varient selon les différents types de traitement, et il est important de choisir les meilleures dimensions pour obtenir les meilleures performances. OpenCL peut utiliser pleinement les capacités d'un système en exprimant le parallélisme des tâches et des données à l'aide du modèle d'événement OpenCL.