Crunchez vos adresses URL
|
Calculez la conso électrique de votre PC
|
Hébergez vos photos
Page 281 sur 296 PremièrePremière ... 181231271273274275276277278279280281282283284285286287288289291 ... DernièreDernière
Affichage des résultats 8 401 à 8 430 sur 8878
  1. #8401
    Je suis allé sur la section scholar de reddit, où ils expliquent comment tranquillou.
    Je me sens sale, mais mes revenus de chômeur ont décidé pour moi. Et en l'occurence, la publi était malheureusement un peu hors-sujet.


    Sinon, dans cette présentation, ils recontextualisent un peu les choses sur FPGA/GPU.
    http://cees.stanford.edu/docs/CEESWorkshop8-HFu.pdf

    Visiblement, y'a des tampons à 1.5 T/s sur FPGA, mais ça dépasse pas les quelques mégas.
    Pour les tampons de quelques gigas, visiblement le GPU roxxe du poney.

  2. #8402
    Citation Envoyé par vectra Voir le message
    J'avais compris, sur leur projet, que ce qui comptait pour eux était de faire rentrer le dispositif dans des objets plus petits qu'un rapsberry. Ensuite, il font du traitement du signal 1D avec des petits tampons si j'ai bien suivi.

    Moi, dans l'absolu, ça m'intéresse de savoir (*) si ma job sur GPU avec de gros volumes de mémoire *single-float* serait portable sur FPGA, et dans ce cas, dans quelle mesure on peut espérer accélérer le traitement. Alors je ne sais pas si on peut implémenter directement de la mémoire avec des portes logiques en FPGA, et si ça peut monter à 4Go, mais il semblerait que pas. Mon appli reste très fortement limitée par la bande-passante mémoire, donc s'il faut implanter de la mémoire externe sur un circuit, ça ne servirait à rien a priori.

    Ma seconde application du FPGA, ça serait des FFT 2D *single-float* et quelques traitements sur des images 1024*1024 se terminant par le découpage d'une zone utile bien plus petite. Pour l'instant c'est fait sur GPU, mais si on pouvait déporter ça sur un FPGA, voire FPGA intégré à une caméra d'acquisition (y'en a), on gagnerait un bon facteur de vitesse en amont des calculs, et ce juste parce qu'on pourrait fortement réduire le besoin en bande passante entre caméra et CPU->GPU.


    Je sais que mes questions peuvent paraître idiotes, mais j'ai plutôt une formation informatique de base et le FPGA sort clairement de mes compétences.


    (* surtout pour argumenter, dans ma thèse)
    Tu peut accéder à de la mémoire externe sur FPGA. Il y a des combo FPGA+bus mémoire+micro-controlleur tout intégré qui existent. Après c'est pas obvious le gain du truc, tout dépendra, effectivement de la bande passante. Si c'est du massivement parallèle
    déjà implémenté sur CG, je vois mal ce que tu pourrais y gagner...

    Ta deuxième proposition est par contre plus valide, même si la partie FFT2D peut probablement être faites de façon plus sympa par un circuit dédié acheté. ça t’évitera les emmerdes, c'est pas chers et tu bosse sur une résolution générique. Nous on fais du tracking d’objet volant en live à très haut framerate par FPGA avec justement, un système caméra d'acquisition + carte intégré de pré-traitement puis FPGA, ça marche nickel.

    Du coups si tu ne veut faire qu'une FFT2D je ne sais pas trop pourquoi tu n’achète pas un circuits numérique tout fait (et bien moins couteux, en temps comme en argent).
    You have been scanned, assessed, understooooood !

  3. #8403
    Citation Envoyé par Nilsou Voir le message
    Du coups si tu ne veut faire qu'une FFT2D je ne sais pas trop pourquoi tu n’achète pas un circuits numérique tout fait (et bien moins couteux, en temps comme en argent).
    Tu as des refs sur ces trucs ? C'est basé sur quelle techno, DSP ou FPGA ?

    Vectra : Pourquoi tes FFT doivent être faites en flottant ? Ta caméra filme pas en flottant simple précision ?...

  4. #8404
    >Moglu+Nilsou:

    Je fais de la tomographie, donc je prends plusieurs centaines de vues caméra pour reconstituer un objet 3D.
    J'ai d'un côté des images caméra 8 bits en 1024x1024, que l'on envoie à l'ordi, que l'on traite avant de les soumettre à une FFT 2-D flottante. Puis, dans la sortie flottante, on extrait une zone d'intérêt 256x256 que l'on filtre en flottants et qu'on additionne dans un volume 3-D.
    De l'autre, un volume 3-D flottants dans lequel on va additionner des infos pour chaque image caméra reçue, faire des filtrages, puis lancer une FFT-3D dessus.

    La partie 3-D est nécessairement faite toute en flottants, ça correspond vaguement à des indices optiques. C'est complètement parallélisé, et la vitesse à laquelle on effectue les traitements nous donne la vitesse de reconstruction, en gros (3Hz).

    Pour l'acquisition, on a la taille d'image qui conditionne la vitesse d'acquisition: 1024^2 => 80 fps, 256^2 => 1200fps. C'est dû au bottleneck de la connexion caméra, sans même avoir à parler après du PCI express entre CPU et GPU. Donc, si on achetait une caméra FPGA (car la caméra actuelle ne peut qu'envoyer des fichiers image vers un port ethernet et rien de plus), on pourrait faire les traitements 2D jusqu'au découpage au niveau du FPGA. Par conséquent, on aurait moins d'infos à envoyer vers le protocole de transfert, et donc on va acquérir beaucoup plus vite puisque on a des capteurs caméra très sensibles et très rapides qui ne feront pas bottleneck.

    On aura la reconstruction à la même vitesse (correcte), mais l'acquisition serait ultra-boostée, et ne durerait qu'une seconde pour une reconstruction 3-D ultra-détaillée.

    Pour la partie 2-D, je viens de voir que sans certains filtrages optionnels, on pourrait avoir des données d'entrée qui seraient des entiers et non des flottants. Par contre, si je fais la FFT2D en entiers, j'imagine que je risque de perdre de la précision sur le résultat en sortie? Ca, je ne peux pas vraiment me le permettre... En tout cas, sur GPU ou même CPU, c'est pas la partie bloquante au niveau temps.


    Vu le nombre de filtrages que l'on peut rajouter en 2-D et en 3-D, et vue leur importance sur la qualité d'image au final, je suis assez content de ne pas travailler en FPGA. Par contre, à titre de prospective, je me dois de prédire ce qu'on pourrait gagner à utiliser le FPGA. Le jour ou les mémoires à 1.5 To/s feront 4 Go et que la gestion des flottants se généralisera, je pense qu'on serait obligés de s'adapter (ou plutôt mon successeur).
    Dernière modification par vectra ; 07/02/2016 à 19h13.

  5. #8405
    Citation Envoyé par vectra Voir le message
    Pour la partie 2-D, je viens de voir que sans certains filtrages optionnels, on pourrait avoir des données d'entrée qui seraient des entiers et non des flottants. Par contre, si je fais la FFT2D en entiers, j'imagine que je risque de perdre de la précision sur le résultat en sortie? Ca, je ne peux pas vraiment me le permettre...
    Rhaa, non ! Le flottant n'est pas magiquement plus précis que la virgule fixe. Au contraire, à taille mémoire équivalente, un flottant simple précision ne te donne que 24 bits de précision, alors que dans un entier 32 bits tu en as 31 ou 32 bits.

    La différence entre virgule flottante et virgule fixe, c'est la dynamique. Si tu as des nombres vraiment petits (<10^-10) et des vraiment grands (>10^10) en même temps, et que tu dois représenter les deux précisément, tu as besoin de virgule flottante. Mais si tu fais des trucs qui ressemblent de près ou de loin à des sommes, des produits scalaires, des convolutions et autres filtres, alors tu n'as probablement pas besoin de flottant. Tu as tout à fait raison d'utiliser du flottant sur CPU et GPU parce que ça va vite sur ces archis, mais ça ne veut pas dire que c'est la seule solution. Par contre tu peux dire qu'un portage sur FPGA t'obligerait à réécrire tous tes algos et prendrait 4 thèses de plus.

  6. #8406
    Et dire que je suis en train de me prendre la tête en C# sur un truc assez con.


    Vous êtes vraiment des extra-terrestres
    Le guide Micheline des experts CPC
    Citation Envoyé par Julizn Voir le message
    tout le monde, mon amour rayonne vers et envers tous les mouvements, dans toutes les autres trucs au soja.

  7. #8407
    Citation Envoyé par deathdigger Voir le message
    Et dire que je suis en train de me prendre la tête en C# sur un truc assez con.
    Vas-y, balance

    Mais connaissances sont totu aussi limité en C# qu'en VHDL (LabVIEW Power ) mais la discussion est passionnante

  8. #8408
    Citation Envoyé par deathdigger
    Et dire que je suis en train de me prendre la tête en C# sur un truc assez con.

    Vous êtes vraiment des extra-terrestres

  9. #8409
    Citation Envoyé par Møgluglu Voir le message
    Rhaa, non ! Le flottant n'est pas magiquement plus précis que la virgule fixe. Au contraire, à taille mémoire équivalente, un flottant simple précision ne te donne que 24 bits de précision, alors que dans un entier 32 bits tu en as 31 ou 32 bits.

    La différence entre virgule flottante et virgule fixe, c'est la dynamique. Si tu as des nombres vraiment petits (<10^-10) et des vraiment grands (>10^10) en même temps, et que tu dois représenter les deux précisément, tu as besoin de virgule flottante. Mais si tu fais des trucs qui ressemblent de près ou de loin à des sommes, des produits scalaires, des convolutions et autres filtres, alors tu n'as probablement pas besoin de flottant. Tu as tout à fait raison d'utiliser du flottant sur CPU et GPU parce que ça va vite sur ces archis, mais ça ne veut pas dire que c'est la seule solution. Par contre tu peux dire qu'un portage sur FPGA t'obligerait à réécrire tous tes algos et prendrait 4 thèses de plus.
    Je buggue.
    A la fois sur mes lacunes en représentations et calculs flottants, et à la fois sur ce point auquel j'avais jamais pensé. En aval de la FFT 2D, les calculs nous projettent directement chez messieurs les flottants donc j'avais pas du tout envisagé la chose.

    En gros, un gros merci mais mon esprit sature avec tout ce qui est déjà dans les tampons prêts pour la rédaction

    Sinon, dans un autre registre plus primesautier, ma Telsa M2090 fonctionne toujours bien, malgré son insertion à la barbare dans ma machine de jeu où qu'y a déjà une GTX 660 et une pauvre Seasonic SII-430 pour l'ensemble. J'ai pas l'occasion de la faire trop chauffer mais ça tient, pour seulement +30W de conso en idle.

  10. #8410
    Attention, post de neophyte rajeux a venir

    Je rappelle ma situation:
    Je travaille sur un site vendu "clés en main" (ah ah ah) en ASP, plus particulièrement en VB, et je dois intégrer a ce joyeux bordel une solution de paiement en ligne (Etransaction CA).
    La boite qui vend le site nous a filé une VM avec le site dessus, qui met donc en ligne le dit-site.

    Sur cette VM, n'est pas installé Visual Studio/Basic ou aucun logiciel qui me permettrai de travailler sur ce type de projet (et je n'ai aucune vraie idée de comment ça fonctionne), et nous n'avons de toute façon pas de licence. Oui, on bosse un peu a la romano

    J'ai deux soucis importants:
    1. Je n'arrive pas a utiliser les fonctions d'encryptage pour obtenir du sha512 (faut faire une empreinte Hmac). J'ai cru comprendre que ces fonctions sont natives au systemes, dans le namespace system.security.cryptography.
      J'ai tenté un <%@ namespace="system.security.cryptography"%>, mais cela renvoi un code 500
      Idem, avec un <%@ Assembly Name ="system.security"%> en c/c system.security.dll dans le bin/
    2. Ce qui est sympa quand on bosse sans les outils et sur du web, c'est d'avoir des erreurs generique au possible. L'erreur 500 me renvoi donc juste une page d'erreur de prod, avec rien dessus.
      On a bien tenté de passer les paramètres du fichier web.config en debug=true, customerror en Off, rien a faire, on se tape les pages génériques...


    Heureusement, on a l’assistance de ceux qui vendent le produit !
    Sur la première question, le mec nous a répondu que ce n’étais pas nécessaire d'encoder, qu'on avait du mal comprendre, que le CA avait pas besoin de ca... On lui a démontrer que oui avec doc officielle à l'appui, on attend une réponse...
    et sur la deuxième question, il a répondu qu'il ne savait pas une fois fait les manip de base...

    >Donc si l'un de vous a une piste, une reponse pour l'une des deux questions, je prend

  11. #8411
    Tu peux pas envoyer une série de mails avec des partout?
    Du genre qu'on implémente pas une solution sécurisée sur du vide total, et qu'il faudrait au minimum un système à peu près défini pour qu'il soit mis à jour régulièrement de correctifs et colmatage de failles?

    En cas de piratage derrière, c'est qui qu'est responsable?

  12. #8412
    Citation Envoyé par vectra Voir le message
    Tu peux pas envoyer une série de mails avec des partout?
    Du genre qu'on implémente pas une solution sécurisée sur du vide total, et qu'il faudrait au minimum un système à peu près défini pour qu'il soit mis à jour régulièrement de correctifs et colmatage de failles?

    En cas de piratage derrière, c'est qui qu'est responsable?
    Des scud commence à partir en copie avec mon patron (qui est au courant de tout, et a bien fait sentir aux commerciaux qui lui ont vendu la solution que c’était pas "satisfaisant") et le N+1 du tech qui a tout installé et fait office de SaV.

    Et moi, je suis au milieu, j'attends le moment ou on va me dire que "quand même, c'est ton boulot" et ou je vais pouvoir me défouler sur le manque d'outils et le fait que je n'ai absolument aucune formation sur cette techno, et que clé en main, ca veux pas dire vendre une voiture avec 4 roues, des portières mais sans moteur <3

  13. #8413
    Tu as bien ajouté un clef <customErrors mode="Off" /> dans le fichier web.config comme indiqué sur le lien suivant ? Si oui, vous avez pensé à redémarrer votre site internet et/ou recycler l'application pool ?

    Vous pouvez vraiment pas télécharger une version community de Visual Studio sur vos postes, récupérer le code depuis la VM afin d'en faciliter le debug ? C'est même pas du piratage ou des problème de licence, tu travaille "proprement" depuis ta machine et tu recopie les modifs sur la VM.

  14. #8414
    Citation Envoyé par Gillete Voir le message
    Tu as bien ajouté un clef <customErrors mode="Off" /> dans le fichier web.config comme indiqué sur le lien suivant ? Si oui, vous avez pensé à redémarrer votre site internet et/ou recycler l'application pool ?
    J'ai bien ajouté le <customErrors mode="Off" /> et le debug=true.
    Je crois pas qu'on est relancé le serveur, mais il me semble que dans la doc offi, ils disent que cela n'est pas nécessaire.
    Citation Envoyé par https://msdn.microsoft.com/fr-fr/library/e8z01xdh.aspx
    ASP.NET automatically detects any changes to Web.config files and applies the new configuration settings.You do not have to restart the computer or restart the IIS server for changes to take effect.
    Citation Envoyé par Gillete Voir le message
    Vous pouvez vraiment pas télécharger une version community de Visual Studio sur vos postes, récupérer le code depuis la VM afin d'en faciliter le debug ? C'est même pas du piratage ou des problème de licence, tu travaille "proprement" depuis ta machine et tu recopie les modifs sur la VM.
    On doit pouvoir. Il faudrait donc faire quoi ? Récupérer l’entièreté du projet sur ma machine, travailler dessus et re-envoyer chaque fois qu'on veux voir un résultat ?

  15. #8415
    Citation Envoyé par Naity Voir le message
    Vas-y, balance

    Mais connaissances sont totu aussi limité en C# qu'en VHDL (LabVIEW Power ) mais la discussion est passionnante
    Ben vu qu'à mon taf c'est un peu mort, je suis en train de faire joujou avec des douchettes sous Windows Mobile/Windows CE. On a fait quelques applis très sympas pour des clients là-dessus, mais elles sont ultra-spécifiques (genre gestion d'entrepôt avec la méthode Kanban), donc j'essaie de faire un truc totalement générique. En gros, il faudrait que l'UI descende sur les pistolets à partir de webservices (par exemple), et qu'elles puissent appeler des WS (genre si tel bouton est appuyé, il récupère la valeur de tel champ, etc.). Il faut aussi qu'un utilisateur avancé puisse créer lui-même ses interfaces, et c'est là que je suis en pleine réflexion.
    Sachant que c'est du winform (voire, ça sera peut-être encore autre chose à l'avenir vu que Motorola s'est fait acheté sa partie pistolet par Zebra, eux tournent sur Android, avec un SDK spécifique), je ne peux pas faire mumuse avec des fichiers XAML, donc je sérialise mon UI et je crée dynamiquement mon form. Par contre, j'ai essayé de faire un designer permettant de faire du drag'n'drop de contrôles, et même en WPF, c'est vraiment pas évident
    Cette dernière partie, je pense que je la ferai à la fin, je vais déjà faire en éditant les XML à la main.

    Citation Envoyé par Gillete Voir le message
    Tu as bien ajouté un clef <customErrors mode="Off" /> dans le fichier web.config comme indiqué sur le lien suivant ? Si oui, vous avez pensé à redémarrer votre site internet et/ou recycler l'application pool ?

    Vous pouvez vraiment pas télécharger une version community de Visual Studio sur vos postes, récupérer le code depuis la VM afin d'en faciliter le debug ? C'est même pas du piratage ou des problème de licence, tu travaille "proprement" depuis ta machine et tu recopie les modifs sur la VM.
    Après faut trouver la même version que celle dans lequel le site a été codé. Pour le cryptage, ça ne se fout pas dans ta page aspx mais dans ta page cs ! Après, tu peux te démerder en codant avec un bloc-notes et en compilant en lignes de commande, mais je décline toute responsabilité en cas de maux de tête
    Le guide Micheline des experts CPC
    Citation Envoyé par Julizn Voir le message
    tout le monde, mon amour rayonne vers et envers tous les mouvements, dans toutes les autres trucs au soja.

  16. #8416
    Citation Envoyé par deathdigger Voir le message
    Après faut trouver la même version que celle dans lequel le site a été codé. Pour le cryptage, ça ne se fout pas dans ta page aspx mais dans ta page cs ! Après, tu peux te démerder en codant avec un bloc-notes et en compilant en lignes de commande, mais je décline toute responsabilité en cas de maux de tête
    C'est tout en vb
    le C# eut été préférable mais bon

    Je sais bien que idéalement, mon crypt se met dans le code behind, mais je crois que pour le moment, je vise la simple comprehension des elements de base

  17. #8417
    Quand je lis ce thread, je me sens un peu comme deathdigger, avec mon Java, mon Spring et mon hibernate. Putain, les problèmes les plus chiants que je rencontre, c'est ceux créés par les collègues qui sont pas fichus de comprendre les principes des framework qu'ils utilisent (et qui donc réinventent la roue).

    P.S. : Spring Boot, c'est le bien, mangez-en.
    Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09

  18. #8418
    Citation Envoyé par Teocali Voir le message
    Quand je lis ce thread, je me sens un peu comme deathdigger, avec mon Java, mon Spring et mon hibernate. Putain, les problèmes les plus chiants que je rencontre, c'est ceux créés par les collègues qui sont pas fichus de comprendre les principes des framework qu'ils utilisent (et qui donc réinventent la roue).

    P.S. : Spring Boot, c'est le bien, mangez-en.
    Copain !

    (Et qui savent pas faire une simple requête Google je rajouterai).

    Spring boot j'avais trouvé ça super sympa, mais vous avez réussi à faire des trucs jusqu'en prod avec ?
    Attention, un Max_well peut en cacher un autre
    Equipe Highlander La Rache

  19. #8419
    Citation Envoyé par Max_well Voir le message
    Spring boot j'avais trouvé ça super sympa, mais vous avez réussi à faire des trucs jusqu'en prod avec ?
    J'ai google, ils parlent d'applications de production. Ils parlent de lignes de prod?

  20. #8420
    Citation Envoyé par Max_well Voir le message
    Copain !

    (Et qui savent pas faire une simple requête Google je rajouterai).

    Spring boot j'avais trouvé ça super sympa, mais vous avez réussi à faire des trucs jusqu'en prod avec ?
    Alors c'est en cours pour mon projet mais j'ai un pote qui l'utilise pour son client et ça marche bien.
    Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09

  21. #8421
    Coin les programmeurs,

    Je vais vous faire descendre de vos hauteurs olympiennes avec une question de noob, je me met au C++, enfin j'essaye, et j'ai un problème avec le caractère espace, il ne semble pas pris en compte dans les opérations de comparaison.

    Si je tente d'écrire

    Code:
    #include<iostream>
    
    int main()
    {
    	char touche;
    	std::cin >> touche;
    	if (touche == ' ')
    	{
    		std::cout << "Ca marche" << std::endl;
    	}
    
    	return 0;
    }
    Et bien, non, ça ne marche pas, par contre si j'écris une comparaison avec un autre caractère, mettons,

    Code:
    if (touche == 'x')
    Et bien ça marche à merveille.

    Quelqu’un pour m'expliquer ce qui cloche ? et comment faire ?

    Edit: bon, après un test, le défaut ne vient pas de la comparaison == mais plutôt de la lecture du caractère, std::cin n'a pas l'air de vouloir "lire" mon caractère espace. Ceci dit ça ne résoud pas encore mon problème

    Edit2: bon, après avoir regardé sur internet, c'est juste le comportement normal de cin, normal que ça n'ait pas marché. J'ai rajouté un "manipulator" pour changer le comportement par défaut de cin et ça roule:

    Code:
    std::cin >> std::noskipws >> touche;
    Ceci dit, j'ai une excuse, le livre que je lis n'avait pas encore abordé ce concept...
    Dernière modification par Phibrizo ; 10/02/2016 à 11h02.

  22. #8422
    Citation Envoyé par Naity Voir le message
    J'ai google, ils parlent d'applications de production. Ils parlent de lignes de prod?
    Ça marche même très bien en prod.
    Citation Envoyé par Snakeshit Voir le message
    Mais comme on me l'a appris dans la Marine, plus les choses sont automatisées, moins ça consomme de cases plus vous en avez de libre pour choses utiles, comme penser à des filles dénudées .

  23. #8423
    Zut, c'est quoi déjà ce site web où on peut compiler du code C vers l'assembleur en choisissant sa version de compilo?

  24. #8424

  25. #8425

  26. #8426
    Y a le même pour Rust d'ailleurs : https://rust.godbolt.org/
    Rust fanboy

  27. #8427
    J'ai fait du ninja programming aujourd'hui !

    En essayant de faire fonctionner Rust avec Emscripten, je remarque que tout déconne lorsqu'on essaye d'envoyer un string vers une fonction C externe, comme strlen par exemple. La fonction C reçoit de mauvaise données. Mais ça se produit seulement en mode release.

    Bizarrement je remarque que lorsque je passe directement une chaîne de caractères (par exemple `strlen(b"hello\0")`), tout fonctionne.
    Le bug ne se produit que lorsque j'alloue un objet "CString" sur la pile. Pourtant en examinant les données sur la pile tout semble normal.

    En débuggant l'output final, il se trouve en fait que c'est le pointeur passé vers la fonction C qui est mauvais, et non les données. Et ce mauvais pointeur provient de la fonction Rust "as_ptr". C'est à dire que c'est la fonction Rust qui renvoie un mauvais pointeur au lieu de renvoyer un pointeur vers la données de la CString. Pourtant cette fonction est utilisée absolument partout partout, et il n'y a qu'avec Emscripten qu'elle ne fonctionne pas.

    En examinant cette fois manuellement l'output, je remarque qu'un emplacement sur la stack est attribué au pointeur de la string, mais que rien n'est jamais écrit dessus. Un peu plus loin cet emplacement est lu et la valeur qui s'y trouve (en théorie le pointeur vers la string, mais en pratique des données non initialisées) est passée à strlen.

    Je reproduis le bug à plus petite échelle encore, et en comparant la représentation intermédiaire LLVM au résultat final je remarque qu'il manque l'appel vers la fonction "CString::as_ptr". En fait "as_ptr" est justement censée écrire le pointeur à l'endroit de la stack qui lui est attribué, mais cet appel disparaît comme par magie.

    Une petite modification dans le code source d'emscripten pour passer le flag "-print-after-all" à LLVM permet d'observer les différentes passes LLVM de façon à repérer à quelle étape l'appel vers "as_ptr" disparait. Et paf, il se trouve que c'est le "Dead Code Elimination". Ben merde, cette étape est censée supprimer les appels de fonctions inutiles.

    Il se trouve en fait que la fonction "as_ptr" a une signature "void as_ptr(cstring const*, void**)" et surtout est marquée comme pure. Étant donné qu'on ne fait que passer des paramètres à la fonction, qu'on n'utilise pas son type de retour (qui est void), et qu'elle n'est censée avoir aucun side-effet, le dead code elimination supprime logiquement tout appel à cette fonction. C'est un peu comme si on appelait "multiplier(2, 6)" sans utiliser le résultat. Il est logique de supprimer cet appel.

    Du coup j'observe l'évolution de "as_ptr", et il se trouve qu'il y a une passe LLVM spécifique à Emscripten qui consiste à remplacer les fonctions renvoyant des "tuples" qu'Emscripten n'aime pas trop par des fonctions ne renvoyant rien et prenant un paramètre supplémentaire où elles écrivent le résultat. Un pointeur vers une string dans Rust contient en fait un tuple du pointeur et de la longueur de la string. Avant cette passe la fonction est marquée "pure" puisqu'elle ne modifie pas ses paramètres, mais les codeurs n'ont pas pensé à ça et l'attribut "pure" n'est pas supprimé malgré le fait que désormais la fonction écrit dans l'emplacement pointé dans son paramètre. Ce bug est difficile à remarquer, car en C/C++ la seule chose qui utilise des tuples ce sont les pointeurs vers les fonctions membres.

    Il se trouve au final que ce bug a déjà été corrigé chez NaCl dont emscripten a repris beaucoup de code, et qu'il faut juste qu'emscripten se mette à jour.

    Et voilà. Plus d'une demi-journée (hier soir et ce matin) gâchée à débugger ce problème. Mais je suis fier d'avoir réussi.
    Rust fanboy

  28. #8428
    C'est enfin out : http://khronos.org/vulkan/
    Rust fanboy

  29. #8429
    Citation Envoyé par Tomaka17 Voir le message
    C'est enfin out : http://khronos.org/vulkan/
    Par contre le site lui s'est fait DDOS
    Citation Envoyé par Snakeshit Voir le message
    Mais comme on me l'a appris dans la Marine, plus les choses sont automatisées, moins ça consomme de cases plus vous en avez de libre pour choses utiles, comme penser à des filles dénudées .

  30. #8430
    Coucou


    Je me demandais s'il y avait des dossiers "pour les nuls" sur les GPUs, l'organisation de la mémoire/processeurs, le pipeline graphique, les traitements typiques des shaders, tout ça?
    J'ai pas vu d'équivalent dans ma collèque CPC HW, alors même que côté CPU, c'était bien fourni.

Page 281 sur 296 PremièrePremière ... 181231271273274275276277278279280281282283284285286287288289291 ... DernièreDernière

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •