OpenCL : Spécifications définitives

Open CL, technologie dont nous vous avions parlé lors de la présentation de Snow Leopard vient de passer en version 1.0. Pour rappel, cette nouvelle (insistons bien sur le mot) technologie, lancée à l’instigation d’Apple a pour but de permettre de tirer le meilleur parti des CPU (Processeurs) et des GPU (Processeurs Graphique) afin d’accélérer certains traitements (typiquement les traitements qui peuvent être parallélisé : audio, video, …). Bertrand Serlet, le patron du logiciel chez Apple, déclare : »Nous avons développé OpenCL afin que chaque application dans Snow Leopard puisse tirer profit de l’incroyable réserve de puissance de calcul autrefois réservée aux seules applications graphiques. »

OpenCL, initié par Apple, est né grâce à la collaboration d’Apple, NVIDIA et d’AMD (ATI). Il a eté confié, cet été, au Khronos Group (qui gère déjà OpenGL). Parmi les soutiens d’OpenCL on compte Freescale, Nokia, Motorola, IBM, Intel ou encore Texas Instruments et ARM. Les spécifications de l’OpenCL 1 (1.0.29) sont détaillées sont donc disponibles sur le site de Khronos (tout petit PDF de plus de 300 pages ;-) ).

A terme, OpenCL permettra donc aux développeurs de pouvoir tirer profit des différents composants des ordinateurs sans avoir à se préoccuper de l’environnement matériel (type de processeurs (i.e. AMD/Intel, 32/62bits, …) , nombre de coeurs, type de cartes vidéo, … ). En d’autre terme, OpenCL propose une « trousse à outils logicielle », gratuite (c’est important de le signaler) et indépendante (ca aussi) de tout système d’exploitation, éditeur logiciel ou d’un fabricant hardware.

 Outre le fait que cela constitue une belle avancée technologique, c’est aussi (et surtout) une partie importante de ce qui fera rugir notre petit Leopard des neiges qui vient d’être achevée. 

Saisissant la balle au vol, AMD (qui produit les carte graphique ATI) et NVidia (son concurrent) ont chacun tout deux réitéré leur soutient à OpenCL et annoncé qu’ils allaient l’adopter aussi vite que possible :
- AMD a annoncé qu’ils sortiraient très prochainement un SDK pour les cartes ATI qui sera pleinement compatible Open CL.
- NVidia de son côté considère que l’Open CL est une réelle opportunité et qu’ils le supporteront sur tous leurs produits (nouveaux et anciens ?).

Espérons, toutefois, que contrairement à l’OpenGL, Microsoft ne vienne mettre son nez dans cette affaire pour mieux la stopper en plein élan…

Résumé de la semaine du 10 au 16 novembre

Chose n’est pas coutume, je vous propose de commencer le résumé de la semaine par la dernière bande annonce du prochain Pixar. Grand enfant de mon état, j’adore tous les dessins animés et les films d’animation (quoique je regrette un peu la période pré-Roi Lion, signe de mon enfance).

Bref, ça a l’air drôle, original, bien réalisé… Je suis curieux de voir le résultat final et la réponse de Dreamworks ;) La bande annonce est dispo sur le site apple.com/trailers (small, medium, high, hd, ipod… )

Coté Mac : toujours pas de nouvelles d’un prochain MacBook Pro 17″ Unibody, une petite mise-à-jour de VMWare Fusion, comment activer la gestuelle à quatre doigts sur un Macbook Air Rev1 (du coup, on pourrait imaginer que cela soit possible pour les Macbook Pro de février 2008…). Pas grand chose à se mettre sous la dent.

La prochaine évolution devrait venir des Nehalem. Cependant, vu qu’Apple utilise une architecture pour ordinateurs portables, même dans ses iMacs, cette mise-à-jour ne devrait concerner que les Mac Pro.

Vivement Snow Leopard ;)

Résumé de la semaine du 3 ou 9 Novembre

Il est là, avec des gros bras et oui, c’est lui… C’est le résumé de la semaine…

Intel Core i7 :
Les premiers exemplaires de la gamme de processeurs Core i7 d’intel sont arrivés. Trois modèles sont, pour le moment, disponibles : le i7 920, le i7 940 et le i7 Extreme 965 CPU cadencés respectivement à 2.e66GHz, 2.93GHz, 3.20GHz. Les performances semblent au rendez-vous. Vous pouvez trouver sur MatBe, Tom’s Hardware ou Clubic (lecture peut-être un peu ardue pour les novices) des tests mettant en avant les nouveautées et les gains de performances…

Firefox gagne des parts de marché :
Plusieurs navigateurs internet existent et constituent une alternative, parfois salvatrice, à celui fourni par défaut par certains systèmes d’exploitation (suivez mon regard). Chrome, Safari (sous windows), Firefox, Opéra, … sont de ceux là. Malheureusement les habitudes sont tenaces, d’autant plus qu’elles sont mauvaises. Un espoir cependant pointe le bout de son nez. Deux espoirs devrais-je dire… Le premier est que Internet Explorer est en baisse, Firefox lui volant des parts de marché. Pour être précis : Internet Explorer a 71.27% de part de marché, Firefox 19.97%, Safari 6.57%, Opera avec 0.75% et Chrome est à 0.74%…

 

Le second espoir vient du fait que, dans les futures version de Internet Explorer, le moteur de rendu HTML pourrait bien être le WebKitdont nous vous parlions il n’y a pas si longtemps. C’est ce qu’a révélé Steve Ballmer dans sa réponse à la question « pourquoi Internet Explorer est-il toujours d’actualité ? Et pourquoi dépensez-vous de l’argent dans un moteur web quand il en existe des sous licence OpenSource qui sont disponibles et intègrent plus rapidement les standards web ? » (ouh laaaaa, ça dénonce dans les conférences de développeurs !!!)

Réponse de l’interessé : « C’est une question effrontée, bonne mais effrontée. Il y aura toujours beaucoup d’innovations propriétaires dans le navigateur, nous devons garder une équipe qui travaille sur le moteur de rendu. Mais l’Open Source est intéressant. Apple a adopté WebKit et nous pourrions nous y intéresser, mais nous continuerons à développer des extensions pour Explorer 8 ».

L’éventuelle adoption de ce moteur dans IE permettrait au logiciel de Microsoft d’être enfin compatible avec les standards du web (surtout les CSS), d’accélérer le rendu des pages, tout en lui permettant de créer des extensions propriétaires, comme le fait Apple avec Safari ou des plug-in libres comme la fondation Mozilla avec Firefox. Les développeurs et webmasters seraient enfin débarrassés de produire des applications et sites web uniquement compatibles IE et gagneraient ainsi plein de temps et de tracas inutiles… Yapluka attendre et à espérer.

 

Proposition  8 :
L’aide financière de Google ou d’Apple n’y aura rien fait, la proposition 8, dont nous vous parlions la semaine passée, a été entérinée en Californie contre l’avis même de son gouverneur, Arnold Schwarzenegger (comme quoi, il n’est pas si mal que ça, Terminator).  La proposition a reçu l’approbation de 52 % des votants dans cet État. Le résultat a été plus net encore en Floride et en Arizona. Les États du Massachusetts et du Connecticut sont les seuls États ou le mariage de personne de même sexe est officiellement reconnu.

Le problème reste toutefois entier concernant le sort des quelques 18.000 couples de même sexe mariés depuis les derniers quatre mois et demi. Apple n’a pas fait de commentaires sur ce sujet.

Il semblerait donc que, chaque jour, l’intolérance gagne du terrain. Sommes-nous bête au point d’avoir déjà oublié les erreurs du passé ? Heureusement, dirons certains, Sarah Palin n’a pas été élue… Maigre consolation pour les personnes homosexuelles. Qui sommes nous pour prétendre pouvoir décider quels moyens peuvent (ou ne peuvent pas) être utilisés par des personnes pour se montrer, les uns envers les autres, leur amour ? Personnellement (oui, je me permets de vous donner mon avis, c’est un blog pas un site de news ni journalistique, alors je le fais !) je pense que si deux personnes majeures (au moins sexuellement) s’aiment, ni le sexe, ni la religion, ni la couleur de peau, ni quoi que ce soit d’autre ne devrait entrer en ligne de compte et encore moins pour une quelconque discrimination. Si c’était le cas, cela signifierait qu’il y aurait une loi liberticide, cela signifierait que certains couples valent moins que d’autres !

Les Hommes naissent et demeurent libres et égaux ET PAS QUE en droits !!!

(Même faire une simple déclaration semble trop compliqué pour certains)

Apple & iPhone :
D’après les chiffres officiels, au troisième trimestre 2008, Apple, sur le segment de la téléphonie mobile est le second plus gros vendeur mondial de smartphone, avec 6,9 millions d’iPhone écoulés. La première place est toujours tenue par Nokia avec 15,5 millions. RIM est sur la troisième place avec 6 millions, HTC est plus loin dans le classement avec « seulement » 2 millions de modèle vendus…

Windows 7 sur Mac :
Plusieurs dates sont évoquées concernant la sortie du futur système d’exploitation de Windows : printemps 2009, en même temps ou presque que Snow Leopard, en 2010 comme les responsables de com’ de Microsoft l’affirment, ou encore au milieu de l’année prochaine afin de pouvoir en équiper les nouveaux PC achetés/offerts pour les fêtes de fin d’années. Dans tout les cas, l’année prochaine sera sans doute The Year of OS Wars (Ta ta ta daaaaaa *musique d’ambiance*).

Comme je le disais il y a quelques jours à une connaissance proche, à l’heure actuelle, avec les processeurs intel et les chipset/carte video nVidia équipant les modèles Apple, le Mac est un des meilleurs PC… Pour faire tourner Windows XP, voire Vista, aucun problème, mais qu’en sera-t-il de Windows 7 ?

Un test à été réalisé en ce sens… Lors de l’installation de la beta de Windows 7, le MacBook Pro a dû redémarrer un certain nombre de fois. Les testeurs ont pu noter l’impossibilité d’accéder à internet, mais la quasi-totalité des applications de 7 fonctionnent sans trop de soucis. En-dehors de l’exploit, notable, pas grand chose donc à en tirer pour le moment !

 

En Vrac :
- Torsion de Mac : malgré le caractère unibody des nouveaux MacBoo (Pro) leur donnant une plus grande résistance, ils n’en restent pas moins un ordinateur portable qu’il faut manier avec précaution… En effet, à force de trimballer son ordinateur en le prenant par les côtés droite ou gauche, la coque peut se voiler légèrement, notemment au niveau du port ethernet.

- Encore un test des nouveaux MacBook (Pro) : apparemment, les testeurs ne semblent pas s’en lasser. Ca teste et ça reteste les nouveaux mac, sous toutes les coutures. Cette semaine, un test a fleuri sur MacGeneration

 

Résumé de la semaine du 26 Octobre au 2 Novembre

Il est la, il est grand, il est beau, c’est le résumé de la semaine…

Snow Leopard commence a faire ses griffes
Comme nous avons du vous le dire, Apple a fournis aux développeurs une version de Snow Leopard. En voici quelques détails des nouveautés… 

Finder : c’est sans doute l’une des plus anciennes applications de Mac OS X. Elle a, de plus, très peu évoluée au cours des différentes versions de Mac OS X. Il est censé être totalement réécrit en Cocoa et bien que cela ne soit pas encore entièrement fait, ils ont bien avancés dans la réécriture…

Noyau 64-bits : Comme évoqué dans cet article Léopard supportera complètement le 64bits…

Correction Gamma : il semblerait que dans Snow Leopard, la correction gamma appliquée passe de l’habituel 1,8 à 2,2.

Microsoft Exchange : Apple annonce que Snow Leopard apportera un support des actions basiques dans les applications iCal, Mail et Carnet d’Adresses.

Grand Central :

Afin de pouvoir tirer au mieux parti des multi-coeurs voir d’associé GPU et CPU, Snow Leopard embarquera un module, Grand Central (en hommage à la gare “Grand Central Terminal” de New-York) permettant aux différentes application de profiter au mieux de l’architecture multi-coeurs et ce, de manière transparente, tant pour les programmeurs que pour les utilisateurs…

Compression HFS+ : afin de réduire la taille de certains fichiers (en lecture seule) utilisés dans son système et ses applications, Apple à développer un système de compression (rétro-compatible).

