Le pub des programmeurs
- 1 927 réponses
- 117 participants
- 124 533 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 ?
Jimbass
11603
Drogué·e à l’AFéine
Membre depuis 18 ans
1811 Posté le 04/12/2018 à 21:32:54
Il y a aussi des effets de mode sur les différentes technologies.
Ce que je vois dans l'industrie-pas-spécialement-audio, c'est que les DSP sont vus aujourd'hui comme des architectures relativement dépassées (je ne suis pas vraiment d'accord avec ca, je constate seulement). Par exemple dans les gros DSP haut de gamme, les Keystone 2 de Texas Instruments sont sortis en 2012, et il n'y a rien de nouveau depuis.
Les GPGPU ont été très à la mode il y a quelques années, et ca se tasse en ce moment. Les applications pour lesquelles c'est bien adapté s'en servent, mais pour les autres les grands espoirs se dégonflent. Ah quand on a pas des grosses quantités de données bien homogènes, ou qu'on a de fortes contraintes de latence, ca pose de soucis. On n'a pas le contrôle sur le scheduler/dispatcher interne et l'énorme latence d'accès à la mémoire est masquée seulement en moyenne par le fort parallélisme.
Le truc qui est en vogue en ce moment, ce sont les accélérateurs pour algorithmes d'"intelligence artificielle" (deep learning et assimilé). Ca revient à avoir un réseau de plein de DSP, avec une forte connectivité. Deux exemples :
https://www.movidius.com/myriadx
https://www.xilinx.com/support/documentation/white_papers/wp506-ai-engine.pdf
N'oublie pas qu'il n'y a pas de cloud, seulement l'ordinateur de quelqu'un d'autre.
Pour des applications à faible latence, et l'audio "boucle fermée" en fait partie, passer par internet reste rédhibitoire. On verra les développements des réseaux TSN, ca intéresse beaucoup l'automobile.
Ce que je vois dans l'industrie-pas-spécialement-audio, c'est que les DSP sont vus aujourd'hui comme des architectures relativement dépassées (je ne suis pas vraiment d'accord avec ca, je constate seulement). Par exemple dans les gros DSP haut de gamme, les Keystone 2 de Texas Instruments sont sortis en 2012, et il n'y a rien de nouveau depuis.
Les GPGPU ont été très à la mode il y a quelques années, et ca se tasse en ce moment. Les applications pour lesquelles c'est bien adapté s'en servent, mais pour les autres les grands espoirs se dégonflent. Ah quand on a pas des grosses quantités de données bien homogènes, ou qu'on a de fortes contraintes de latence, ca pose de soucis. On n'a pas le contrôle sur le scheduler/dispatcher interne et l'énorme latence d'accès à la mémoire est masquée seulement en moyenne par le fort parallélisme.
Le truc qui est en vogue en ce moment, ce sont les accélérateurs pour algorithmes d'"intelligence artificielle" (deep learning et assimilé). Ca revient à avoir un réseau de plein de DSP, avec une forte connectivité. Deux exemples :
https://www.movidius.com/myriadx
https://www.xilinx.com/support/documentation/white_papers/wp506-ai-engine.pdf
Citation de Patrick :
Les traitements pourront aussi être de plus en plus décentralisés et "cloudifiés" non ? Quand on voit les débits et les latences d'une bonne ligne internet d'aujourd'hui ca serait pas si déconnant
N'oublie pas qu'il n'y a pas de cloud, seulement l'ordinateur de quelqu'un d'autre.
Pour des applications à faible latence, et l'audio "boucle fermée" en fait partie, passer par internet reste rédhibitoire. On verra les développements des réseaux TSN, ca intéresse beaucoup l'automobile.
Musikmesser 2013 - Bullshit Gourous - Tocxic Instruments - festivals Foud'Rock, Metal Sphère et la Tour met les Watts
[ Dernière édition du message le 04/12/2018 à 21:37:25 ]
jujupauty
1150
AFicionado·a
Membre depuis 21 ans
1812 Posté le 06/12/2018 à 12:13:20
S'il y a une adoption de SOUL dans les plateformes HW, la frontière entre plug in et HW sera de plus en plus floue.
Jul
[ Dernière édition du message le 06/12/2018 à 12:13:34 ]
miles1981
8363
Je poste, donc je suis
Membre depuis 20 ans
1813 Posté le 06/12/2018 à 19:00:46
Citation de Jimbass :
Le fait de déporter prend du temps, parfois plus que le calcul qu'on déporte.
Deporter quoi ? On est deja sur le DSP qui fait deja le calcul ausio sur le meme flux.
Audio Toolkit: http://www.audio-tk.com/
[ Dernière édition du message le 06/12/2018 à 19:00:57 ]
miles1981
8363
Je poste, donc je suis
Membre depuis 20 ans
1814 Posté le 06/12/2018 à 19:02:11
Citation de EraTom :
Tant que l'ensemble des traitements ne sera pas envoyé vers le DSP et que la DSP n'aura pas un accès direct au DAC, il faudra faire des transferts de données gérés par le CPU et passant par le bus de données, etc.
Le principe, c'est de deporter sur le DSP qui s'occupe deja du DAC.
Audio Toolkit: http://www.audio-tk.com/
Jimbass
11603
Drogué·e à l’AFéine
Membre depuis 18 ans
1815 Posté le 07/12/2018 à 00:55:28
Citation de miles1981 :
On est deja sur le DSP
Ou pas, justement.
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
1816 Posté le 07/12/2018 à 00:56:01
Oui on est d'accord sur le principe, mais il faudra bien que l'ensemble des traitements soit déporté.
Tant qu'il y aura seulement un élément de la chaîne qui tournera sur le CPU, le problème de la latence se posera.
Tant qu'il y aura seulement un élément de la chaîne qui tournera sur le CPU, le problème de la latence se posera.
Wolfen
13914
Rédacteur·trice
Membre depuis 22 ans
1817 Posté le 11/01/2019 à 13:44:51
Nouvelle vidéo sur SOUL :
https://skillsmatter.com/skillscasts/13153-adc-january
https://skillsmatter.com/skillscasts/13153-adc-january
Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud
miles1981
8363
Je poste, donc je suis
Membre depuis 20 ans
1818 Posté le 11/01/2019 à 14:18:35
Ah, c'etait au meetup auquel je n'ai pas pu assister
Audio Toolkit: http://www.audio-tk.com/
Anonyme
30851
1819 Posté le 01/02/2019 à 18:41:22
Hello je reviens (encore) avec python. Bon finalement je suis bien obligé de m'y mettre, la je développe un petit programme en python qui exécute une liste de commandes via SSH sur un serveur (sous linux) depuis mon PC pour faire de l'automatisation. Jusque la rien de bien spécial, ca marche plutôt bien.
Par contre, ce serveur a deux autres machines (aussi sous linux) qui sont connectées dessus et qui elles, ne sont pas accessibles depuis l'extérieur.
Pour accéder à ces deux autre machine je dois lancer une session ssh à partir du serveur pour m'y connecter et faire ce que j'ai à faire.
Depuis mon script j'aimerais quand même pouvoir m'y connecter et lancer quelques commandes. J'y arrive en faisant exécuter à mon programme une ligne du style (qui du coup est exécutée sur le serveur) :
Mais bon je suis moyennement satisfait, le but de mon programme est d'automatiser d'une manière propre des tâches. j'aimerais plutot que ca fasse un truc du genre :
Vu que les machines connectées ne sont pas visibles depuis mon poste ou le programme est exécuté, pas moyen de rouvrir une autre session ssh vers ces machines, et je n'ai pas le droit de changer les règles réseau, et il faut que j'évite au maximum d’exécuter quoi que ce soit d'autre que des commandes standards sur le serveur Sur les deux autres machines impossible d'installer quoi que ce soit.
pour schématiser voila la tronche du réseau :
Est ce qu'il y aurait un moyen d'améliorer un peu ce cas de figure ?
J'imagine bien qu'il y a déjà des solutions qui pourraient répondre à ce genre de besoins, mais j'aimerais autant que possible le faire moi même pour pratiquer un peu python.
Par contre, ce serveur a deux autres machines (aussi sous linux) qui sont connectées dessus et qui elles, ne sont pas accessibles depuis l'extérieur.
Pour accéder à ces deux autre machine je dois lancer une session ssh à partir du serveur pour m'y connecter et faire ce que j'ai à faire.
Depuis mon script j'aimerais quand même pouvoir m'y connecter et lancer quelques commandes. J'y arrive en faisant exécuter à mon programme une ligne du style (qui du coup est exécutée sur le serveur) :
ssh user@ip_d'une_des_seconde_machine 'cd /home && echo bonjour > toto.txt && ls -l'
Mais bon je suis moyennement satisfait, le but de mon programme est d'automatiser d'une manière propre des tâches. j'aimerais plutot que ca fasse un truc du genre :
instructions serveur
ssh machine_1
instructions machine 1
exit
instruction serveur
Vu que les machines connectées ne sont pas visibles depuis mon poste ou le programme est exécuté, pas moyen de rouvrir une autre session ssh vers ces machines, et je n'ai pas le droit de changer les règles réseau, et il faut que j'évite au maximum d’exécuter quoi que ce soit d'autre que des commandes standards sur le serveur Sur les deux autres machines impossible d'installer quoi que ce soit.
pour schématiser voila la tronche du réseau :
+---> Machine 1
|
PC ------>Serveur-----+
|
+---> Machine 2
Est ce qu'il y aurait un moyen d'améliorer un peu ce cas de figure ?
J'imagine bien qu'il y a déjà des solutions qui pourraient répondre à ce genre de besoins, mais j'aimerais autant que possible le faire moi même pour pratiquer un peu python.
Anonyme
4548
1820 Posté le 01/02/2019 à 19:01:11
Question peut être conne mais y'a une raison particulière pour toi de faire ça en python et pas en script bash directement ?
Sinon y'a une option déjà toute faite pour ça dans OpenSSH à partir de la version 7.3 (proxy jump).
Je te conseille de combiner ça avec un fichier config pour ssh histoire de simplifier le tout (et en fait d'utiliser un fichier config dans tous les cas quoi que tu fasses avec ssh).
Une fois que tu as ce fichier config tu fais
et pif paf pouf tout se fait tout seul (si tu as ssh-agent déjà correctement configuré et qui tourne sur la machine client pour assurer le forward des clés, ça c'est encore un autre sujet).
Si tu veux chercher plus d'info ça s'appelle un bastion SSH (un serveur sur réseau public qui sert d'intermédiaire d'accès à des serveurs sur réseau privé).
Sinon y'a une option déjà toute faite pour ça dans OpenSSH à partir de la version 7.3 (proxy jump).
ssh -J user@serveur-public user@machine-privee
Je te conseille de combiner ça avec un fichier config pour ssh histoire de simplifier le tout (et en fait d'utiliser un fichier config dans tous les cas quoi que tu fasses avec ssh).
~/.ssh/config
Host serveur-public
Hostname ip-du-serveur
IdentityFile ~/.ssh/cle-privee-a-utiliser
User user
Host machine-privee
ProxyJump serveur-public
Hostname ip-de-la-machine
IdentityFile ~/.ssh/cle-privee-a-utiliser
User user
Une fois que tu as ce fichier config tu fais
ssh machine-privee
et pif paf pouf tout se fait tout seul (si tu as ssh-agent déjà correctement configuré et qui tourne sur la machine client pour assurer le forward des clés, ça c'est encore un autre sujet).
Si tu veux chercher plus d'info ça s'appelle un bastion SSH (un serveur sur réseau public qui sert d'intermédiaire d'accès à des serveurs sur réseau privé).
[ Dernière édition du message le 01/02/2019 à 19:02:04 ]
- < Liste des sujets
- Charte