"En isolant les versions matérielles spécifiques des fonctions à partir de l'application native, HMPP™ préserve le code original, conserve l'indépendance de l'application vis-à-vis des plates-formes matérielles évolutives tout en assurant l'interopérabilité."
Copyright © 2008 CAPS entreprise. All rights reserved.
Leverage the computing power of GPUs and FPGAs co-processors
Exploitez la puissance de calcul des accélérateurs matériels
tout en réduisant votre effort de développement
Une solution unique de compilation hybride à base de générateurs de code parallèle
La plate-forme de développement HMPP qui comprend un compilateur C et Fortran, des générateurs de code pour la programmation des accélérateurs et un runtime s'intègre de manière transparente dans votre environnement de développement et utilise les outils de développement fournis par les constructeurs.
Les générateurs de code sont conçus pour exploiter le parallélisme de données de fonctions de calcul C et Fortran et les transcrire dans le modèle de programmation matériel cible tel que CUDA de NVIDIA® ou SSE.
Basé sur des directives à la OpenMP :
un modèle standard de programmation parallèle hybride
Les directives HMPP permettent de définir des variantes de fonctions, les codelets, dont l'exécution est déportée sur les accélérateurs matériels tels que NVIDIA® Tesla, AMD FireStream, SSE.
L'utilisation des codelets, les transferts de données ainsi que la synchronisation avec le système hôte sont également indiqués dans l'application principale avec les directives HMPP.
En préservant l'application source de modèles de programmation propriétaires, HMPP protège les investissements logiciels.
Complémentaire à OpenMP et à MPI, HMPP permet de développer des applications qui utilisent les modèles standard de prorgammation parallèle.
Déploiement dynamique
Tout en préservant le code source de modèles de programmation propriétaires, une application HMPP adapte dynamiquement son exécution à la configuration de la plate-forme matérielle et à l'occupation de ses ressources. Ceci assure le déploiement et l'interopérabilité des applications.