Il y a également de nombreuses autres nouveautés concernant le Terminal, le passage des Préférences Système et des panneaux des développeurs tiers en mode 64-bits, la possibilité d’exporter des flux Automator en tant que Services, le support des calendriers dans le nouvelles langues, l’utilisation d’OpenPAM et d’une nouvelle version d’OpenSSL, la généralisation de l’utilisation de Java 6 pour les applications et applets, modification plus ou moins profonde de TextEdit,… etc.

 

Open Office :

OpenOffice.org, disponible depuis le 13 octobre (et arrivé un peu plus tard en francais), a été téléchargée pas moins de cinq millions de fois. Ce chiffre n’inclut QUE les téléchargements depuis les serveurs d’Open Office, et ne recense pas les versions embarquées directement dans des distributions Linux ou autre… Très beau succès ! Bravo à eux !!!

 

En vrac :

 - Le nouvelle version de la distribution Linux grand public Ubuntu 8.10 est maintenant disponible. Elle apporte le support de la 3G, la possibilité d’installer Linux sur une clef USB et embarque Gnome 2.24.

 - Léopard a fêté son premier anniversaire ce lundi 26 Octobre… Bon anniversaire Chaton ! ;-)

Snow Leopard : Futur Mac OS X

L’annonce d’un nouveau système d’exploitation d’Apple semble aller de pair avec « rumeurs », à tel point qu’il est souvent difficile de faire le tri entre véritables informations et rêves d’Apple Fan Boys. Maintenant, du temps ayant passé depuis l’annonce du futur Mac OS X, nommé Snow Leopard, ces rumeurs se sont soit confirmées, soit évanouies et nous estimons qu’il est temps de faire un premier point sur le futur système d’exploitation d’Apple.

 

Arrivée l’air de rien…
Annoncé en trois minutes (j’exagère à peine) lors de la dernière WWDC (World Wide Developer Conference) après quasi une heure sur l’iPhone 2, on ne peut pas dire que Snow Leopard ait fait une entrée fracassante. Pourtant il y aurait de quoi : il part, selon moi (nous), de choix courageux (et judicieux) que d’autres firmes informatiques ne semblent pas (encore ?) avoir été capable de faire : stabilisation, sécurisation et amaigrissement du système existant (c-à-d Leopard). Apple semble, en effet, avoir choisit de se concentrer sur la consolidation des fondations de son système plutôt que sur de nouvelles fonctionnalités. Quoi que…

 

Amaigrissement
Les buts visés par Apple vont, notamment, être éteint via l’abandon la retro-compatibilité de Leopard : les anciens mac sont équipés de processeurs PowerPC (PPC), les nouveaux sont, quant à eux, équipé de processeurs Intel. Cette transition s’est effectuée en 2006, avec notamment l’arrivée des MacBooks/MacBook Pro, remplaçants les iBooks/PowerBook. A l’heure actuelle, Apple est donc obligé de fournir des applications (universal binaries) pouvant être exécutées sur les nouvelles configurations, comme sur les anciennes (d’où la notion de retro-compatibilité). L’abandon de cette rétro-compatibilité permettra à Apple de gagner la place, non négligeable, que prend le code PPC de l’application. Cela a comme conséquence, pour les (malchanceux) possesseur de « vieux » mac, qu’ils ne pourront profiter du futur système a moins d’investir dans une nouvelle machine.

L’abandon du code PPC, c’est qu’un des façon de réduire la taille des applications. Un autre, toujours au niveau des applications, est changer la manière de représenter les interfaces graphique en utilisant une nouvelle méthode (vectorielle) bien moins gourmande en place que la méthode actuelle (bitmap). C’est également un des choix d’Apple.
Ces deux points permettraient, d’après les premières informations, une réduction de la taille des application de 75% en moyenne.

Taille des Application sous Snow Leopard

 

Optimisation

  • Nouveau compilateur…

