| Auteur |
Message |
|
|
astro
|
Publié: Lun 14 Sep 2009, 14:48 |
|
|
Bricoleur débutantInscrit le: Ven 20 Fév 2009, 09:07Messages: 72Localisation: Paris |
** dernière mise à jour : jeudi 15 octobre2009 **
voilà je propose de maintenir ce sujet si vous le souhaiter, sur la programmation GPU avec OpenCL. je vais y poster une liste de ressources et de tutoriaux. IMPLEMENTATIONS - DRIVERSPour les macs (mac osx) : il faut installer la dernière version de mac osx, snow leopard. Pour les cartes NVIDIA : http://developer.nvidia.com/object/opencl-download.htmlPour les cartes ATI Radeon et les processeurs : http://developer.amd.com/GPU/ATISTREAMS ... fault.aspxMATERIELS COMPATIBLESPour les processeurs AMD : MD Athlon™ 64 (starting with the Venice/San Diego steppings), AMD Athlon™ 64 X2, AMD Athlon™ 64 FX (starting with San Diego stepping), AMD Opteron™ (starting with E4 stepping), AMD Sempron™ (starting with Palermo stepping), AMD Phenom™, AMD Turion™ 64, and AMD Turion™ 64 X2. Pour les cartes NVIDIA : devrait être proche de cette liste : http://www.nvidia.com/object/cuda_learn_products.htmlPour les cartes ATI Radeon™ HD - 5870
- 5850
- 5770
- 5750
- 4890
- 4870 X2
- 4870
- 4850 X2
- 4850
- 4830
- 4770
- 4670
- 4650
- 4550
- 4350
ATI FirePro™- V8750
- V8700
- V7750
- V5700
- V3750
AMD FireStream™ATI Mobility Radeon™ HD- 4870
- 4860
- 4850X2
- 4850
- 4830
- 4670
- 4650
- 4500 Series
- 4300 Series
ATI Mobility FirePro™ATI Radeon™ EmbeddedProcesseurs:- X86 CPU w/ SSE 3.x or later
GUIDES - TUTORIELSTutoriel Apple - Un très bon guide et tutoriel pour démarrer rapidement ! http://developer.apple.com/mac/library/ ... gGuide.pdfGuide de la programmation OpenCL - un bon gros guide bien complet, écrit par NVIDIA http://www.nvidia.com/content/cudazone/ ... gGuide.pdfGuide des bonnes pratiques OpenCL - détails et optimisation etc.. écrit par NVIDIA http://www.nvidia.com/content/cudazone/ ... sGuide.pdfDOCUMENTATION - SPECIFICATIONSpécification de référence officielle - La référence des méthodes, leur paramètres, les codes d'erreur. http://www.khronos.org/registry/cl/spec ... 1.0.43.pdfCheat sheet - Petit résumé de toutes les méthodes et leur paramètres http://www.khronos.org/files/opencl-qui ... e-card.pdfWRAPPERS - LIBRAIRIESPour accéder à OpenCL depuis d'autres langages que le C. Il faut avant cela disposer d'une implémentation/drivers compatible. PyOpenCL: - Pour Python (il en existe 2, mais celle là m'a l'air bien) http://mathema.tician.de/software/pyopenclhttp://wiki.tiker.net/PyOpenCLhttp://documen.tician.de/pyopencl/jOpenCL: - Pour JAVA http://jopencl.sourceforge.net/Version alternative pour Java: OpenCL4Javahttp://ochafik.free.fr/blog/?p=190
Pièces jointes:
Description du fichier: OpenCL Apple Programming Guide
OpenCL_MacProgGuide.pdf [442.3 Kio]
Téléchargé 19 fois
_________________ ATCAAATTTCAACACAAAAAATTTCCCTTTATGTTTTTT |
Dernière édition par astro le Lun 19 Oct 2009, 15:19, édité 11 fois au total.
|
|
Haut
|
|
|
Thot
|
Publié: Lun 14 Sep 2009, 20:08 |
|
|
Roboticien confirméInscrit le: Lun 23 Fév 2009, 22:53Messages: 431Localisation: Toulouse con |
wouaouh !! Merci beaucoup! j'avoue que je ne connais pas les astuces d'une telle programmation. Ce doit être aussi ésotérique que le multithread (j'en ai transpiré avec ça)
_________________ "C'est l'intention qui compte" |
|
|
Haut
|
|
|
Miguil
|
Publié: Mar 15 Sep 2009, 10:30 |
|
|
Roboticien confirméInscrit le: Jeu 23 Oct 2008, 09:10Messages: 366Localisation: Paris (75018) |
Woaw !!! C'est cool ! Merci Astro ! Va falloir bosser maintenant... (j'vais déjà commencer par me procurer une bécane avec une bonne carte graphique...)
_________________ « Si le savoir peut créer des problèmes, ce n'est pas l'ignorance qui les résoudra. » Extrait de « L'univers de la science », Isaac Asimov |
|
|
Haut
|
|
|
astro
|
Publié: Mar 15 Sep 2009, 15:32 |
|
|
Bricoleur débutantInscrit le: Ven 20 Fév 2009, 09:07Messages: 72Localisation: Paris |
ah oui c'est sûr, il faut le matos qui va avec. Mois ça commence à devenir limite avec mon pc portable et sa carte graphique. Je peux programmer le processeur graphique (c'est une geforce 9300M G, compatible avec le framework CUDA et OpenCL), mais si je lance le simulateur de robots 3D a coté alors là.. les ressources sont partagées entre OpenCL (algorithmes) et OpenGL (calculs graphiques) donc je monte petit à petit une vraie machine capable de tenir la charge, mais pas trop grosse non plus, histoire que mon algo reste adapté aux petites machines (genre pc portable "format robot mobile"  )
_________________ ATCAAATTTCAACACAAAAAATTTCCCTTTATGTTTTTT |
|
|
Haut
|
|
|
Miguil
|
Publié: Jeu 17 Sep 2009, 15:08 |
|
|
Roboticien confirméInscrit le: Jeu 23 Oct 2008, 09:10Messages: 366Localisation: Paris (75018) |
N'hésites pas à partager ta config machine idéale ! Moi suis en pleine recherche là... Je vais prendre un portable mais je vais surement compléter mon équipement avec une tour personnalisée... Genre : INTEL- Intel Core 2 Quad Q9650 3.0GHz Socket 775 1333MHz bus - Carte Mère Asus P5N-T Deluxe - Socket 775 pour Intel Pentiun D / Core 2 Duo / Quad Core ou AMD- AMD Phenom II X4 965 3.4GHz Socket AM3 - ASUS M4A78-EM Carte graphique- Gainward GeForce GTX 285 2GB GDDR3 / PCI-E 2.0 / SLI / 2xDVI / TV-OUT ou - Sapphire Radeon HD 4870 X2 CrossFireX 2048MB GDDR5 / PCI-E / 2xDVI / TV-OUT - DD 1 To SATA-II 7.200 rpm Là on commence à avoir une petite bête de course pour un prix normal en commerce pour une bonne machine. Faut juste le faire soi-même... (environ 700 euros) Pour customizer utilement et pour rendre la machine silencieuse... - Kit Watercooling Zalman - Silencieux - Reserator 1 - V2 histoire de refroidir la bête Pour rêver un peu ou pour les gros gros budget : - Intel Core i7-975 Extreme Edition 3.3GHz Socket 1366 (+ de 900 euros rien que le processeur  ) - ASUS P6T Deluxe V2 ou Asrock X58 SuperComputer Remarquez, il est aussi possible de faire une config mini pour pas que ça prenne trop de place (ou pour l'intégrer dans un corps mais là c'est le domaine de Thierry aka Cetoutotomatix) Promis dès que j'ai une bécane je penche de plus près OpenCL !
_________________ « Si le savoir peut créer des problèmes, ce n'est pas l'ignorance qui les résoudra. » Extrait de « L'univers de la science », Isaac Asimov |
|
|
Haut
|
|
|
astro
|
Publié: Jeu 17 Sep 2009, 23:25 |
|
|
Bricoleur débutantInscrit le: Ven 20 Fév 2009, 09:07Messages: 72Localisation: Paris |
Ah ça y est j'ai commencé à commandé les pièces pour ma nouvelle machine de dev / simulation  je pars sur du tout AMD finalement, avec un phenom quadcore pour le moment pas de carte graphique.. il devra se contenter d'une vieille nvidia 8800.. je sais même pas si c'est compatible avec CUDA/OpenCL, je pense pas. mais dès que possible je complète par une voir deux radeon
_________________ ATCAAATTTCAACACAAAAAATTTCCCTTTATGTTTTTT |
|
|
Haut
|
|
|
Miguil
|
Publié: Ven 18 Sep 2009, 08:44 |
|
|
Roboticien confirméInscrit le: Jeu 23 Oct 2008, 09:10Messages: 366Localisation: Paris (75018) |
Choix judicieux !! T'as pas de carte graphique intégré à ta carte mère ?? Il me semble que les cartes acceptant les processeurs Phenom en possède une Peut être même une Radeon HD3200... Certes en 3D tu auras des performances médiocres mais ce sera pas mieux que ta nvidia ?
_________________ « Si le savoir peut créer des problèmes, ce n'est pas l'ignorance qui les résoudra. » Extrait de « L'univers de la science », Isaac Asimov |
|
|
Haut
|
|
|
astro
|
Publié: Ven 18 Sep 2009, 12:31 |
|
|
Bricoleur débutantInscrit le: Ven 20 Fév 2009, 09:07Messages: 72Localisation: Paris |
_________________ ATCAAATTTCAACACAAAAAATTTCCCTTTATGTTTTTT |
|
|
Haut
|
|
|
SonOfSparda
|
Publié: Ven 18 Sep 2009, 20:54 |
|
|
Roboticien confirméInscrit le: Sam 25 Oct 2008, 23:01Messages: 547 |
Euh je viens de tomber sur mars on est en quelle année rassurez moi? "une vieille 8800" . J'ai pas encore regardé l'API mais là très franchement j'ai peur !! Deja ma 8600 qui gerait des shaders de malade et ma 7600 est pas degueu non plus et vous dites que ça rame? Vous tournez sur vista non? D'ailleurs si un de vous a un programme de test je l'essaierais bien sur mon pécé en dediant presque complètement la carte vidéo a cette tâche. Mais c'est prometteur en tout cas, une petite génération 9 en pci sur une mini carte mère en renfort du cpu ça éviterait peut être l'utilisation de plusieurs cartes mères dans la machine.
_________________ Projet en cours: classe d'acquisition visuelle et de sauvegarde Statut: [Terminé]
programmeur langages: C, C#, C++,asp, php,SQL,javascript,CSS. |
|
|
Haut
|
|
|
astro
|
Publié: Ven 18 Sep 2009, 22:40 |
|
|
Bricoleur débutantInscrit le: Ven 20 Fév 2009, 09:07Messages: 72Localisation: Paris |
ok alors pour savoir si on a une carte compatible, on peut regarder sur cette page : http://www.nvidia.com/object/cuda_learn_products.htmldonc normalement les geforce 88xx GTx c'est bon :p Sur ce site, il y a marqué "CUDA compatibility list". Mais enfait, une carte compatible avec CUDA devrait l'être aussi avec OpenCL, pour peu qu'on ait des drivers à jour. La raison est toute simple : sur une geforce, les langages de programmation de kernel CUDA ou OpenCL sont compilés vers le même "bytecode" (le PTX, un langage bas niveau pour processeur nvidia. c'est une sorte d'assembleur). Néanmoins, il est évident qu'entre une carte avec 16 "stream processors" (unified shader) et une autre avec 64, 128 ou 512 de ces processeurs, ou encore entre une carte avec 256 Mo de ram et une autre avec 4 Go, les performances ne sont pas du tout les mêmes... et tout ça a évolué en même pas 3 ans! pour comparer a peu près les performances, on peut regarder sur cette page, dans les tableaux et à la ligne "nombre d'unified shaders" : http://fr.wikipedia.org/wiki/GeForce#Les_GeForce_8
_________________ ATCAAATTTCAACACAAAAAATTTCCCTTTATGTTTTTT |
Dernière édition par astro le Ven 18 Sep 2009, 23:07, édité 1 fois au total.
|
|
Haut
|
|
|
astro
|
Publié: Ven 18 Sep 2009, 22:51 |
|
|
Bricoleur débutantInscrit le: Ven 20 Fév 2009, 09:07Messages: 72Localisation: Paris |
Maintenant, pour les ATI, la liste des cartes compatibles : Officiellement.. rien n'est officiel. ça devrait être rendu public avant la fin de l'année, lors de la release du prochain SDK ATI. En revanche, je pense qu'on peut se baser, sans prendre trop de risques, sur cette liste : http://developer.amd.com/gpu/ATIStreamS ... aspx#cardsQui est la liste des cartes ATI possédant l'architecture nécessaire pour faire du calcul sur GPGPU avec Stream, la librairie propriétaire d'ATI pour le calcul parallèle (bref l'équivalent de CUDA chez nvidia). Et d'ailleurs, par rapport à cette liste, plutôt les cartes qui n'ont pas de "1,2" écrit en tout petit à la fin de leur nom
_________________ ATCAAATTTCAACACAAAAAATTTCCCTTTATGTTTTTT |
|
|
Haut
|
|
|
Miguil
|
Publié: Lun 21 Sep 2009, 19:16 |
|
|
Roboticien confirméInscrit le: Jeu 23 Oct 2008, 09:10Messages: 366Localisation: Paris (75018) |
En effet ! il n'y a pas de puce graphique intégré à ta carte mère. Finalement la carte mère de mon portable a rendu l'ame donc me suis acheté un nouveau avec une carte graphique ATI Radeon HD4650. Suffisant pour faire mumuse... Merci pour ta liste de compatibilité ATi stream. Apparamment ma carte ne supporte pas les opérations à virgule flottant double précision... snif !
_________________ « Si le savoir peut créer des problèmes, ce n'est pas l'ignorance qui les résoudra. » Extrait de « L'univers de la science », Isaac Asimov |
|
|
Haut
|
|
|
astro
|
Publié: Jeu 15 Oct 2009, 19:59 |
|
|
Bricoleur débutantInscrit le: Ven 20 Fév 2009, 09:07Messages: 72Localisation: Paris |
j'ai mis à jour le premier post, car les drivers AMD/ATI beta 4 sont sorti il y a quelques jours, et intègrent le support d'OpenCL pour les GPU (auparavant, il s'agissait uniquement d'une implémentation CPU). edit: je viens tout juste de les installer sur mon nouveau serveur de calcul GPGPU (sobrement baptisé megatron) : amd 64bit quadcore 3.2Ghz / 8 Go de DDR3 / paire de Radeon 4870X2, le tout sous une ubuntu 9.04 (histoire de jouer à fond sur la compatibilité des drivers, mais avec karmic ça devrait tourner aussi) et donc mes premiers retours : ben, ça marche plutôt pas trop mal, sachant que les drivers et le sdk sont en bêta ! à part un bug graphique mineur sur un des exemples, tous les exemples de calculs sous OpenCL marchent sur cette machine. d'ailleurs ça rigole pas chez amd.. y'a une date limite d'autodestruction (février 2010) et un gros carré moche "AMD Testing Only" dans le coin inférieur droit de l'écran, pour bien nous rapeller que si notre carte graphique commence à fumer avec les drivers beta c'est pas de leur faute
_________________ ATCAAATTTCAACACAAAAAATTTCCCTTTATGTTTTTT |
|
|
Haut
|
|
|
|
Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité