NVIDIA dévoile des pilotes OpenCL pour Windows et Linux
18-06-2009
Actuellement, réservés aux développeurs, il faudra patienter encore un peu avant de voir arriver les applications capable de les exploiter.
Publicité
L’OpenCL (Open Computing Language) est un standard permettant d’exploiter la puissance des cartes graphiques pour des calculs traditionnels. Conçu à l’origine par Apple, il est passé sous la coupe du Khronos Group, responsable de divers autres standards, comme l’OpenGL.
L’OpenCL 1.0 permettra aux programmeurs de créer des applications exploitant la puissance des GPU (processeurs graphiques) et pouvant fonctionner sur toutes les cartes compatibles, quel que soit le constructeur d’origine. C’est une avancée notable par rapport à la situation actuelle, où le code fonctionne uniquement sur le matériel d’un seul constructeur. Les logiciels seront créés avec un dérivé du C, associé à une interface de programmation spécifique.
NVIDIA est le premier acteur à proposer des pilotes finalisés compatibles avec ce standard (AMD devrait lui aussi distribuer des pilotes OpenCL). Ils sont disponibles pour Windows et Linux, et ce, aussi bien en moutures 32 bits que 64 bits. La compagnie en limite toutefois l’accès aux seuls développeurs, qui devront s’enregistrer avant de pouvoir les télécharger. Plus de détails se trouvent sur cette page du site de NIVIDA.
Ces pilotes sont livrés avec un kit de développement complet, comprenant un compilateur OpenCL, des exemples et une documentation. Notez que les développeurs CUDA (une technologie propre à NVIDIA) se retrouveront en terrain connu avec l’OpenCL, car les deux offres sont relativement similaires.
Commentaires des lecteurs :
Précision :
De noter aussi que le prochain système d'Apple, Mac OS X.6 (aka Snow Leopard) qui sort en Septembre, intégrera de facto les drivers conçus par nVidia et ATI (voire même Intel).Je trouve dommage d'oublier de le mentionner alors que vous avez bien précisé que c'est Apple qui est à l'origine de cette technologie qui fera partie des fondations de leur prochain système.
et le NeXT...
a été le premier à utiliser cette technique ce qui avec un petit 68040 motorola associé au DSP continua a battre les tout premiers pentiums ...Houla...
Attention à ne pas trop mélanger les choses. Dans le domaine du traitement parallèle, il y a plusieurs niveaux. 1, les instructions multimédias, assez similaires à ce que l'on trouve sur les DSP, mais couplées à un processeur classique. 2, les DSP qui sont des unités de calcul autonomes. Dans ces deux cas, nous pouvons traiter plusieurs données simultanément (par exemple trois additions en un seul cycle, ou une multiplication/accumulation). Toutefois il n'y a ici qu'une seule unité de traitement. Les GPU regroupent des unités de calcul simplifiées, mais totalement indépendantes. L'une peut traiter un flux d'opérations pendant qu'une autre fera autre chose. Dans ce sens, les GPU sont similaires aux clusters (des ordinateurs qui mettent leur puissance en commun). Avantage : l'interconnexion entre les unités de calcul est ici très rapide (c'est le point faible des clusters). Désavantage, le calcul en double précision est assez lent (il n'y a pas de miracle). Toutefois, dans le monde scientifique, la double précision n'est pas une fin en soi. Elle est souvent insuffisante. Ce sont alors les unités de traitement sur les nombres entiers qui servent à effectuer les calculs sur les nombres flottants. Dans ce contexte, le GPU est une solution bien plus économique qu'un cluster classique, tout à chacun pouvant créer son propre supercalculateur. Pour environ 52000 euros, il est possible de construire un supercalculateur qui se classerait dans le Top500 des ordinateurs les plus rapides de la planète en simple précision et dans le top 20 en simple précision. Une avancée significative.