Lorsqu’un programmeur écrit une application, il le fait dans un langage que l’on pourrait qualifier comme étant à mi-chemin entre le langage humain et le langage machine. Une fois son application finie, il la compile. La compilation peut être vue comme une traduction de ce langage mi-humain/mi-machine en langage complètement machine, afin que l’application puisse être exécutée. Pour résumer la situation, on peut dire que -jusqu’à présent- la compilation est faite par un compilateur nommé GCC (GNU C Compiler, prenant en charge des langages comme le C, C++, Objective-C, Fortran, Ada). La nouvelle version du système d’exploitation d’Apple emportera un nouveau compilateur, nommé LLVM, qui donnerait de bien meilleurs résultats.

LLVM (Low Level Virtual Machine) consiste en une sous-couche virtuelle utilisée à la compilation. GCC a été conçu comme un bloc monolithique, comme l’a voulu Richard Stallman, afin d’éviter que des programmes propriétaires ne s’interfacent avec GCC. Dans le cas de LLVM, la couche virtuelle attend en fait le code binaire généré par une couche supérieure, le front-end, récupère ce code et permet d’utiliser des outils d’analyse statistiques, d’optimisations et/ou de refactoring, permettant de simplifier le code au niveau de la programmation, et de l’accélérer à l’exécution évidemment. Actuellement, LLVM utilise GCC comme front-end, mais il devrait bientôt être remplacé par CLANG, qui supporterait également, tout comme GCC, les langages tels que C, C++, Objective-C, Fortran et Ada (pas de changements de ce coté-là ;) ).

Sans rentrer dans les détails, sachez que ce nouveau compilateur fait, d’après les tests actuels, gagner en moyenne 33% de temps d’exécution rien qu’en recompilant (re-traduisant) une application avec LLVM plutôt qu’avec GCC.

 

  • Grand Central

Lorsqu’Apple a changé de fournisseur de processeur, nous ne sommes pas seulement passé de PowerPC à Intel, nous somme aussi passé d’un simple cœur (un seul processeur) à un dual-cœur (deux processeurs). En effet, la course aux fréquences semblant terminée; les fabricants de processeurs se sont lancés dans la course aux cœurs. Le problème est que la partie Software évolue, contrairement à ce que l’on pourrait penser, beaucoup plus lentement que la partie Hardware, et souvent, les applications actuelles ne sont malheureusement pas faites pour tirer parti de ces deux (ou plusieurs) cœurs et s’exécutent « bêtement » comme s’il n’y en avait qu’un seul… La multiplication des cœurs n’a donc d’intérêt que si les applications, et les systèmes informatiques de manière générales, sont faites pour en tiré profit…
Afin de résoudre en partie ce problème, Snow Leopard embarquera un module, Grand Central (en hommage à la gare « Grand Central Terminal » de New-York) permettant aux différentes application de profiter au mieux de l’architecture multi-coeurs et ce, de manière transparente, tant pour les programmeurs que pour les utilisateurs…

 

  • OpenCL

Toujours dans le but de maximiser les performances des applications, Apple utilisera également OpenCL. Sous ce nom bizarre se cache une idée simple, élégante et géniale : pourquoi ne pas utiliser la puissance des cartes graphiques pour augmenter la rapidité des calculs. Les cartes graphiques se sont développées au cours des années dans une optique différente de celle des processeurs : les processeurs (centraux) évoluent de manière à essayer de tout calculer rapidement (nombres à virgule ET nombres sans virgule) tandis que les processeurs graphiques ont eux évolué afin de pouvoir calculer le plus rapidement possible des nombres à virgule (mathématique, physique, …) et des calculs en parallèle (appliquer plusieurs fois la même chose à de petits morceaux différents d’image par exemple). L’utilisation des capacités de calcul des processeurs graphiques profitera donc avant tout aux tâches de type encodages (audio et/ou vidéo), calculs mathématiques complexes, calculs physiques, … etc. mais il semble qu’Apple veuille que tout logiciel puisse en profiter : iChat est notamment déjà sur les rails.

 

  • Commandes 64bits

