OpenCL sera l'une des vedettes invisibles de Snow Leopard. Un nouveau moteur caché dans le système d'exploitation pour accélérer l'exécution des applications. Il est destiné à devenir un standard ouvert sur les ordinateurs comme sur les téléphones. Ses créateurs ont annoncé avoir quasiment terminé leur travail. Car Apple a besoin d'OpenCL, et vite.
Ce début semaine fut donc l'occasion de faire un bilan d'étape. Lors d'une réunion en marge de la conférence Super Computing 08 au Texas, Neil Trevett, président du Khronos Group (et par ailleurs responsable chez NVIDIA) flanqué de deux représentants d'AMD et d'Intel a dressé un constat positif (présentation en PDF). Une technologie dont Mac OS X Snow Leopard va faire grand usage.
Un accélérateur clef en main
L'idée d'OpenCL est de proposer une trousse à outils logicielle, sans royalties, détachée de toute tutelle d'un OS, d'un éditeur ou d'un fabricant. Afin que les développeurs puissent créer plus facilement des applications capables de tirer profit de l'intégralité des capacités de calcul contenues dans un ordinateur. Plutôt que de s'arracher les cheveux à faire du point de croix pour accélérer son logiciel, un développeur disposera de fonctions toutes prêtes, tandis que le système prendra aussi en charge automatiquement certaines affectations de ressources.
Il s'agit d'optimiser l'utilisation, simultanée, du processeur principal avec ses multiples coeurs, de celui de sa carte graphique, ou de puces de traitement spécialisées (DSP). Progressivement les cartes graphiques par exemple, au vu de leur puissance, deviennent de parfaits auxiliaires au processeur principal pour le décharger de tâches courantes.
Un moteur pour tous
OpenCL a été initié par Apple avec le concours d'Intel, d'AMD et de NVIDIA. L'été dernier la supervision de son développement a été confiée au consortium Khronos Group (qui pilote déjà d'autres standards, comme OpenGL) avec pour mission de l'ériger en standard. D'autres acteurs soutiennent OpenCL, issus de l'électronique comme du logiciel et de la téléphonie : IBM, Motorola, Samsung, Texas Instruments, Electronic Arts, Nokia, etc.
Trevett a souligné à quel point les travaux sur OpenCL avaient vite progressé. Le record du Khronos Group pour définir un standard avait été de 12 mois (en général cela prend plutôt quelques années), mais dans le cas d'OpenCL la mise au point de ses caractéristiques n'aura pris que 6 mois. La version 1.0 finalisée est attendue pour la fin de l'année.
Le carburant qui a permis d'avancer aussi vite fut le calendrier imposé par Apple pour Mac OS X 10.6 a expliqué le représentant d'Intel, Tim Mattson "Qu'Apple s'engage à intégrer OpenCL dans Snow Leopard si nous arrivions à tenir cet impossible délai a été un gros plus et d'ajouter sur le ton de la plaisanterie du coup on a divorcé d'avec nos familles, on a eu deux conférences téléphoniques par semaine, des réunions et je ne sais même plus combien d'heures j'ai passées là-dessus. Je suis presque raide mort, complètement vanné. Et je faisais partie de ceux, dès le départ lors des toutes premières réunions, qui disaient : C'est impossible. On n'y arrivera pas. Ça ne marchera pas. Eh bien j'avais tort, on l'a fait."
Malheureusement, aucune démonstration n'a été produite qui aurait pu illustrer les possibilités d'OpenCL. Et pour cause a expliqué Tim Mattson "Aujourd'hui on a établi les caractéristiques techniques. Maintenant les avocats de chacune des entreprises participantes vont les passer à loupe et s'assurer qu'il n'y a pas de violation de copyright à un endroit ou à un autre et que tout est d'équerre." Un processus qui peut durer au maximum 30 jours, et pendant lequel le code est tenu à l'ombre.
Le retour du supercalculateur
À défaut de démos, des perspectives ont été tracées pour les premières mises en service de ces librairies. Et l'on se sent revenir aux premiers temps du G4 et de l'Altivec dans les promesses de sursaut des performances "Si Apple s'en tient aux objectifs qu'elle s'est fixés pour l'utilisation d'OpenCL dans Snow Leopard, je pense qu'y aura des opportunités pour les éditeurs de logiciels d'image et de vidéo pour profiter des bonnes choses offertes par les processeurs graphiques a estimé Neil Trevett tout le monde a un supercalculateur enfermé à l'intérieur de son Mac, mais il est difficile d'y accéder. Et OpenCL va libérer le potentiel de ce supercalculateur."
S'ils ne sont pas entrés dans les détails, les intervenants ont laissé entendre que même une machine dotée d'une simple puce graphique intégrée (comme les premiers MacBook et les Mac mini) pourrait bénéficier d'OpenCL en cas de présence d'un double coeur "Tout l'intérêt d'OpenCL est de reléguer au second plan le matériel, qu'importe de quoi il est constitué, s'il peut être programmé, alors OpenCL permettra aux développeurs d'en tirera avantage."
OpenCL a été conçu pour fonctionner aussi bien sur un supercalculateur (un vrai, un gros) que sur un smartphone. Ses caractéristiques ont été rédigées afin de laisser une grande latitude aux éditeurs "Je n'insisterai jamais assez sur le fait que l'on va pouvoir écrire un programme et, après recompilation, le voir fonctionner autant sur un téléphone portable que sur un MacBook."
L'idée de voir OpenCL opérer sur les téléphones portables n'est peut-être pas si éloignée selon Neil Trevett. Il voit d'abord les ordinateurs personnels s'en servir, mais il imagine que les processeurs pour appareils mobiles vont s'adapter en conséquence et qu'OpenCL arrivera peut-être plus rapidement qu'on ne le pense sur les smartphones.
Sur le même sujet :
Snow Leopard disponible début 2009 ?
Crédit image en page d'accueil : Flickr - tomxcoady
Ce début semaine fut donc l'occasion de faire un bilan d'étape. Lors d'une réunion en marge de la conférence Super Computing 08 au Texas, Neil Trevett, président du Khronos Group (et par ailleurs responsable chez NVIDIA) flanqué de deux représentants d'AMD et d'Intel a dressé un constat positif (présentation en PDF). Une technologie dont Mac OS X Snow Leopard va faire grand usage.
Un accélérateur clef en main
L'idée d'OpenCL est de proposer une trousse à outils logicielle, sans royalties, détachée de toute tutelle d'un OS, d'un éditeur ou d'un fabricant. Afin que les développeurs puissent créer plus facilement des applications capables de tirer profit de l'intégralité des capacités de calcul contenues dans un ordinateur. Plutôt que de s'arracher les cheveux à faire du point de croix pour accélérer son logiciel, un développeur disposera de fonctions toutes prêtes, tandis que le système prendra aussi en charge automatiquement certaines affectations de ressources.
Il s'agit d'optimiser l'utilisation, simultanée, du processeur principal avec ses multiples coeurs, de celui de sa carte graphique, ou de puces de traitement spécialisées (DSP). Progressivement les cartes graphiques par exemple, au vu de leur puissance, deviennent de parfaits auxiliaires au processeur principal pour le décharger de tâches courantes.
Un moteur pour tous
OpenCL a été initié par Apple avec le concours d'Intel, d'AMD et de NVIDIA. L'été dernier la supervision de son développement a été confiée au consortium Khronos Group (qui pilote déjà d'autres standards, comme OpenGL) avec pour mission de l'ériger en standard. D'autres acteurs soutiennent OpenCL, issus de l'électronique comme du logiciel et de la téléphonie : IBM, Motorola, Samsung, Texas Instruments, Electronic Arts, Nokia, etc.
Trevett a souligné à quel point les travaux sur OpenCL avaient vite progressé. Le record du Khronos Group pour définir un standard avait été de 12 mois (en général cela prend plutôt quelques années), mais dans le cas d'OpenCL la mise au point de ses caractéristiques n'aura pris que 6 mois. La version 1.0 finalisée est attendue pour la fin de l'année.
Le carburant qui a permis d'avancer aussi vite fut le calendrier imposé par Apple pour Mac OS X 10.6 a expliqué le représentant d'Intel, Tim Mattson "Qu'Apple s'engage à intégrer OpenCL dans Snow Leopard si nous arrivions à tenir cet impossible délai a été un gros plus et d'ajouter sur le ton de la plaisanterie du coup on a divorcé d'avec nos familles, on a eu deux conférences téléphoniques par semaine, des réunions et je ne sais même plus combien d'heures j'ai passées là-dessus. Je suis presque raide mort, complètement vanné. Et je faisais partie de ceux, dès le départ lors des toutes premières réunions, qui disaient : C'est impossible. On n'y arrivera pas. Ça ne marchera pas. Eh bien j'avais tort, on l'a fait."
Malheureusement, aucune démonstration n'a été produite qui aurait pu illustrer les possibilités d'OpenCL. Et pour cause a expliqué Tim Mattson "Aujourd'hui on a établi les caractéristiques techniques. Maintenant les avocats de chacune des entreprises participantes vont les passer à loupe et s'assurer qu'il n'y a pas de violation de copyright à un endroit ou à un autre et que tout est d'équerre." Un processus qui peut durer au maximum 30 jours, et pendant lequel le code est tenu à l'ombre.
Le retour du supercalculateur
À défaut de démos, des perspectives ont été tracées pour les premières mises en service de ces librairies. Et l'on se sent revenir aux premiers temps du G4 et de l'Altivec dans les promesses de sursaut des performances "Si Apple s'en tient aux objectifs qu'elle s'est fixés pour l'utilisation d'OpenCL dans Snow Leopard, je pense qu'y aura des opportunités pour les éditeurs de logiciels d'image et de vidéo pour profiter des bonnes choses offertes par les processeurs graphiques a estimé Neil Trevett tout le monde a un supercalculateur enfermé à l'intérieur de son Mac, mais il est difficile d'y accéder. Et OpenCL va libérer le potentiel de ce supercalculateur."
S'ils ne sont pas entrés dans les détails, les intervenants ont laissé entendre que même une machine dotée d'une simple puce graphique intégrée (comme les premiers MacBook et les Mac mini) pourrait bénéficier d'OpenCL en cas de présence d'un double coeur "Tout l'intérêt d'OpenCL est de reléguer au second plan le matériel, qu'importe de quoi il est constitué, s'il peut être programmé, alors OpenCL permettra aux développeurs d'en tirera avantage."
OpenCL a été conçu pour fonctionner aussi bien sur un supercalculateur (un vrai, un gros) que sur un smartphone. Ses caractéristiques ont été rédigées afin de laisser une grande latitude aux éditeurs "Je n'insisterai jamais assez sur le fait que l'on va pouvoir écrire un programme et, après recompilation, le voir fonctionner autant sur un téléphone portable que sur un MacBook."
L'idée de voir OpenCL opérer sur les téléphones portables n'est peut-être pas si éloignée selon Neil Trevett. Il voit d'abord les ordinateurs personnels s'en servir, mais il imagine que les processeurs pour appareils mobiles vont s'adapter en conséquence et qu'OpenCL arrivera peut-être plus rapidement qu'on ne le pense sur les smartphones.
Sur le même sujet :
Snow Leopard disponible début 2009 ?
Crédit image en page d'accueil : Flickr - tomxcoady