Le pub des programmeurs
- 1 927 réponses
- 117 participants
- 124 282 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 ?
EraTom
2282
AFicionado·a
Membre depuis 13 ans
1771 Posté le 22/11/2018 à 21:09:35
Les traitements sur GPGPU ça marche bien... mais les latences ne sont pas compatibles avec ce qu'un musicien / ingé son attend en live.
A moins que j'ai loupé un truc, ce qui est prometteur ce n'est pas le langage en lui même mais la délocalisation des traitements vers un DSP qui orientera directement son flux de sortie vers le CNA pour réduire la latence, plutôt que de le renvoyer vers le CPU/RAM de l'ordinateur pour être ré-aiguillé vers la carte son.
Une telle architecture matérielle ne demande pas une rupture technologique dingue (les DSP pour faire de l'audio sont matures, mettre des DSP à côté d'un CNA dans une carte fille ou au bout d'une liaison USB... bon) ; il y a déjà eu des tentatives et pourtant ça n'a jamais vraiment percé.
Peut-être que les promesses du langage enclenchera la démocratisation de telle archi matérielle...
A moins que j'ai loupé un truc, ce qui est prometteur ce n'est pas le langage en lui même mais la délocalisation des traitements vers un DSP qui orientera directement son flux de sortie vers le CNA pour réduire la latence, plutôt que de le renvoyer vers le CPU/RAM de l'ordinateur pour être ré-aiguillé vers la carte son.
Une telle architecture matérielle ne demande pas une rupture technologique dingue (les DSP pour faire de l'audio sont matures, mettre des DSP à côté d'un CNA dans une carte fille ou au bout d'une liaison USB... bon) ; il y a déjà eu des tentatives et pourtant ça n'a jamais vraiment percé.
Peut-être que les promesses du langage enclenchera la démocratisation de telle archi matérielle...
Jimbass
11603
Drogué·e à l’AFéine
Membre depuis 18 ans
1772 Posté le 22/11/2018 à 22:12:10
En passant, savez-vous qu'une des toutes premières applications du concept de GPGPU a été pour l'audio ? Il s'agissait d'une réverb à convolution, laborieusement codée en OpenGL, et le signal audio était encodé dans une image pour être traité. À l'époque il était impensable de faire sur un CPU une convolution en temps réel avec une fréquence d'échantillonnage acceptable.
L'utilisation de tels coprocesseurs est un domaine qui progresse bien depuis quelques années, avec des standards logiciels comme OpenCL. Les DSP eux-mêmes ne sont plus trop à la mode, mais le couplage plus fort d'un GPGPU ou d'un FPGA avec le processeur est une tendance drivée par le Big Data et l'IA. On voit d'ailleurs arriver des "processeurs neuronaux", qui sont essentiellement des réseaux de DSP.
Tout ca manque encore cruellement d'IO directes.
L'utilisation de tels coprocesseurs est un domaine qui progresse bien depuis quelques années, avec des standards logiciels comme OpenCL. Les DSP eux-mêmes ne sont plus trop à la mode, mais le couplage plus fort d'un GPGPU ou d'un FPGA avec le processeur est une tendance drivée par le Big Data et l'IA. On voit d'ailleurs arriver des "processeurs neuronaux", qui sont essentiellement des réseaux de DSP.
Tout ca manque encore cruellement d'IO directes.
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
1773 Posté le 23/11/2018 à 20:23:28
Peu importe le processeur / DSP / GPU déporté ; le problème de la latence et l'occupation du bus de donnée ne pourra pas être réglé tant que les données audio devront transiter d'une carte de calcul/traitement vers une carte son.
Enfin, les bus HDMI proposent un canal pour l'audio ; la dernière fois que j'ai regardé (fin 2016) il n'était pas possible de mapper les ports HDMI dans le contexte CUDA, par exemple.
C'est con, quand-même.
Peut être qu'il existe actuellement des solutions mais je n'en ai pas eu vent.
Je n'ai pas creusé avec OpenGL... vous savez ce qu'il est possible de faire ?
(Genre GPGPU avec Cuda, puis détourner le flux vers la sortie audio du HDMI avec OpenGL).
Enfin, les bus HDMI proposent un canal pour l'audio ; la dernière fois que j'ai regardé (fin 2016) il n'était pas possible de mapper les ports HDMI dans le contexte CUDA, par exemple.
C'est con, quand-même.
Peut être qu'il existe actuellement des solutions mais je n'en ai pas eu vent.
Je n'ai pas creusé avec OpenGL... vous savez ce qu'il est possible de faire ?
(Genre GPGPU avec Cuda, puis détourner le flux vers la sortie audio du HDMI avec OpenGL).
Jimbass
11603
Drogué·e à l’AFéine
Membre depuis 18 ans
1774 Posté le 23/11/2018 à 21:58:42
Sur une carte FPGA rien n'empêche de faire des I/O dédiées : la puce a tout ce qu'il faut, mais il faut la configurer pour ca.
Côté GPGPU, ils sont bien trop occupés à faire du Big Data, de la prédiction financière ou de l'IA pour se préoccuper d'I/O directes faible latence.
Côté GPGPU, ils sont bien trop occupés à faire du Big Data, de la prédiction financière ou de l'IA pour se préoccuper d'I/O directes faible latence.
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
1775 Posté le 24/11/2018 à 01:13:02
Du coup ça me donne presque envie d'essayer de coller un FPGA derrière un bus DVI pour détourner son usage et passer des samples sur 24bits dans une image.
A 60Hz ça fait une frame toutes les 17ms. Pour passer un signal stéréo à 48kHz il faudrait 2x48000/60 = 1600 pixels.
A 60Hz ça fait une frame toutes les 17ms. Pour passer un signal stéréo à 48kHz il faudrait 2x48000/60 = 1600 pixels.
Jimbass
11603
Drogué·e à l’AFéine
Membre depuis 18 ans
1776 Posté le 24/11/2018 à 11:34:29
Sur cette carte par exemple tu as une entrée et une sortie HDMI :
https://www.xilinx.com/products/boards-and-kits/1-cfdwic.html
Mais il y a moins cher aussi, tu peux trouver des cartes d'éval avec des petites matrices (souvent avec des interfaces compatibles Arduino) dans les 80$-100$.
https://www.xilinx.com/products/boards-and-kits/cost-optimized-design.html
https://www.intel.com/content/www/us/en/programmable/products/boards_and_kits/all-development-kits.html
https://www.xilinx.com/products/boards-and-kits/1-cfdwic.html
Mais il y a moins cher aussi, tu peux trouver des cartes d'éval avec des petites matrices (souvent avec des interfaces compatibles Arduino) dans les 80$-100$.
https://www.xilinx.com/products/boards-and-kits/cost-optimized-design.html
https://www.intel.com/content/www/us/en/programmable/products/boards_and_kits/all-development-kits.html
Musikmesser 2013 - Bullshit Gourous - Tocxic Instruments - festivals Foud'Rock, Metal Sphère et la Tour met les Watts
Anonyme
30851
1777 Posté le 24/11/2018 à 12:07:41
Citation :
Mais il y a moins cher aussi, tu peux trouver des cartes d'éval avec des petites matrices (souvent avec des interfaces compatibles Arduino) dans les 80$-100$.
Dans ces prix la il existe aussi des cartes avec des puces intégrant à la fois un FPGA et un ou plusieurs coeurs ARM cortes Ax. Ca commence à faire des trucs assez costauds.
static volatile
1793
AFicionado·a
Membre depuis 7 ans
1778 Posté le 24/11/2018 à 12:22:34
Citation de Patrick :
Dans ces prix la il existe aussi des cartes avec des puces intégrant à la fois un FPGA et un ou plusieurs coeurs ARM cortes Ax. Ca commence à faire des trucs assez costauds.
La minized dans le second lien de JimBass fait exactement ça: un cœur ARM-A9 et un FPGA dans la même IC, avec des headers Arduino-compatibles.
Resistance is not futile... it's voltage divided by current
[ Dernière édition du message le 24/11/2018 à 12:22:48 ]
Jimbass
11603
Drogué·e à l’AFéine
Membre depuis 18 ans
1780 Posté le 24/11/2018 à 12:26:53
Oui, et il y en a dans les liens que j'ai posté. Par exemple :
https://www.xilinx.com/products/boards-and-kits/1-odbhjd.html
https://www.intel.com/content/www/us/en/programmable/solutions/partners/partner-profile/terasic-inc-/board/terasic-cyclone-v-soc-starter-kit--de10-nano-.html
Ca peut s'utiliser soit comme un FPGA normal, soit comme un SoC normal (type processeur de tablette ou RasPi), soit surtout comme la combinaison des deux et là ca peut être surpuissant.
https://www.xilinx.com/products/boards-and-kits/1-odbhjd.html
https://www.intel.com/content/www/us/en/programmable/solutions/partners/partner-profile/terasic-inc-/board/terasic-cyclone-v-soc-starter-kit--de10-nano-.html
Ca peut s'utiliser soit comme un FPGA normal, soit comme un SoC normal (type processeur de tablette ou RasPi), soit surtout comme la combinaison des deux et là ca peut être surpuissant.
Musikmesser 2013 - Bullshit Gourous - Tocxic Instruments - festivals Foud'Rock, Metal Sphère et la Tour met les Watts
- < Liste des sujets
- Charte