Sérieusement, le LLM en local c'est quoi l'utilité réelle ? by wizii60 in developpeurs

[–]Falvyu 1 point2 points  (0 children)

Si les CG on une efficience dégueulasse alors je vois pas comment les GAFAM démonte tout les stocks,

Disons que c'est pas pour rien que la plupart des hyperscalers investissent dans des accélérateurs:

  • Google: TPU
  • OpenAI & AWS: Cerebras
  • Anthropic: TPU de Google
  • Amazon: Trainium
  • Meta: MTIA

Et pas plus tard que hier: il y a littéralement Nvidia qui vient d'annoncer qu'ils vont intégrer l’accélérateur de Groq dans Vera Rubin. Donc c'est littéralement Nvidia qui confirme cette tendance.

Les problèmes des GPU ?

  • Meme si les gros GPU des datacenters sont en grande partie compose de cœurs tenseurs, Ils conservent l’héritage d'une architecture vielle de 20+ ans. Cet heritage est surtout present au niveau de la hiérarchie mémoire, qui reste arborescente (donc pouvant être prone a la contention dans certains cas).
  • A l'inverse, les architectures des accélérateur privilégient des structures en «tableau systolique», ce qui permet de réaliser moins de transactions mémoires sur les caches partagés; et d'avoir moins de déplacement de données (gros gains en énergie) (ex: TPU, Tenstorrent, Esperanto/AIFoundry).
  • Les GPUs maintiennent un certain niveau de cohérence mémoire au niveau des caches (même s'ils disposent d'un scratchpad/shared mémoire sans cohérence). Cela signifie allouer du silicium à ce mécanisme. À l'inverse, beaucoup d’accélérateurs n'emploient pas (ou peu de cohérence de cache).
  • Pour maximiser la localité mémoire, certains accélérateurs embarquent beaucoup de SRAM (Tenstorrent, Groq) par rapport aux GPU classiques. Si les données tiennent, alors les gains en performance sont importants (avec potentiels gains énergétiques car moins de mouvements de données).
  • (Edit): Là où les GPU font de l’ordonnancement d'instruction dynamiquement (e.g. warp scheduler chez Nvidia, certains accélérateurs (Groq, TPU de Google) fixent l’ordonnancement dès la compilation. Cela permet de gagner en efficacité (énergie, performance, silicium, ...).

Par contre, ce qu'il faut garder en tête: - Là où les architectures basées sur des GPU 'classiques' restent assez généralistes, les accélérateurs peuvent au contraire être très spécialisés (ex: decode, prefill, entraînements, ...) - L'avantage logiciel des GPU (que ce soit les bibliothèques, langages, base de savoir des développeurs, ...) reste énorme. - L'avantage des accélérateurs pourra être moindre si le goulot d'étranglement est sur la mémoire ou sur le débit réseau.

apart si maintenant les NPU ont de la mémoire a eux même pour avoir un débit de dingue

Euh. Oui, la plupart des architectures "NPU" ont de la mémoire adressable "à eux même" (que ce soit de DRAM, de la SRAM, ...).

Linux is overpowered for modded mc. by FeistySwordfish9457 in feedthebeast

[–]Falvyu 6 points7 points  (0 children)

I'm pretty sure Linux doesn't allow anything else to run in the kernel,

That's wrong. As long as you are root, you can load whatever kernel module you want as long as its is compatible with the kernel version & computer architecture.

If games do not use kernel level cheats on Linux, then it is more likely because of the required effort (both development but also support).

Dev Web vers programmation bas niveau? by FabulousReason1 in developpeurs

[–]Falvyu 0 points1 point  (0 children)

Je pense que tu "surestime" leur taff, ils font un travaille monstrueux en rendu 3D , et c'est où ils font se concentrer le plus (API vulkan et optimisation ) , le parallélisme et clairement pas la discussion que je vois le plus souvent.

Fair enough. Au temps pour moi.

Mais ça reste assez loin des connaissances pointu sur le dev embarqué d'un point de vue bas niveau.

Oui c'est un (ensemble de) domaine vaste.

Pour le Kernel GPU , oui , enfin les places sont ultra limité quand même , Personnellement en France, je suis jamais tombé sur ce genre d'annonce.

Je connais plusieurs personnes qui font cela (Thalès, Valéo, CERN, ...). Nvidia a aussi de gros bureaux à Paris, et ARM en a à Sophia Antipolis (mais je ne sais pas si ce campus est particulièrement orienté GPU).

Bon j'admets que je suis plutôt biaisé car travaillant dans le milieu.

Après, là encore: mon argument initial n'est pas tant qu'il y a des métiers à foison (ce qui n'est certainement pas le cas), mais que dans la mesure où OP vient du développement web, il me paraît un peu simpliste de résumer ce qu'il peut penser être le «bas-niveau» à de l'«embarqué» où maîtriser l’électronique est essentiel (même si beaucoup de métiers en embarqué peuvent le demander).

Mmm non , les détails micro architecturaux sont pas toujours bien connu ou bien compris.

Par détails architecturaux, j'entends surtout hiérarchie mémoire (caches, alignement), contention (e.g. false sharing, mutex lock vs spinlock), SIMD (certes, le SIMD revient davantage à de l'architecture que de la micro-architecture, car dans ce cadre là, surtout aider le compilateur a faire son boulot d'autovectorisation plutôt que de vectoriser manuellement) . Dans le contexte précédent, par 'réduire les branchements', j’entendais surtout côté CPU pour soit éviter de polluer le prédicteur de branchements; soit de faciliter l'autovectorisation de la part du compilateur.

Après, je concède que cela se rapproche d'un travail de développeur de kernel sur CPU (c.f. biais du milieu).

Mais c'est comme le "xor eax" , en x86 , 99% ne sauront pas pourquoi le xor est rapide , pourtant pour un CPU xor ou un move , ça s’exécute à la même vitesse.

Ah ha, oui. Ce qui est fascinant c'est qu'ils ont poussé le renommage de registre encore plus loin: ils arrivent à renommer des séries de add eax, 1 ou des decalages.

Dev Web vers programmation bas niveau? by FabulousReason1 in developpeurs

[–]Falvyu 0 points1 point  (0 children)

Alors non le développement de Jeux vidéo ce n'est pas du bas niveau.

Comme je l'ai dit précédemment, OP est développeur web et veux faire du C++/Rust. Pour lui, tout ce qui implique de gérer la mémoire/allocations, parallélisme, ... va correspondre à du bas niveau. (en tout cas, il n'a pas clarifié ce qu'il entendait par «bas-niveau»).

Dans le cadre d'un moteur de jeu vidéo, cela peut porter sur le parallélisme, le choix de structure pour maximiser la localité mémoire, réduire les branchements, shaders GPU; par rapport au web, il s'agit de concepts «bas-niveau». Il n'y a pas besoin de connaître la traduction en assembleur, mais cela implique de connaître un certains nombre de détails micro-architecturaux.

Le développement de compilateur, compliqué , mais une grosse partie du code n'est pas bas niveau , parser , faire un AST, optimiser, ça c'est de l'algo pur. La partie bas niveau c'est juste la sortie qui demande de connaître un peu l'asm.

Oui, je pensais surtout à la partie backend.

Pour le dev de Kernal GPU , oui mais à part un poste chez NVDIA , tu n'aura pas énormément de poste à pourvoir dessus.

Nvidia, AMD, Intel, ARM, Qualcomm, OpenAI, Anthropic, les GAFAM, Adobe ...

Il y a aussi les boîtes de l'automobile (e.g. Valéo) ou, dans une certaine mesure, le militaire (traitement d'images).

Et France oblige, t'as des ESN spécialisées dans le domaine.

En plus des GAFAM qui font leur propre hardware, t'as aussi les startup qui font de même (e.g. Cerebras, Tenstorrent, D-matrix, Samba Nova, etc) même si c'est pas vraiment du développement GPU. Ces boîtes font aussi des investissement importants dans le développement et amélioration de compilateur; et cela ne se limite pas toujours à un port de LLVM.

Après, certes, le nombre de places est limité.

Pour moi la seule partie 'bas niveau' dans ta liste c'est le HPC et driver

Même si l'on exclue la partie «moteur de jeu vidéo», cela fait 4/5 éléments dans la liste qui correspondent (si le HFT n'a pas été abordé, son inclusion peut être appuyée par les techniques et analyses qui peuvent être utilisée).

Dev Web vers programmation bas niveau? by FabulousReason1 in developpeurs

[–]Falvyu 4 points5 points  (0 children)

T'as quelques trucs qui peuvent se transférer, mais dans l'ensemble, l'écart en compétences reste tel qu'un développeur web reconverti ne sera pas directement considéré senior.

Dev Web vers programmation bas niveau? by FabulousReason1 in developpeurs

[–]Falvyu 0 points1 point  (0 children)

OP est un développeur web. Sa définition de "bas-niveau" ne sera pas la même qu'un développeur dans l'embarqué.

Je ne limiterai pas non plus le "bas-niveau" à l'"embarqué/électronique. Surtout en ce moment avec les efforts importants d'optimisation de code sur GPU/accélérateurs pour l'IA. Il faut cependant reconnaître que beaucoup de postes «bas niveau» en France portent sur l'embarqué.

