Le pub des programmeurs
- 1 927 réponses
- 117 participants
- 123 874 vues
- 130 followers
Anonyme
521410
Sujet de la discussion Posté le 25/08/2005 à 17:21:03Le pub des programmeurs
Salut y a des programeurs sur AF si oui vous bossez sous quoi ?
Dr Pouet
52037
Membre d’honneur
Membre depuis 20 ans
1631 Posté le 07/03/2017 à 23:14:10
Dr Pouet
52037
Membre d’honneur
Membre depuis 20 ans
1632 Posté le 07/03/2017 à 23:18:22
Sinon, la bible :
"Le" Stevens.
On le voit même dans Wayne's World 2, c'est dire.
"Le" Stevens.
On le voit même dans Wayne's World 2, c'est dire.
Jimbass
11603
Drogué·e à l’AFéine
Membre depuis 18 ans
1633 Posté le 08/03/2017 à 14:15:56
Citation de EraTom :
les langages au niveaux
Sous-entendrais-tu que ceux qui sont proches du hardware n'ont pas le niveau ?
Citation de redpill :
pourquoi passer par arduino et pas par le processeur directement ?
Tu parles de la carte ou de l'environnement de programmation ?
- Pour la carte, c'est sans doute pour une question d'IO. Sur un PC moderne, point de port série ou de port parallèle avec lequel on peut bidouiller. Avec un microcontrôleur, tu fais tes routines d'interruption en fonction de ce que tu branches sur les IO sans devoir passer des couches et des couches de logiciel système.
- Pour l'environnement, bah c'est surtout le bootloader qui est pratique, le reste c'est du C avec une chaîne de cross-compil GNU et quelques librairies qui facilitent les IO. Rien n'impose de se limiter à ca.
Citation de tropdeg' :
man 2 select
Oui, quand on a un OS Posix. C'est rarement le cas sur un microcontrôleur.
Musikmesser 2013 - Bullshit Gourous - Tocxic Instruments - festivals Foud'Rock, Metal Sphère et la Tour met les Watts
EraTom
2282
AFicionado·a
Membre depuis 13 ans
1634 Posté le 08/03/2017 à 18:04:31
x
Hors sujet :Ah oui, elle n'est pas mal celle-là...
Anonyme
30851
1635 Posté le 18/03/2017 à 11:53:57
Tiens je me posais une question il n'y a pas longtemps avec un pote : Qu'est ce qui serait le plus performant entre un FPGA et un GPU ? (en prenant un truc qui soit facilement adaptable sur les deux types d'architectures comme des FFT par exemple) sur des critères genre la rapidité par opération par exemple (je ne sais pas si c'est très clair dit comme ça) il y a des gens qui ont une idée ?
miles1981
8360
Je poste, donc je suis
Membre depuis 20 ans
1636 Posté le 18/03/2017 à 13:42:34
Le GPU sera plus rapide, l'avantage du FPGA, c'est le fait qu'il peut être reconfiguré pour un algorithme particulier. Mais en fin de compte, on utilise des FPGA pour concevoir les GPUs "lents", les débugger avant d'en faire des ASIC. Donc pour qqch qui est déployable sur les 2 plateformes, le GPU aura en général l'avantage.
Maintenant, pour des algos qui ne sont pas parallèles, le FPGA aura un avantage car on peut designer directement par exemple un Newton Raphson et non pas l'émuler comme sur un GPU.
Maintenant, pour des algos qui ne sont pas parallèles, le FPGA aura un avantage car on peut designer directement par exemple un Newton Raphson et non pas l'émuler comme sur un GPU.
Audio Toolkit: http://www.audio-tk.com/
VvSurLeRiddim
3058
Squatteur·euse d’AF
Membre depuis 14 ans
1637 Posté le 18/03/2017 à 13:53:47
Je suppose que ça dépend d'une part des puces comparées, et d'autre part du programme qu'on fait tourner dessus.
Au taf des collègues bossent pas mal avec des GPUs : le gros avantage c'est la parallélisation (1 GPU = des centaines, voir des milliers de petits coeurs tournant en parallèle), le gros inconvénient c'est que c'est assez compliqué à programmer et à optimiser du coup : découpage des algos en petites tâches, gestion du parallélisme (synchro, priorités ...) et gestion des transferts de données entre les mémoires respectives du CPU et des GPUs ...
Donc en gros un GPU va permettre des gains de perfs uniquement si le programme se prête à cette approche particulière.
Je ne connais pas les FPGA (au delà du principe dans les grandes lignes) mais je suppose qu'on pourrait probablement en dire autant (?)
Donc à partir de là, les comparaisons générales de perfs entre des matos aussi différents n'ont pas beaucoup de sens car ça dépend de ce qu'on fait tourner dessus.
Comme je dis toujours : en informatique, tout dépend du contexte, il n'y a pas de bonnes ou de mauvaises solutions dans l'absolu, seulement des solutions plus ou moins adaptées à un problème donné.
Au taf des collègues bossent pas mal avec des GPUs : le gros avantage c'est la parallélisation (1 GPU = des centaines, voir des milliers de petits coeurs tournant en parallèle), le gros inconvénient c'est que c'est assez compliqué à programmer et à optimiser du coup : découpage des algos en petites tâches, gestion du parallélisme (synchro, priorités ...) et gestion des transferts de données entre les mémoires respectives du CPU et des GPUs ...
Donc en gros un GPU va permettre des gains de perfs uniquement si le programme se prête à cette approche particulière.
Je ne connais pas les FPGA (au delà du principe dans les grandes lignes) mais je suppose qu'on pourrait probablement en dire autant (?)
Donc à partir de là, les comparaisons générales de perfs entre des matos aussi différents n'ont pas beaucoup de sens car ça dépend de ce qu'on fait tourner dessus.
Comme je dis toujours : en informatique, tout dépend du contexte, il n'y a pas de bonnes ou de mauvaises solutions dans l'absolu, seulement des solutions plus ou moins adaptées à un problème donné.
[ Dernière édition du message le 18/03/2017 à 13:55:17 ]
Dr Pouet
52037
Membre d’honneur
Membre depuis 20 ans
1638 Posté le 18/03/2017 à 19:24:28
Citation :
Donc à partir de là, les comparaisons générales de perfs entre des matos aussi différents n'ont pas beaucoup de sens car ça dépend de ce qu'on fait tourner dessus.
Complètement. Et d'ailleurs j'aurais plutôt dit que sur des opérations simples on ira plus vite avec un FPGA, cf les test AF de l'interface Antelope Audio.
Dans le cas d'un FPGA on va "dessiner" (désormais par blocs) un circuit, tandis qu'avec un GPU on écrit du code, ce qui sera plus laborieux pour des opérations simples (et évidemment beaucoup plus "faisable" pour des opérations complexes).
Jimbass
11603
Drogué·e à l’AFéine
Membre depuis 18 ans
1639 Posté le 19/03/2017 à 01:21:46
Ca dépend énormément des algorithmes qu'on fait avec, et les critères de choix sont complexes : type de parallélisation, localité de chaque traitement (nombre d'IO ou d'accès mémoire par calcul), dépendances de données, calculs en virgule fixe ou flottante, contraintes de consommation ... franchement on ne peut pas dire que l'un est meilleur que l'autre en général.
Un FPGA aura comme avantages le fait de concevoir un circuit réellement optimisé pour le traitement à réaliser, des IO très rapides directement sur la puce (pas besoin de faire des aller-retours sur le PCIe, d'ailleurs il n'y a pas besoin de PC à côté), beaucoup de ressources câblées (Blocs DSP, mémoires, interfaces, et même processeurs) et une consommation électrique bien plus faible qu'un GPU.
Depuis une bonne vingtaine d'années, les FPGA se programment à l'aide de languages de description de matériel, tels que VHDL. De plus en plus d'outils permettent de les programmer en C (avec des règles particulières, ca s'appelle "High Level Synthesis" et ca marche de mieux en mieux). Il est désormais erroné de cantonner les FPGA au prototypage d'ASICs : outre les productions en petites séries, ils sont maintenant de plus en plus utilisés comme co-processeurs dans les supercalculateurs.
Pour des applications particulières on peut même être amené à recréer une sorte de GPU avec un FPGA !
Et on peut aussi mettre plusieurs fonctions plus ou moins indépendantes dans un FPGA : des contrôleurs d'IO, du traitement de signal, des co-processeurs pour un processeur hôte, des fonctions de monitoring, etc.
Les dernières puces sur le marché intègrent aussi plusieurs cœurs ARM + GPU !
Une bonne introduction, suffisamment récente (en anglais) :
https://www.embeddedrelated.com/showarticle/195.php
Un FPGA aura comme avantages le fait de concevoir un circuit réellement optimisé pour le traitement à réaliser, des IO très rapides directement sur la puce (pas besoin de faire des aller-retours sur le PCIe, d'ailleurs il n'y a pas besoin de PC à côté), beaucoup de ressources câblées (Blocs DSP, mémoires, interfaces, et même processeurs) et une consommation électrique bien plus faible qu'un GPU.
Depuis une bonne vingtaine d'années, les FPGA se programment à l'aide de languages de description de matériel, tels que VHDL. De plus en plus d'outils permettent de les programmer en C (avec des règles particulières, ca s'appelle "High Level Synthesis" et ca marche de mieux en mieux). Il est désormais erroné de cantonner les FPGA au prototypage d'ASICs : outre les productions en petites séries, ils sont maintenant de plus en plus utilisés comme co-processeurs dans les supercalculateurs.
Pour des applications particulières on peut même être amené à recréer une sorte de GPU avec un FPGA !
Et on peut aussi mettre plusieurs fonctions plus ou moins indépendantes dans un FPGA : des contrôleurs d'IO, du traitement de signal, des co-processeurs pour un processeur hôte, des fonctions de monitoring, etc.
Les dernières puces sur le marché intègrent aussi plusieurs cœurs ARM + GPU !
Une bonne introduction, suffisamment récente (en anglais) :
https://www.embeddedrelated.com/showarticle/195.php
Musikmesser 2013 - Bullshit Gourous - Tocxic Instruments - festivals Foud'Rock, Metal Sphère et la Tour met les Watts
[ Dernière édition du message le 19/03/2017 à 01:33:16 ]
Dr Pouet
52037
Membre d’honneur
Membre depuis 20 ans
1640 Posté le 19/03/2017 à 01:31:51
Citation de Jimbass :
Ca dépend énormément des algorithmes qu'on fait avec, et les critères de choix sont complexes : type de parallélisation, localité de chaque traitement (nombre d'IO ou d'accès mémoire par calcul), dépendances de données, calculs en virgule fixe ou flottante, contraintes de consommation... franchement on ne peut pas dire que l'un est meilleur que l'autre en général.
Tout à fait. En fait je pensais à des traitements très simples, mais qui correspondent par exemple à la "table de mixage virtuelle d'une interface audio". Pour donner une idée et expliquer ce que je voulais dire : sur une addition de nombres à virgule fixe avec multiplication par un gain, le FPGA a ses chances. Genre la table de mixage de la fameuse Guillemot ISIS ; très bien fichue au demeurant.
Citation de Jimbass :
Il est désormais erroné de cantonner les FPGA au prototypage d'ASICs
Je pensais effectivement à des utilisations de FPGA dans le rôle d'un ASIC. Tu as donc raison et nous sommes effectivement d'accord.
Question bête (mais premier degré) : quelle différence fondamentale entre un ASIC et un FPGA ?
[ Dernière édition du message le 19/03/2017 à 01:38:14 ]
- < Liste des sujets
- Charte