je n'y connais pas grand chose en hardware. Dc corrigez moi si je me plante. Mais en fait, pour une carte graphique, un programme est capable d'accéder à ses possibilités de calcul par une librairie "lien" (des interfaces quoi, finalement des drivers) entre software, et hardware, c'est ça? Et ce sont ces drivers-interfaces qui sont conscients et savent s'interfacer à leur tour avec les librairies graphiques bas niveau (qui sont en gros seulement DirectX (proprio, windows only), et OpenGL (Libre), à l'heure actuelle, n'est-ce pas?).
Et dc là où je veux en venir, c'est d'une part qu'on sait tous ici qu'il est important que les drivers (l'interface software-hardware) doit être Libre, afin qu'il soit facile de connaître l'interface hardware, de modifier et améliorer les drivers (ou bien de le porter rapidement sur d'autres plateformes non officiellement supportées, etc.), et tout simplement de savoir exactement ce que fait un driver, qui est qd même un machin qui s'installe au coeur (kernel) d'un système, et donc potentiellement "dangereux" et tout puissant. D'autre part, il n'existe pas encore de librairie de plus haut niveau que l'interface du driver pour la carte physique (équivalent à OpenGL/DirectX)... A moins qu'il s'agisse du "AGEIA PhysX SDK" qui est annoncé "gratuit" (à l'heure actuelle en tous cas).
Pour moi, cela pose de sérieux problèmes. Si -- comme ils l'annoncent eux-même -- ils sont vraiment actuellement les seuls du marché, et bien il risque rapidement d'y avoir monopole. De là, qui nous prouve qu'ils fourniront toujours leur sdk gratuitement? En outre, gratuit ou non, c'est toujours un danger du seul fait de la non Liberté du SDK pour les dévs, de même que du driver pour les utilisateurs (enfin... à moins que je me plante, mais je ne vois nulle part mention de Logiciel Libre. J'ai l'impression que ce sont des logiciels proprios).
En fait pour que ça devienne intéressant, il faut selon moi:
1/ des drivers Libres, et donc aussi une interface hardware documentée.
2/ une librairie middleware Libre à la place du SDK qui soit une sorte de norme au même titre que OpenGL l'est, de sorte que les drivers soient conscients de cette interface et la supporte.
Se baser uniquement sur le SDK proprio fourni est dangereux (risque de monopole, et d'abus qui s'en suivent), et en plus prépare des problèmes futurs de compatibilité, et donc beaucoup de boulot pour les dévs. En effet, si les librairies physiques existantes (assez haut niveau) décident (intelligemment cependant) de pouvoir utiliser les possibilités d'une telle carte, ils devront s'interfacer avec le SDK proprio. Or si à l'avenir, d'autres entreprises arrivent avec leur propre carte, puis leur propre SDK, etc. ben les librairies physiques haut niveau devront prendre en compte toutes les possibilités hardware, et dc tous les SDK différents. C'est un boulot très chiant qui devrait être fait à un niveau inférieur. Alors que s'il existe un middleware physique bas niveau Libre équivalent à OpenGL, normé, dans ce cas les librairies Physiques haut niveau pourront se baser simplement sur ce middleware, et donc être facilement intéropérable (puisque ce seront simplement aux constructeurs de cartes physiques de faire en sorte que leurs drivers suivent la norme d'interface du middleware Libre et normé, ce qui est bien plus logique et simple. On ne peut pas décemment demander à un développeur ayant besoin de physique de se renseigner sur toutes les cartes physiques existantes, et de toutes les supporter). En gros puisque y aura plein de cartes différentes, de constructeurs différents, etc., il faut bien que le "jeu" (ou bien le programme qui utilise la carte) soit complètement indépendant de la carte présente, qu'il marche quelle que soit la carte physique (comme actuellement qque soit la carte 3D grâce à OpenGL)...
Donc pour moi, ce genre de produit sera bon quand on sera sûr qu'il y ait des drivers Libre et une interface normée.
Ce qui serait très très intelligent de la part de son entreprise, c'est de ne surtout pas jouer le jeu du monopole dès maintenant. Ils sont les premiers, mais ils ne seront sûrement pas les derniers. Dc la chose à faire de leur part, ce serait de créer un mouvement Libre (création d'une fondation par exemple comme bcp le font) pour le développement d'un "SDK Libre et interopérable" pour le calcul physique, où tous les futurs constructeurs de carte physique pourront venir participer afin de faire évoluer ce SDK commun, comme évolue OpenGL à l'heure actuelle ( http://opengl.org/about/arb/overview/ -> liste des contributeurs à OpenGL). Autant faire les choses bien dès le début, sinon les divers constructeurs vont vite se marcher sur les pieds, et ça sera une technologie morte née.
Ensuite si y a des erreurs ds mon argumentation, merci de me corriger. :-)
Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]
# Questions sur la normalisation
Posté par Jehan (site web personnel, Mastodon) . En réponse au journal Les PPU !!. Évalué à 7.
je n'y connais pas grand chose en hardware. Dc corrigez moi si je me plante. Mais en fait, pour une carte graphique, un programme est capable d'accéder à ses possibilités de calcul par une librairie "lien" (des interfaces quoi, finalement des drivers) entre software, et hardware, c'est ça? Et ce sont ces drivers-interfaces qui sont conscients et savent s'interfacer à leur tour avec les librairies graphiques bas niveau (qui sont en gros seulement DirectX (proprio, windows only), et OpenGL (Libre), à l'heure actuelle, n'est-ce pas?).
Et dc là où je veux en venir, c'est d'une part qu'on sait tous ici qu'il est important que les drivers (l'interface software-hardware) doit être Libre, afin qu'il soit facile de connaître l'interface hardware, de modifier et améliorer les drivers (ou bien de le porter rapidement sur d'autres plateformes non officiellement supportées, etc.), et tout simplement de savoir exactement ce que fait un driver, qui est qd même un machin qui s'installe au coeur (kernel) d'un système, et donc potentiellement "dangereux" et tout puissant. D'autre part, il n'existe pas encore de librairie de plus haut niveau que l'interface du driver pour la carte physique (équivalent à OpenGL/DirectX)... A moins qu'il s'agisse du "AGEIA PhysX SDK" qui est annoncé "gratuit" (à l'heure actuelle en tous cas).
Pour moi, cela pose de sérieux problèmes. Si -- comme ils l'annoncent eux-même -- ils sont vraiment actuellement les seuls du marché, et bien il risque rapidement d'y avoir monopole. De là, qui nous prouve qu'ils fourniront toujours leur sdk gratuitement? En outre, gratuit ou non, c'est toujours un danger du seul fait de la non Liberté du SDK pour les dévs, de même que du driver pour les utilisateurs (enfin... à moins que je me plante, mais je ne vois nulle part mention de Logiciel Libre. J'ai l'impression que ce sont des logiciels proprios).
En fait pour que ça devienne intéressant, il faut selon moi:
1/ des drivers Libres, et donc aussi une interface hardware documentée.
2/ une librairie middleware Libre à la place du SDK qui soit une sorte de norme au même titre que OpenGL l'est, de sorte que les drivers soient conscients de cette interface et la supporte.
Se baser uniquement sur le SDK proprio fourni est dangereux (risque de monopole, et d'abus qui s'en suivent), et en plus prépare des problèmes futurs de compatibilité, et donc beaucoup de boulot pour les dévs. En effet, si les librairies physiques existantes (assez haut niveau) décident (intelligemment cependant) de pouvoir utiliser les possibilités d'une telle carte, ils devront s'interfacer avec le SDK proprio. Or si à l'avenir, d'autres entreprises arrivent avec leur propre carte, puis leur propre SDK, etc. ben les librairies physiques haut niveau devront prendre en compte toutes les possibilités hardware, et dc tous les SDK différents. C'est un boulot très chiant qui devrait être fait à un niveau inférieur. Alors que s'il existe un middleware physique bas niveau Libre équivalent à OpenGL, normé, dans ce cas les librairies Physiques haut niveau pourront se baser simplement sur ce middleware, et donc être facilement intéropérable (puisque ce seront simplement aux constructeurs de cartes physiques de faire en sorte que leurs drivers suivent la norme d'interface du middleware Libre et normé, ce qui est bien plus logique et simple. On ne peut pas décemment demander à un développeur ayant besoin de physique de se renseigner sur toutes les cartes physiques existantes, et de toutes les supporter). En gros puisque y aura plein de cartes différentes, de constructeurs différents, etc., il faut bien que le "jeu" (ou bien le programme qui utilise la carte) soit complètement indépendant de la carte présente, qu'il marche quelle que soit la carte physique (comme actuellement qque soit la carte 3D grâce à OpenGL)...
Donc pour moi, ce genre de produit sera bon quand on sera sûr qu'il y ait des drivers Libre et une interface normée.
Ce qui serait très très intelligent de la part de son entreprise, c'est de ne surtout pas jouer le jeu du monopole dès maintenant. Ils sont les premiers, mais ils ne seront sûrement pas les derniers. Dc la chose à faire de leur part, ce serait de créer un mouvement Libre (création d'une fondation par exemple comme bcp le font) pour le développement d'un "SDK Libre et interopérable" pour le calcul physique, où tous les futurs constructeurs de carte physique pourront venir participer afin de faire évoluer ce SDK commun, comme évolue OpenGL à l'heure actuelle ( http://opengl.org/about/arb/overview/ -> liste des contributeurs à OpenGL). Autant faire les choses bien dès le début, sinon les divers constructeurs vont vite se marcher sur les pieds, et ça sera une technologie morte née.
Ensuite si y a des erreurs ds mon argumentation, merci de me corriger. :-)
Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]