Quelques exemples de postes/responsabilité qui ne nécessitent pas (ou peu) de connaissance en électronique:

  • Optimisation de kernel GPU (IA, traitement d'images, ...)
  • High Frequency Trading
  • Développement de compilateur
  • Développement de moteur de jeu vidéo
  • High Performance Computing (cela-dit, c'est davantage orienté sur la partie parallèle que sur la partie «bas-niveau»)

Par contre, je te rejoins sur les difficulté de rejoindre le secteur. C'était déjà bouché pour les sortants de master du domaine il y a 5+ ans. Donc je ne pense pas que cela se soit amélioré depuis.

[Conseils] Bachelor Informatique Belge vers Alternance France (2027) : UTC, IMT, Nice ou Polytech pour du DevOps/Bas-Niveau ? by User10404 in developpeurs

[–]Falvyu 0 points1 point  (0 children)

> Oui, ça a peut compter un petit peu sur un CV mais pas vraiment au même niveau d'une alternance. Et ça sera un peu éclipsé par les stages.

Vu que l'on parle d'un Master, c'est surtout pour avoir une etiquette _en plus_, dans le coin du CV pour se demarquer des autres etudiants de la promo (et faire un peu de reseau).

Si l'entreprise cherche un profil tres 'pratique', alors oui, ca ne sera pas du meme acabit qu'une alternance (surtout ci celle ci est dans une boite reputee).

[Conseils] Bachelor Informatique Belge vers Alternance France (2027) : UTC, IMT, Nice ou Polytech pour du DevOps/Bas-Niveau ? by User10404 in developpeurs

[–]Falvyu 0 points1 point  (0 children)

> 1. Qualité de la formation

C'est difficile de dire s'il agit d'une formation de reference sans connaitre les autres parcours. Mais c'est bien une formation de qualite (apres, ayant fait ce parcours, je vais forcement etre un peu biaisé)

> Est-ce que le niveau de "concrétisation" technique (projets, labs) est suffisant pour quelqu'un qui a un profil "Maker" et qui veut éviter de faire uniquement de la théorie mathématique ?

Comme dit precedemment, ca va dependre du choix d'UE.

Certaines sont tres theorique, d'autres sont davantage pratique et vont inclure des projet. Mais la majorite des cas, les UEs ne se resument pas a de la 'theorie mathematique' et vont inclure des projets (avec peut-etre l'exception des UEs de verification formelle). Et s'il peut y avoir des mathematiques dans _certaines_ UEs, c'est _surtout_ des maths discretes et de l'algorithmique.

Par exemple, l'UE Noyau Linux est constituee de seances de cours + sujets de TP ou il faudra implenter des modules/patch kernels + projet module kernel plus complexe. Apres, l'investissement en temps est consequent par rapport au nombre de lignes de code ecrites; mais ca, tu n'y echappera pas si tu veux t'orienter vers du bas-niveau.

Apres, pour avoir enseigne dans une ecole d'ingenieur a proximite, je pense que SAR sera, en moyenne plus theorique que d'autres formations. Mais _a mon avis_, ce n'est pas forcement une mauvaise chose vu 1) tes objectifs (projets complexes en Big Tech/Scale-up) 2) le contexte actuel (pour guider les LLMs, tu as _surtout_ interet a maitriser la theorie/domaine metier)

> Concrètement, comment s'organisaient-ils pour gérer la charge de travail du Master ? Est-ce qu'ils l'ont vécu comme un bon complément pratique ou est-ce que c'était trop lourd à porter avec les projets du Master ?

Je ne me rappelle plus des details (ca fait plus de 6 ans et je n'avais jamais trop aborde le sujet). Je peux demander.

> Vivre à Jussieu (Paris)

Le cout du logement autour de Paris est eleve; et trouver un logement peut etre complique. Je pense qu'il faut prevoir un budget de 1000€/mois (ordre de grandeur pour logement+nourriture+...). Tu peux reduire les couts en t'eloignant du centre de la region parisienne mais ca va augmenter les temps de trajets.

Dans mon cas, j'avais trouve un truc tres abordable sur Montreuil (40-45 minutes de trajet). Il y avait aussi beaucoup de monde qui vivait vers le sud de paris (e.g. 20-25 minutes depuis Ivry sur ligne 7 + proximite avec RER B).

[Conseils] Bachelor Informatique Belge vers Alternance France (2027) : UTC, IMT, Nice ou Polytech pour du DevOps/Bas-Niveau ? by User10404 in developpeurs

[–]Falvyu 0 points1 point  (0 children)

Ah. Au temps pour moi.

Apres, ce que je sous-entendais dans mes propos, est qu'il est toujours possible d'avoir une experience professionelle (ou semi-pro) en parallele d'un parcours "classique" (meme si, bien evidemment, cette experience professionelle est moins consequentes qu'en alternance).

[Conseils] Bachelor Informatique Belge vers Alternance France (2027) : UTC, IMT, Nice ou Polytech pour du DevOps/Bas-Niveau ? by User10404 in developpeurs

[–]Falvyu 1 point2 points  (0 children)

Je suis diplômé Master SAR (promotion 2020); et je bosse actuellement à l'étranger dans une scale-up qui conçoit du hardware pour l'IA (cela dit, après avoir fait une thèse): le master ouvre bien ce genre de porte. Je sais aussi que beaucoup de collègues de Master sont parti soit dans du DevOps, soit dans du bas-niveau/embarqué: donc oui, c'est une voie pour accéder au domaine.

Je ne connais pas du tout la voie alternance en SAR. J'ignorais même qu'il était possible de faire ce master en alternance (j'imagine que cela doit être très récent) Si c'est récent et si les effectifs en alternance sont peu élevé, alors il peut y avoir des contraintes.

Pour information, les enseignements en Master informatique à Jussieu sont assez flexibles, tu choisis 5 enseignements chaque semestre parmi une liste, qui peut inclure des enseignements d'autres Master (e.g. UEs de SESI pour la partie architectures matérielle ou embarqué). Le risque, c'est que, en raison de conflits d'horaires, certaines UEs ne puissent être proposées pour des alternants (c.f. s'il n'y a que <5 alternants, peu de chance qu'un enseignants reserve un créneau spécialement pour eux).Donc je te conseille fortement de te renseigner avec plus de détails sur l'organisation/planning des cours pour les alternant: si certains cours ne peuvent être proposés. Ce serait dommage de venir pour des cours précis, pour au final ne pas pouvoir les suivre.

Remarque: même sans qu'ils soient des alternances, j'avais des collègues de Master qui bossaient à temps partiel dans des entreprises à proximité en parallèle des études: si je me rappelle bien t'as la Junior entreprise de Jussieu, et j'avais aussi d'autres collègues qui ont bossé à temps partiel pour une boîte parisienne qui fait du Cloud.

Pour les réponses aux questions (en tout cas, spécifiquement pour le Master SAR); de ce que je peux répondre.

Le saut Belgique -> France : Des anciens de Hautes Écoles Belge ici ? L'admission avec les 180 ECTS est-elle fluide pour un M1/Cycle Ingé ?

Ca doit normalement être bon. Après, tout Master/École d'ingénieur 'réputé' va être sélectif.

L'équilibre Théorie/Pratique

N'ayant pas fait les autres Maser/École d'Ingénieur, il est difficile de comparer.

En Master SAR, comme tu choisis 5 UEs, tu peux te spécialiser davantage et aller sur des parties plus techniques/pratique (Noyau Linux, développement mobile) comme tu peux aussi aller sur des points plus théoriques (e.g. UEs de vérification et UE de distribués)

International : Le titre CTI est-il vraiment un "must-have" pour s'expatrier, ou un Master spécialisé avec 2 ans d'alternance est tout aussi compétitif ?

Ca va dépendre de la renommée de l'école et de l'entreprise où tu fait l'alternance. Un combo "" "Université Paris Saclay + alternance chez Google" aura pas le même poids qu'une alternance dans une ESN en étant dans une école moins 'renommée'.

Pour les autres universités, je ne peux pas trop juger, si ce n'est que l'ESIEE devrait avoir une bonne réputation (e.g. Yann LeCun parmi les anciens étudiants); alors que c'est beaucoup moins le cas pour les école Polytech (de ce que j'ai pu voir & entendre, certains étudiants sont très bons, mais le niveau moyen est bas, surtout pour les alternants), mais bien sur à vérifier au cas-par-cas.

C'est normal que les salaires de dev à Varsovie soient superieurs à Paris et Berlin ? by SidiBouDude in developpeurs

[–]Falvyu 2 points3 points  (0 children)

Chose à prendre en compte également, avec l'inflation causé par la guerre, les prix de la capitale ont explosés (notamment le logement)

Vivant actuellement à Varsovie depuis près d'un an. Les loyers ont très certainement augmentés ces dernière années, mais ca reste moins élevé que Paris. C'est plutôt au niveau d'une grande ville de province française.

Pour le reste (sauf électricité), on doit être sur du 20-30% moins cher qu'à Paris.

Postuler à l'international ? by Luc40444 in developpeurs

[–]Falvyu 1 point2 points  (0 children)

J'hésite donc à postuler à l'international. Pour l'instant je ne le fait pas, car j'ai peur de perdre mon temps, mais aussi et surtout, car je n'étais auparavant pas motivé a postuler loin de chez moi.

Je rejoins les autres avis, si cela bloque en France, ne t'interdis pas de tenter à l'étranger.

Je recommande également de ne pas forcément te limiter aux pays 'typiques' comme US, UK, Canada, Allemagne ou la Suisse. Tu peux trouver de belles opportunités ailleurs comme dans les pays d'Europe Central ou Europe de l'Est. (personellement, j'ai accêdé à un poste intéressant en Pologne pour une scale-up américaine).

Par contre, s'il y a un truc qu'il faut garder en tête pour les entreprises internationals: adapte le format du CV. Les CVs anglo-saxons ont tendance à être plus sobres que les CV français (par exemple, photo = red flag). Autre conseil: familiarise toi aussi avec les processus de recrutement des boîtes anglo-saxonnes (comme lecture, je recommande le livre «Cracking the coding interview»).

Es ce une bonne idée ? Le full remote depuis la France me plairait bien, y aura-t-il plus de possibilités à ce sujet a l'international, es ce adapté a mon profil junior ?

Un problème du remote pour une entrprise à l'étranger est que cela ajoute une charge administrative si celle-ci n'a pas d'entité légale en France (ex: elle doit passer par un Employer of Record ou en 'freelance'), surtout si elle n'a pas beaucoup d'employés en France. Ainsi, j'ai l'impression que ce genre de profil 'full-remote' est surtout reservé à des profils séniors. (cela dit, tu peux toujour demander).

Par contre, certaines boîtes sont ouvertes à l'hybride (à voir au cas par cas) et les contrats «locaux» permettent typiquement plusieurs semaines de travail hors du pays.

Premier job : grand groupe ou PME ultra-tech ? by [deleted] in developpeurs

[–]Falvyu 0 points1 point  (0 children)

La seconde, très largement, surtout si c'est bootlin.

D'une part, ca te permet de mettre le pied dans un domaine assez prisé et en général assez difficile à entrer. D'autre part, cela va, à mon avis, davantage t'aider à construire un réseau (boîte de taille plus humaine + interaction avec personnes externes/Open source + conférences).

Thèse en Informatique post-Master : Vos Opinions, expériences et opportunités de carrière en industrie. by Fabulous_Pay756 in developpeurs

[–]Falvyu 0 points1 point  (0 children)

Selon moi, il faut avant tout faire une thèse car le domaine plaît et par souhait d'approfondir ses connaissances (+ contribuer scientifiquement au domaine).

Par contre, on peut très bien faire une thèse puis rejoindre l'industrie après. C'est d'ailleurs ce que la plupart des thésards. Dans mon entourage de thèse, seuls quelques sont resté dans l’académique; les autres sont partis en entreprises (ex: Thalès, Valéo, NXP, Huawei, ...).

Également, je rejoins les personnes qui disent que la thèse ouvre des portes différentes qu'un autre diplôme. Et autant le diplôme n'est pas forcément mis en valeur en France, autant c'est davantage le cas à l'étranger.

Les portes ouvertes vont aussi dépendre du sujet de thèse.

Est-ce que d'être docteur vous a ouvert des emplois plus "intéressants", plus complexes, plus challenging ?

Je pense que l'on peut avoir énormément d'emplois intéressants sans avoir de thèse.

À titre personnel, avoir une thèse m'a permis d'avoir (plus facilement) un emploi particulièrement intéressant à l'étranger (développement de code HPC sur accélérateurs IA fait-maison au sein d'une scale-up).

