IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> L'OpenCL 1.2 est annoncé, Réactions à la publication du 03/12/2012
Options
Lionel
posté 3 Dec 2012, 00:05
Message #1


BIDOUILLE Guru
*****

Groupe : Admin
Messages : 55 342
Inscrit : 14 Jan 2001
Lieu : Paris
Membre no 3



Le groupement Kronos, chargé des développements d'OpenCL, a annoncé la version 1.2. Contrairement à ce que laisse penser sa dénomination, elle subit de profondes modifications:


  • Il est maintenant possible d'interagir de manière poussée entre OpenGL et OpenCL et une image OpenCL peut être créée à partir d'une texture OpenGL multi-échantillonnée, de vrais aller-retours entre calculs et affichage,
  • Création d'images 2D à partir d'un tampon OpenCL pour permettre une souplesse dans les structures mémoire, qui sont traitées à l'aide des propriétés avancées d'images OpenCL,
  • Des fonctions de sécurité pour les implémentations WebCL en surcouches de l'OpenCL...


Les fabricants de puces ARM et mobiles semblent particulièrement intéressés par les nouveautés d'OpenCL, qui laisse entrevoir des capacités de programmation inédites et donc à terme une utilisation aussi optimisée de la puissance délivrée par les cœurs CPU et GPU. C'est un enjeu de taille alors que les puces ARM veulent quitter les tablettes et téléphones pour faire office de processeurs centraux dans des serveurs et des ordinateurs portables.
Par Lionel


--------------------
C'est parce que la vitesse de la lumière est plus grande que celle du son que tant de gens paraissent brillants avant d'avoir l'air con
Go to the top of the page
 
+Quote Post
Albook
posté 3 Dec 2012, 07:49
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 415
Inscrit : 31 Aug 2006
Membre no 67 018



Cette version sera-t-elle supportée par iOS et OSX ?
Go to the top of the page
 
+Quote Post
jeannot
posté 3 Dec 2012, 07:52
Message #3


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 7 960
Inscrit : 15 Dec 2002
Membre no 5 157



Il me semble qu'openCL 1.2 est annoncé depuis plus d'un an. Mountain Lion l'a adopté.
On parle d'une mise à jour d'openCL 1.2 là, si j'ai bien compris.
D'après wikipedia:
Citation
On 15 November 2011, the Khronos Group announced the OpenCL 1.2 specification,[13] which added significant functionality over the previous versions in terms of performance and features for parallel programming.
Go to the top of the page
 
+Quote Post
Letinono
posté 3 Dec 2012, 11:01
Message #4


Adepte de Macbidouille
*

Groupe : Membres
Messages : 45
Inscrit : 25 Oct 2008
Membre no 124 306



Il s'agit simplement d'une mise à jour des capacités d'OpenCL 1.2.
Go to the top of the page
 
+Quote Post
Le_T
posté 3 Dec 2012, 12:39
Message #5


Nouveau Membre


Groupe : Membres
Messages : 15
Inscrit : 10 Feb 2008
Membre no 107 377



Quel genre d'application pourrait utiliser la puissance graphique disponible grâce à openCL ?
Car si ARM viens sur le marcher des serveur et desktop quels sont les tâches qui peuvent être accélérer par openCL ?

Des tâches massivement parallèles me direz vous mais plus concrètement ça donne quoi ?
Go to the top of the page
 
+Quote Post
jeannot
posté 3 Dec 2012, 13:00
Message #6


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 7 960
Inscrit : 15 Dec 2002
Membre no 5 157



Tout ce qui touche à l'image et à la vidéo (entre autre) peut utiliser openCL.
Chez Apple, Final Cut Pro et Aperture utilisent openCL. Je suppose que des logiciels de rendu 3D l'utilisent aussi.
Go to the top of the page
 
+Quote Post
r@net54
posté 3 Dec 2012, 15:39
Message #7


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 3 458
Inscrit : 23 Mar 2004
Lieu : Paris / Vancouver
Membre no 16 640



Citation (jeannot @ 3 Dec 2012, 13:00) *
Tout ce qui touche à l'image et à la vidéo (entre autre) peut utiliser openCL.
Chez Apple, Final Cut Pro et Aperture utilisent openCL. Je suppose que des logiciels de rendu 3D l'utilisent aussi.


En theorie n'importe quel logiciel un peu parallèlisable a un benefice direct a utiliser OpenCL. Il permet de faire a peu pres les memes choses que CUDA (celui-ci etant proprietaire et un peu plus performant pour l'instant mais limité aux GPU NVidia). Mais OpenCL va aussi beaucoup plus loin (en theorie) et offre un niveau d'abstraction permettant d'utiliser des architecture paralleles variées.

Pour le rendu 3D, aujourd'hui c'est surtout le GPU qui est spécialisé et il necessite une optimisation spécifique en fonction du materiel. Dans ce domaine NVidia tient la premiere place du podium suivi par les produits AMD.