Le 64 bits… Qu’est ce que c’est ? Tout le le monde connais le scrabble : réussir a faire un mot avec maximum 7 lettres. En informatique c’est plus ou moins pareil, mais sur 32 « lettres », sauf qu’il s’agit de « bits »: les commande, données, … etc sont généralement traitées par paquet de 32bits. Un bit est un 0 ou un 1. Un octet est un ensemble de 8bits, un mégaoctet est un ensemble de 1024 octets etc. Le problème est que, la complexité des programmes et des données avançant, 32bits ne suffisent pas pour exprimer ce que l’on souhaite et on est donc obliger d’utiliser plusieurs fois (en général, on dépasse rarement 2) 32bits. Le fait que l’on puisse parler par 64bits permet de résoudre ce problème, mais pour pouvoir le faire, il faut que le système d’exploitation le tolère et que le(s) processeur(s) équipant la machine comprenne(nt) ces mots. Arrivé avec Tiger et popularisé avec Leopard, le 64 bits devrait se retrouver, avec Snow Leopard, au cœur même du félin, avec la généralisation du fonctionnement des applications Apple en 64 bits. Si le 64 bits consomme plus de mémoire que le 32 bits, les performances seront cependant au rendez-vous, notamment pour les applications qui utilisent de manière intensive le processeur. L’expérience d’Antoine Rosset sur son logiciel OsiriX est à ce titre édifiante : plus de 80% de performances supplémentaire juste en recompilant en 64 bits.

 

Nouveautés

  • Support d’un nouveau système de fichier

Snow Leopard permettra également la lecture/écriture d’un nouveau système de fichier : ZFS

Une des particularités les plus marquantes de ZFS est de supporter une quantité assez énorme de données. Plus d’informations sur Wikipedia avec une petite comparaison des différents systèmes de fichiers. ZFS devrait également proposer un système de zpools : afin de gérer plusieurs périphériques de stockage, plutôt que de passer par un contrôleur disque de l’OS, on passera dorénavant par des périphériques virtuels, chacun d’entre eux dépendant d’un ou plusieurs périphériques physiques. On aura ainsi la possibilité de définir des groupes de données redondants (équivalents mirroring proposé par actuellement par le RAID-1), non-redondants (équivalents au stripping du RAID-0), voire même la possibilité de définir des RAID-Z ou RAID-Z2. L’ensemble des données étant accessible par l’OS, sans tenir compte de la configuration logique des entités virtuelles. Ca sent bon la complication :) Pour les intéressés, je pense qu’il y a beaucoup plus d’infos sur le lien donné ci-dessus ;)

 

  • Applications mise à jour

Les principales applications d’Apple, seront recompilées (afin de tirer parti des différentes optimisations précédemment évoquées) mais se verront également mises à jour. Ainsi Safari passera en version 4, et sera doté d’un nouveau moteur. On nous le promet jusqu’à 53% plus performant…
Mail, iCal et le Carnet d’adresse seront totalement compatibles avec Exchange (le programme de gestion de boîtes mail et calendriers de Microsoft, celui qui traîne souvent aux cotés d’Outlook dans les grosses boîtes ;) )
QuickTime deviendra QuickTime X, une refonte qu’on nous promet complète de son prédécesseur, rendant le nouveau venu plus rapide. Il supportera également plus de codecs, il sera donc capable de lire plus de type de vidéo, de base, sans l’ajout d’un programme tel que Perian).

 

En résumé…
… cette nouvelle version de Mac OS sera moins gourmande en RAM, (beaucoup?) plus rapide et, bien qu’on puisse prétendre le contraire, comportera son lot d’innovations. Il ne s’agira cependant pas d’une version majeure au sens où l’utilisateur l’entend : on n’y trouvera pas autant d’innovations qu’on a pu en trouver dans Tiger en son temps, ou dans Leopard. Son nom le laisse d’ailleurs clairement entendre : Snow Leopard sera une amélioration de Leopard. Il ne devrait donc pas y avoir « 300 nouveautés » pour ce nouveau système ;) , l’impact sera beaucoup moins visuel que ne l’a été Leopard. Cependant cette remise à plat, laisse le champs libre à Apple pour des innovations en nombre dans le(s) successeur(s) de Snow Leopard sans avoir a rajouter encore et encore des couches à un noyaux finissant par s’écrouler sous son propre poids.

Plus d’information :

MacPlus (fr)

Mac4Ever (fr)

Apple ou   Apple (fr)

Roughly Drafted (en)

Apple Insider (en)

(Article écrit en binome avec Fred)