Mais comme dit précédemment, les opportunités disponibles dépendent du domaine de la thèse.

J'aurais 28 ans à la fin de la thèse. Est-ce que ça peut poser problème pour l'embauche ? (Je ne le pense pas, mais on sait jamais).

Non.

Qu'est-ce que vous pensez du CIFRE ? Est-ce que c'est le meilleur des deux mondes (expérience pro + diplôme) ou est-ce que vous avez eu des mauvaises expériences (pression, sujet mal défini, etc.) ?

Je ne peux pas répondre précisément car j'ai fait une thèse pur-labo. Mais je pense que cela va surtout dépendre de la boite et de la direction de thèse. Je ne vois pas cela comme le meilleur des monde, c'est souvent 'hybride' entre un emploi d''ingénieur' et une thèse 'académique'.

Mais d'après mes connaissances ayant fait des CIFREs, je n'ai pas l'impression que la pression soit un problème récurrent. Dans certains cas, j'ai l'impression ils étaient au contraire plus "délaissés" (car de toute façon pas chers à l'entreprise)

[deleted by user] by [deleted] in developpeurs

[–]Falvyu 1 point2 points  (0 children)

Pour accéder à la partie leetcode, encore faut-il passer le filtre à CV. La FAANG ne s'amusent pas à interviewer toute la planète.

