Se connecter
Se connecter

ou
Créer un compte

ou
Agrandir
Les Mains dans le Cambouis
Bidouille & Développement Informatique

Sujet Le pub des programmeurs

  • 1 925 réponses
  • 117 participants
  • 119 626 vues
  • 130 followers
1 Le pub des programmeurs
Salut :coucou: y a des programeurs sur AF si oui vous bossez sous quoi ?
Afficher le premier post
1771
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...
1772
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.
1773
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).
1774
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. :((
1775
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.
1776
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
1777
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.
1778
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 ]

1779
Ha j'avais pas vu ! En effet :bravo:
1780
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.