Avec les nouvelles spécifications, exécutez une application sur tous les appareils

La puissance brute a toujours été un instrument de mesure important pour les performances des appareils mobiles et des PC, mais il est également important de déterminer si les applications sont écrites pour exploiter toutes les fonctionnalités matérielles disponibles..

Grâce à une nouvelle spécification annoncée lundi, la Fondation Heterogeneous System Architecture (HSA) veut fournir un cadre commun à travers lequel les développeurs peuvent écrire une application une fois puis l'exécuter sur des serveurs, des appareils mobiles, des consoles de jeu, des appliances et des PC fonctionnant sur différents processeurs..

La spécification HSA 1.0 fournit des directives sous-jacentes pour que les applications puissent également exploiter efficacement la puissance de calcul conjointe des unités de traitement disponibles dans les dispositifs informatiques. Il s'agit de la première spécification publiée par la Fondation HSA depuis sa création en 2012.

L'objectif de HSA 1.0 est non seulement de garantir que les programmes s'exécutent plus rapidement, mais également de manière plus économe en énergie. Certaines applications, comme les logiciels graphiques, peuvent consommer beaucoup d'énergie, et l'équilibrage du traitement entre GPU, CPU et puces spécialisées pourrait aider à prolonger la durée de vie de la batterie des appareils.

L'avantage est limité aux programmes écrits à l'aide de la spécification HSA 1.0 et au matériel le supportant. Il appartient également aux fournisseurs de systèmes d'exploitation de prendre en charge les spécifications et de créer des pilotes afin que les programmes compilés puissent exploiter les fonctionnalités matérielles..

Le matériel des appareils mobiles et des PC devient de plus en plus complexe, et il est de plus en plus difficile pour les programmeurs d'écrire des applications pour plusieurs appareils. La nouvelle spécification permettrait aux développeurs d'écrire des applications indépendantes de l'architecture, ce qui signifie qu'un seul programme fonctionnera sur les processeurs x86 et ARM.

La programmation multicœur a également été un défi depuis l'époque de Windows, la plupart du traitement se faisant sur ou via le CPU. Mais les GPU deviennent importants dans le traitement de la vidéo, et les processeurs de signaux numériques gèrent des tâches telles que la reconnaissance vocale, le traitement audio et la prise d'appels. La spécification HSA 1.0 attribue automatiquement les tâches aux cœurs pertinents, ce qui soulage les développeurs de la programmation des tâches d'exécution des tâches sur des cœurs spécifiques.

Il existe d'autres normes de programmation parallèle ouvertes comme OpenCL essayant de résoudre le même problème, mais elles sont principalement utilisées en supercalcul. Certains des superordinateurs les plus rapides du monde exploitent la puissance de calcul conjointe des processeurs, des GPU et des accélérateurs pour les calculs scientifiques et mathématiques. La Fondation HSA a exprimé le souhait de réussir OpenCL en prenant en charge une plus large gamme d'appareils.

Certains grands noms soutenant la nouvelle norme incluent AMD, Qualcomm, ARM, Imagination Technologies, MediaTek et Samsung. AMD conçoit ses puces pour qu'elles soient compatibles avec les normes HSA en brisant l'emprise des processeurs - qui ont généralement joué un grand rôle dans la planification de l'exécution des programmes - et en fournissant un accès direct à la mémoire et aux autres cœurs de traitement. Grâce à la conception de la puce HSA, AMD en particulier souhaite que les processeurs et les GPU soient des acteurs égaux dans l'exécution des programmes, en particulier en accordant plus d'importance aux graphiques dans les PC, les appareils mobiles et les superordinateurs..

Mais des sociétés clés comme Intel et Nvidia ne participent pas à HSA, ce qui pourrait entraver l'adoption de la spécification. La norme CUDA propriétaire de Nvidia est conçue pour ses puces graphiques de calcul intensif Tesla et ses puces mobiles Tegra, et Intel fournit sa propre suite de programmation parallèle à utiliser avec ses puces. Les entreprises utilisent beaucoup leurs normes de programmation propriétaires, ce qui pourrait aider à améliorer les ventes de puces.

HSA 1.0 supportera initialement les langages de programmation populaires comme Java, C ++, OpenMP, Python et autres. Les entreprises devront également s'assurer que leur matériel est compatible avec les spécifications. Qualcomm, qui est l'un des plus grands fournisseurs de puces mobiles au monde, a déclaré que les processeurs personnalisés, les GPU Adreno et les processeurs de signaux numériques seront compatibles HSA. Imagination Technologies, MediaTek et le concepteur de puces ARM ont également déclaré qu'ils apporteraient à l'avenir la compatibilité HSA sur les conceptions de puces et de processeurs.

Les autres membres clés de la Fondation HSA incluent Oracle, Sony, LG Electronics, Marvell, Toshiba, Broadcom et Texas Instruments.

Rejoignez les communautés Network World sur Facebook et LinkedIn pour commenter des sujets qui vous tiennent à cœur.