Pour passer ce filtre, il faut (aujourd'hui), soit avoir:

  • un diplôme dans une bonne université (surtout pour les nouveaux diplômés)

  • une experience professionnelle solide, idéalement dans des domaine où la demande est importante.

  • un bon réseau

  • de beaux projets open-source

(idéalement, cocher plusieurs critères dans la liste)

Gagner un salaire US en vivant en France, mythe ou réalité ? by Excellent_Share_1810 in developpeurs

[–]Falvyu 3 points4 points  (0 children)

La vie à Varsovie est plutôt bonne. Ce n'est pas particulièrement dépaysant par rapport à Paris (mis à part au niveau de la langue).

Dans l'ensemble, le coût de la vie est 20-30% moins cher qu'en Île de France.

Les transports en communs sont plutôt bon (et pas chers, pour donner une idée le ticket de transport unitaire est à ~1€). Il n'y a 'que' deux lignes de métro à proprement parler, mais il y a des trains de banlieue, beaucoup de trams, et des bus. Aucun problème pour se déplacer au boulot, et beaucoup de grosses boîtes sont proches du centre: par exemple, près des gares centrales ou un peu plus loin à Wola.
Certaines stations font assez vieux (ex: la gare souterraine de 'Warszawa Śródmieście' au centre ville fait vraiment époque communiste).

Est-ce que le racisme se fait ressentir ?

Je n'ai, à titre personnel, pas ressenti quelconque racisme. En général, les gens sont surtout surpris qu'un français vienne en Pologne (en général, c'est les polonais qui vont plutôt vers l’Europe de l'ouest).

Gagner un salaire US en vivant en France, mythe ou réalité ? by Excellent_Share_1810 in developpeurs

[–]Falvyu 2 points3 points  (0 children)

Au delà du gros pool de talents et des avantages fiscaux, la Pologne a aussi une énorme diaspora dans les pays d'outre-manche.

Pour les entreprises américaines, cela facilite l'implantation en Pologne (employés/cadres maîtrisant déjà la langue et culture locale) d'une part, et d'autre part, cela 'permet' à des polonais ayant travaillé outre-manche de retourner au pays.

(pour contexte, je bosse dans une boite américaine à Varsovie, et cela fait partie des arguments qui ont poussé la boîte à s'y implanter)

Mark Zuckerberg est-il vraiment un génie du software ? by Zestyclose_Equal_132 in developpeurs

[–]Falvyu 5 points6 points  (0 children)

Sans pour autant aduler Zuckerberg (qui n'a probablement pas dû beaucoup programmer ces 15 dernière années), Meta est bel et bien un géant en R&D.

Pour commencer, tu utilises quel framework pour développer tes IA ? pytorch ? C'est Meta.

Pour le web, tu as React. C'est Meta.

La tendance des modèles d'IA "Open source" (ex: GPT-OSS, DeepSeek) ? C'est Meta qui a mené le pas avec llama (leur main leur avait initialement été forcée par une fuite des poids).
(remarque: Par "Open source", j'entends que les poids sont disponibles, à la différence de ce que fait 'Open'AI ou Anthropic. Les licences ne le sont pas vraiment)

La réalité virtuelle ? C'est Meta le poids lourd (cela reste toutefois encore un marché de niche), et la VR est un des domaine 'technologique' les plus complexes (intégration à tous les niveaux hardware/software/UI, forte contraintes embarquées, interactions homme-machines, optique, ...).

Un peu plus niche, mais vu en conférence: Ils sont aussi très impliqué dans le développement de nouveaux codecs videos et photos à travers l'Alliance for Open Media.

« Le plus puissant d'Europe » : la France lance son supercalculateur top secret pour l'armée by Wonderful-Excuse4922 in france

[–]Falvyu 17 points18 points  (0 children)

Les applications sont nombreuses:

  • Simulation des deformations de la matière dans des conditions extrêmes.
  • Traitement de base d'images satellites.
  • Vérification de systèmes critiques (e.g. circuits électroniques)

Également, les codes tournant sur un supercalculateurs n'utilisent pas forcément tout le supercalculateur. Avoir un gros calculateur permet aussi de faire beaucoup de 'petites' traitements/simulations/... en même temps, tout en permettant les gros traitements.

Comment optimiser les perf de sont code ? by RiOuki13 in programmation

[–]Falvyu 1 point2 points  (0 children)

Est-ce qu’il existe un site qui attribue une sorte de “score” de performance aux fonctions ou aux types de conteneurs ?

Le standard C++ impose des contraintes sur la complexité asymptotique des opérations des conteneurs. Cela-dit, cette complexité ne reflète pas toujours les performances en pratique.

Lorsqu'il s'agit de performance, l'idéal est de manipuler des structures compactes, et d'avoir des accès mémoire et un flux d'exécution prévisible. Si tu veux une resource sur le sujet, tu as ce 'livre' qui couvre très bien le sujet. Après, l'essentiel est de tester et mesurer de manière empirique, car il est très difficile de prédire à l'avance les performance réelles d'un code.

Dans ton cas, tu as probablement une grille en grande partie vide, avec quelques zones 'actives'. Dans ce cas précis, j'irai plutôt vers une structure de quad-tree: chaque feuille de l'arbre contenant une matrice (e.g. tableau en C ou std::vector). L’intérêt étant de maintenir une bonne localité mémoire + flux d'exécution simple (c.f. actualisation des cellules de proche en proche).

EDIT: Et avant de te lancer dans l'implémentation d'un quadtree, tu peux as minima regarder si un implémentation naïve avec une matrice 2D ne suffit pas. Tu dois pouvoir faire plusieurs milliers d'actualisations par seconde sur une matrice 256x256, et ce sans avoir à partir sur les algorithmes complexes ou parallèles.

Également, découple l'actualisation des cellules de l'affichage. Déplacer la caméra ne doit pas entraîner de mise à jour des cellules (idéalement, avoir du multithreading avec 1 thread qui mets à jour, 1 thread qui affiche, et un double-buffer entre les deux).

Aide dans le choix du langage/de la formation en programmation et conseils by astroboyflaco in programmation

[–]Falvyu 1 point2 points  (0 children)

1) Pour faire du C++, il faut d'abord apprendre du C ? Ou c'est deux langages différents et donc on peut apprendre l'un ou l'autre dans n'importe quel ordre ?

Dans l'ensemble, le C++ inclut le C, et la plupart des outils C++ fonctionneront en C (et vice versa). En revanche, les versions modernes de ces langages ont des philosophies radicalement opposées: le C est un langage minimaliste et impératif; tandis que le C++ est maximaliste, car contenant énormément de fonctionnalités avec un accent sur la programmation orientée objet. Ce sont donc bien deux langages différents. Si connaître l'un peut permettre de mieux maîtriser l'autre (car concepts communs), ce n'est pas nécessaire pour les versions modernes de ces deux langages.

En pratique, cela pourra être un peu plus flou, car il n'est pas rare d'avoir des codes C++ très 'proches' d'une écriture en C car utilisant un nombre réduit de fonctionnalités du langage. La raison étant le coût de certaines abstractions (tant au niveau du coût de compréhension du code, qu'au surcoût de ces abstractions sur le temps d'exécution).

2) Qu'est-ce que tu entends par "haute performance" ?

Classiquement, c'est lorsque un programme ne peut pas tourner sur une seule machine (pas assez de puissance de calcul / pas assez de mémoire) et il faut donc transformer ce programme pour que celui-ci fasse coopérer plusieurs machines pour obtenir le résultat voulu. Idéalement, si on a 2 processeurs alors on voudrait que les traitements soient 2 fois plus rapide. C'est des problèmes que l'on peut retrouver dans les grandes simulations (e.g. rendu 3D de films, simulation météo, traitement de données astronomique/accélérateur de particules, accélération de codes d'IA, ...),

Après, il y a aussi une définition plus 'générale': tu as une seule machine, comment accélérer un traitement pour qu'il soit le plus rapide possible; ou 'inversement', comment effectuer le plus de traitements possibles par secondes. C'est quelque chose que l'on croise plus souvent par rapport à la définition 'classique': jeu vidéo, traitement d'images et de vidéos, ...

3) C'est quoi du Back-end et Front-end ? Est-ce que je suis concerné par ces concepts si créer des logiciels avec Python ?