Un traitement d'image comme le flou par exemple peut etre applique en paralelle a l'image qui aura ete decoupee en autant de morceaux qu'il y a de cores disponibles, le temps de calcul global etant equivalent au temps maximum pris pour un morceau. Donc plus il y de core, moins il faudra de temps pour effectuer la transformation.

Par contre un ensemble de taches successives, necessitant que la phase precedente soit finie pour commencer la suivante, ne peut pas etre paralellisable. Dans ce cas qu'importe le nombre de core, c'est la vitesse de traitement d'un seul processeur qui sera significative.

Mais le GPU peut être utilisé pour bien d'autres chose que du rendu graphique: c'est le GPGPU qui permet d'exloiter la puissance des GPU pour du calcul parallele et notamment du calcul vectoriel, tres utilisé dans le monde de la simulation et dans ceux de la physique ou de la genetique... Par exemple le numero 1 des super calculateurs est un Cray, le Titan, utilisant des processeurs AMD opteron pilotant des NVidia K20.

Le tres gros probleme aujourd'hui c'est que la programmation parallèle necessite des competences qui sont assez peu communes et des outils spécifiques. Or la majorité des applications sont développées en C (ou un de ses derivés) basé sur un modele totalement non parallele.
De plus il n'y a pas un seul modele de programmation parallèle mais plusieurs distincts qui sont adaptes a des cas particuliers. Les OS sont aussi limites a l'ordonnancement et seuls quelques OS spécifiques sont optimises pour le parallélisme massif.

Si on peu imaginer qu'un systeme multicore ou multiprocesseurss peut lancer une application sur chaque core, il en va tout différemment lorsque l'on a besoin d'un seul logiciel qui utilise le parallélisme pour accélérer ses calculs. La il faut identifier ce qui est paralellisable (factorisation, répartition, concurrence) au niveau des taches. Il faut ensuite gérer le parallélisme au niveau de l'acces aux donnees (partage, replication, interblocage,...)

OpenCL facilite toutes ses taches offrant en plus l'abstraction du niveau materiel, autrement dit, le programmeur doit se focaliser sur l'optimisation du paralellisme theorique et OpenCL fera de son mieux pour exploiter les capacités physique de la machine sur laquelle tourne le programme.
Enfin ca c'est la theorie. Car il faut toujours que le programmeur sache programmer en parallele un minimum.


--------------------
Agnostique multipratiquant: Unixs, Linux, Mac OS X, iOS et un peu de Windows. Des Macs, des iDevices, des PC et des "ordinosaures"…
Citation
« Celui qui t’entretient des défauts d’autrui entretient les autres des tiens. »,
« Quand on suit une mauvaise route, plus on marche vite, plus on s'égare. »
Diderot
Go to the top of the page
 
+Quote Post
Faabb
posté 3 Dec 2012, 21:41
Message #8


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 535
Inscrit : 17 Sep 2006
Membre no 68 242



Merci beaucoup R@net54 pour tes explications !!
Go to the top of the page
 
+Quote Post
Skwaloo
posté 3 Dec 2012, 22:31
Message #9


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 497
Inscrit : 16 Oct 2005
Membre no 48 046



La partie GPU T6xx pour ARM sont déjà compatibles OpenCL 1.1
http://www.fudzilla.com/home/item/28230-ar...ncl-conformance

Le proc Samsung pour ChromeBook et Nexus10 a du T604. Il sera utilisé pour du HPC !
http://www.montblanc-project.eu/news/mont-...nos-5-processor

L'OpenCL peut servir aussi au calcul distribué comme BOINC, ou de la simulation de neige : http://hgpu.org/?p=8551

(avec Android on peut exécuter du BOINC : http://nativeboinc.org/site/uncat/start )

Il y a du compilo : http://www.pgroup.com/products/pgcl.htm
http://www.arm.com/community/partners/disp...ProductId/7312/

Un Twit http://twitter.com/OpenCLonARM


“ARM sees GPU Compute functionality as a fundamental enabler for enhanced user experiences and increased energy efficiency in mobile and consumer devices. OpenCL is a key standard for turning these goals into reality,” said Jem Davies, ARM fellow and vice president of technology, media processing division, ARM. “We look forward to expanding our current Full Profile OpenCL 1.1 support and to including OpenCL 1.2 as part of the ARM Mali-T600 GPU series.”

Ce message a été modifié par Skwaloo - 4 Dec 2012, 12:51.


--------------------
Go to the top of the page
 
+Quote Post
Le_T
posté 4 Dec 2012, 17:01
Message #10


Nouveau Membre


Groupe : Membres
Messages : 15
Inscrit : 10 Feb 2008
Membre no 107 377



Ok ,
Merci beaucoup pour toutes ces réponses !
Ce vrai que pour parraleliser les tâches, le plus dur reviens au développer !
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 24th April 2024 - 14:02