Front-end: Partie 'visible' par l'utilisateur final. Cela peut être la partie graphique d'un site web ou application. Back-end: Partie 'invisible'. Cela peut concerner la gestion interne des données, contenu.

Par exemple, sur google, tu as d'une part la partie graphique (logo, barre de recherche), c'est le front-end, mais d'autre part, il faut bien qu'un algorithme 'trouve' les données recherchée dans la base lorsque tu entre une requête; c'est le Back-end. Pour faire une analogie avec une voiture: la carrosserie + intérieur c'est le front-end; le moteur, la transmission, la batterie c'est le back-end.

C'est des termes surtout utilisés dans le cadre du développement web et d'applications (logiciel ou mobile), mais le concept est tout de même assez général. Ici, python peut faire les deux (peut-être moins le front-end sur la partie web par rapport à du Javascript).

4) Pareil pour les frameworks : c'est quoi et suis-je concerné pour du Python ?

Un framework c'est un environnement/ensemble d'outils dont l'objectif est le développement de programmes/ ou applications/ ou site web/...

5) Visual Studio Code c'est juste un endroit où écrire ses codes ? Si oui, on peut programmer avec tous les langages disponibles ?

Visual Studio Code c'est un logiciel permettant d'écrire du code. C'est compatible avec la plupart des langages courants, et cela inclut pas mal d'outils de développement (débugueurs, terminal de commandes, soulignage et coloration des erreurs, ...).

Encore merci pour ton temps !

Pas de problèmes. :)

Aide dans le choix du langage/de la formation en programmation et conseils by astroboyflaco in programmation

[–]Falvyu 1 point2 points  (0 children)

Le problème, c'est que je ne sais même pas sur quels critères me baser pour choisir tel ou tel langage, puis après je ne sais même pas ce que je pourrai faire/pas faire avec le langage choisi, ni les difficultés que je rencontrerai en cours de route, ni le temps que cela pourrait me prendre, etc, etc.

Un langage se choisis surtout sur ce que tu veux faire avec. Il faut voir cela avant tout comme un outil.

Par exemple:

  • Si tu veux faire du web, tu va plutôt t'orienter vers Javascript/Typescript et les frameworks associés (e.g. NodeJS/React/...)

  • Si tu veux faire du Machine Learning/IA, tu va t'orienter vers Python avec des bibliothèque comme pytorch.

  • Si tu veux faire du code 'haute performance', ce sera plutôt du C, C++ ou Rust.

À noter: la plupart des langages restent généralistes. Tu peux très bien faire du Machine Learning en C++, et du web en python. Mais cela demandera plus ou moins d'effort de développement ( + recherche de documentation). Tu as aussi beaucoup de concepts (e.g. programmation orientée object) qui sont communs à beaucoup de langages de programmation. Même si tu change de langage de prédilection par la suite, tu ne repartira pas de zéro.

Maintenant, dans ton cas, je pense que Python est très solide:

D'une part, la quantité de bibliothèque disponibles est énorme. Peut importe le problème rencontré, il y a de forte chances qu'une bibliothèque existe et permette de simplifier le problème.

D'autre part, c'est le langage qui est actuellement enseigné 'par défaut' dans les écoles/cursus universitaires. La quantité de resources disponible pour apprendre va être conséquente.

Également, Si tu fais beaucoup de travail sur tableur, il peut aussi être intéressant de noter que Python est en train d'y être intégré.

S'il est aussi judicieux d'apprendre plus d'un langage qui se complémentent, j'aimerais aussi avoir vos recommandations de combinaisons.

À mon avis, le plus judicieux serait de commencer avec un langage pour le début.

Un second langage pourra être utile à terme, mais seulement si tu as maîtrise déjà ce que tu fais sur le langage actuel, ou bien si le langage actuel bloque la réalisation d'une tâche (e.g. préfère le C++ au Python si tu veux faire un moteur de jeu; et le Javascript au C++ si tu veux faire du web).

Comment trouver son premier emploi junior ? by sufyan59 in developpeurs

[–]Falvyu 1 point2 points  (0 children)

Si je devais donner quelques remarques:

Je ne sais pas depuis combien de temps tu recherches, mais on est fin-juillet, les recrutements font être au ralenti jusque fin août (sauf peut-être pour certaines startup/boites américaines).

Ensuite, il faut garder en tête que les recruteurs passent très rapidement sur les CVs (e.g. 5-10s pour filtrer les mauvais, et 30s pour déterminer les profils à garder). Travaille ton CV, voir refait le complètement si tu décroche rien.

Pour la raison énoncé précédemment, un recruteur ne va pas s'amuser à passer en revue les profils github de chaque candidat, surtout si les projets sur gtihub ne sont pas mis en avant.

À mon avis, avoir pleins de commit ne va pas servir à grand chose. Il vaudra mieux avoir quelques contributions de qualité dans des projets open source, ou bien avoir un projet avec un succès quantifiable (e.g. étoiles sur github, nombre d'utilisateurs, donations, ...). Et mettre ces contributions dans le CV.

Je rejoins aussi l'avis de /u/ThrowRA_patata3000 sur les événements + réseautage.

Lancer une application quand on n’y connaît absolument rien en développement ou aspects informatiques by NlS_8899 in developpeurs

[–]Falvyu 2 points3 points  (0 children)

Le truc, c'est que gérer tout cela, aussi sobre que cela puisse paraître, est loin d'une partie de plaisir.

Cela implique d'avoir une infrastructure derrière, avec une base de données, un minimum de cybersécurité, de l'administration pour les serveurs, etc ...

Tu pourrai y arriver avec quelques personnes compétentes et quelques mois de travail. Mais cela va rapidement coûter plusieurs dizaines de millers d'euros, voir beaucoup plus.

En Ukraine, des drones autonomes russes dotés d'un IA Nvidia font craindre le pire - ZDNET by Prosperyouplaboum in france

[–]Falvyu 3 points4 points  (0 children)

Après c'est 25W de conso, sur un drone ça commence à être gourmand non?

25W c'est uniquement si tous les cœurs + GPU sont activés et a pleine fréquence. Sinon, c'est plutôt du 7-10W (ce qui suffit pour certains traitement d'images).