Effectuer une premiere estimation en precision simple, puis affiner en precision double.
Pour la mise au point du calcul, j'imagine pas à l'utilisation ? Sinon, je ne vois pas l'interet de faire 2x ce calcul.
Comme les processeurs ne supportent generalement pas ces dernieres (et encore parfois meme pas la division), le resultat s'obtient par une serie de calcul
C'est encore la supériorité de la fpu x87 par rapport à SSE. Le x87 contient toute la trigo en hardware, contrairement à SSE. D'ailleurs, AMD était connu pour avoir une implémentation x87 musclé par rapport au processeur Intel qui favorisait plutot le SSE. Cela se voyait dans certain tests "scientifiques".
Une etude de l'erreur est effectuee. Mais auparavant, on effectue une etude de stabilite: quel est la variation du resultat si l'on ajoute sur l'une des donnees en entree une petite valeur (epsilon).
Cela revient à une étude d'interval, non ?
Reussir a prouver l'implementation de son calcul, c'est deja pas mal. On repasse generalement plus tard pour reduire la precision.
- Je trouve l'algo
- Je prouve qu'il est stable numériquement
- Je regarde les cas bizarre par expérimentation
- si cela roule en double, j'essais de passer à la vecorisation ou au float 32 bits ?
Je peux résumé par :
"On veut de la répétabilité, et parfois on veut une idée précise de la précision." ?
Par contre, concernant les arrondis, l'utilisation de fonction explicite ou des mode de fpu influe sur quoi ? Uniquement la vitesse ? Ou il existe encore des subtilités ?
Comment utilises-t-on les modes "fast" ? En général, ces modes sont taxés de mal calculer. Je crois que l'itanium en a un. Les cartes graphiques utilisent aussi ces modes.
Si j'ai bien compris, il ne détecte pas les NaN dans le pipelines flottant pour éviter de gérer des interruptions en plein milieu. Mais si j'ai bien compris d'autres interventions, cela n'est génant que pour la detection d'errreur et non pour le fonctionnement nominal. J'ai bon ?
vu les nombres que tu manipules dans ton exemple, est-ce que tu ne cherches pas plutôt à faire du "fixed point", ce qui revient à faire des calculs entiers.
Si tu prends tout tes nombres et que tu les multiplies par 16, tu as 4 bits après la virgules.
Un autre truc qui ralentit monstrueusement le code c'est les nombres denormalisés, tous ceux qui font du traitement du signal avec des filtres récursifs en font l'experience un jour ou l'autre.
Quand est-ce qu'arrive ses nombres ? Je croyais que les fpu IEEE754 normalisait le nombre tout seul comme des grands.
Je ne comprends pas trop. Les gros systèmes type IBM utilise des formats infini entier justement pour ne jamais avoir de problème. Le support est même hardware.
Je ne connais pas bien le domaine mais comme il existe des calculs en "entier infini", il existe aussi des calculs en flottant infini.
Je ne vois pas en quoi l'ordre change la vitesse.
Par ce que a+b+c+d sera plus lent que (a+b)+(c+d) car tu enlèves une dépendance read-after-write.
Au passage, les derniers gcc vectorisent tout seul !
Enfin, si on l'aide beaucoup beaucoup beaucoup...
Sachez que GCC ne modifient pas les calculs sur les flottants car justement l'ordre des opérandes joue énormément sur la précision du résultat. Il ne pas simplifier x*2.0/2.0 par exemple.
C'est le cas par défaut. Mais cela n'est plus vrai avec l'option --fast-math.
D'ailleurs comment choisi-t-on d'utiliser un type d'arrondi plutôt qu'un autre ?
Selon le résultat attendu ?
C'est choix par équation ou par opération ?
Les gérer ? Comment ça ? Il suffit de vérifier à la fin qu'on n'a pas de NaN, -INF ou INF je pense. Si on sait ce qu'on fait, on ne trimballe pas de NaN.
Par exemple, "<" définit tous les comportements à avoir avec NaN < NaN, NaN < nombre, etc... Ce qui est tellement lent qu'il existe des intrasecs pour faire un test qui se fout des NAN. Je me demandais donc quelle était l'utilité. En gros, le but est de faire de la détection d'errreurs ?
J'avais eu un soucis d'épaisseur de disque, c'était pour un ultra portable. Le nouveau disque était un poil plus gros et cela déformait un peu la coque plastique.
euh... c'est quoi "vaincre la fracture numérique" ?
Le terme de "fracture social" vient de la campagne de Chirac de 2002. La fracture numérique a dû arriver avec la différence entre le nombre (élevé) de personne connecté par ADSL, et le nombre (faible) de personne connecté à internet tout court.
Les taux sont en comparaison avec le reste de l'occident.
Si tu veux connecter plus de personne, il faut favoriser des trucs genre la boite de neuf avec des prix de connection internet à baisser.
En gros, cela revient à créer un dérivé de distribution simplifié (style olpc ou autre) qui s'installerait en glissant juste le CD sur un nouveau PC couplé avec une connection internet genre 1 mbits, la moins chère possible.
Ensuite, à d'autre intervenant de trouver les PC qui vont bien (pour faire tourner mozilla et ces plug in).
C'est un peu bizarre : tu fixes un objectifs puis tu en demandes d'autre.
Tu veux quoi ? Les former au TIC ? Leur donner accès au net ?
LTSP semble parfait pour une salle de machine, pas vraiment pour une "machine prété".
Je me rappelle avoir lu une expérience d'une machine mis à disposition sur un mur dans un pays du tier monde. Les gamins avaient mis quelques jours avant de comprendre comment naviguer sur internet sans aucune formation. Mais bon, je crois que si quelqu'un veut un accès à internet, il dois pouvoir en trouver un, non ?
Si tu veux faire de la formation, une grosse salle + une bibliothèque doit pouvoir faire l'affaire, + une salle pour faire des conférences/formation.
Si tu regardes, il y a la version avec des cast de partout. C'est tout aussi moche :/
Si tu veux faire de la vérification de type tu peux rajouter un champ "id" dans la classe et le vérifier dans chaque methode avec un assert(). Tu peux enlever ce champ en mode "release".
Pour mon le p2p est un faux problème. "Avant" c'"était les copies de CD que l'on s'échangeait, avant les copies de cassettes. Et c'était loin d'être marginal comme semble le croire Olivennes.
Certe, il y a des abus. Mais c'est typiquement fait par des personnes qui ne paieraient pas. C'est moralement condamnable mais il n'y a pas de perte réel.
Ils ont plus de chance d'augmenter leur revenue en s'ouvrant un maximum (pas de DRM, disponniblité des paroles de chanson, plusieurs format dispo, prix en baisse) qu'en écrasant leur client potentiel.
Les majors vont encore augmenter leur image de big brother, au lieu de rester dans le divertissement. Et en plus, cela ne leur rapportera rien, car il n'a pas été prouver qu'il y avait un relation direct entre piratage et perte de vente.
Il s'en rendront compte dans un 1 an ou 2, quand les ventes auront encore baissé de 20%.
Cela me rappelle l'étude qui disait que ce qui tuait les revenues, c'était la vente de single qui limitait la vente d'album... (les clients sont des cons, ils ne veulent pas payer 9 merdes pour une bonne chanson...)
[^] # Re: plop again
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 1.
euh, non il me semble pas.
Le SSE2 à ajouter les doubles. SSE3 a définit des opérations binaire sur le vecteurs 128 bits. Je ne pense pas qu'il y est des opérations entières.
Le SSE2 introduit aussi des opérations flottantes scalaires.
"La première sécurité est la liberté"
[^] # Re: Calcul par intervalle
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.
Le but est évidement de rafiner tout ça pour trouver un modèle propre pour Lisaac.
"La première sécurité est la liberté"
[^] # Re: plop again
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.
Pour la mise au point du calcul, j'imagine pas à l'utilisation ? Sinon, je ne vois pas l'interet de faire 2x ce calcul.
Comme les processeurs ne supportent generalement pas ces dernieres (et encore parfois meme pas la division), le resultat s'obtient par une serie de calcul
C'est encore la supériorité de la fpu x87 par rapport à SSE. Le x87 contient toute la trigo en hardware, contrairement à SSE. D'ailleurs, AMD était connu pour avoir une implémentation x87 musclé par rapport au processeur Intel qui favorisait plutot le SSE. Cela se voyait dans certain tests "scientifiques".
Une etude de l'erreur est effectuee. Mais auparavant, on effectue une etude de stabilite: quel est la variation du resultat si l'on ajoute sur l'une des donnees en entree une petite valeur (epsilon).
Cela revient à une étude d'interval, non ?
Reussir a prouver l'implementation de son calcul, c'est deja pas mal. On repasse generalement plus tard pour reduire la precision.
- Je trouve l'algo
- Je prouve qu'il est stable numériquement
- Je regarde les cas bizarre par expérimentation
- si cela roule en double, j'essais de passer à la vecorisation ou au float 32 bits ?
J'ai bon ?
"La première sécurité est la liberté"
[^] # Re: Quelques infos
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 4.
J'avais fais un paquet de tests, il y a quelques années et gcc ne faisait rien du tout dans ce domaine.
Tout ceci sans parler des processeurs qui exécutent les instructions dans le désordre, bien entendu.
Sauf avec les dépendances RAW où tu ne peux rien faire du tout !
"La première sécurité est la liberté"
[^] # Re: Calcul par intervalle
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.
J'imagine que cela peut arriver vite dans un 1/(a-b), avec a et b proche.
"La première sécurité est la liberté"
[^] # Re: Ecrire du code avec des flottants
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.
Je peux résumé par :
"On veut de la répétabilité, et parfois on veut une idée précise de la précision." ?
Par contre, concernant les arrondis, l'utilisation de fonction explicite ou des mode de fpu influe sur quoi ? Uniquement la vitesse ? Ou il existe encore des subtilités ?
Comment utilises-t-on les modes "fast" ? En général, ces modes sont taxés de mal calculer. Je crois que l'itanium en a un. Les cartes graphiques utilisent aussi ces modes.
Si j'ai bien compris, il ne détecte pas les NaN dans le pipelines flottant pour éviter de gérer des interruptions en plein milieu. Mais si j'ai bien compris d'autres interventions, cela n'est génant que pour la detection d'errreur et non pour le fonctionnement nominal. J'ai bon ?
"La première sécurité est la liberté"
[^] # Re: plop again
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 4.
Si tu prends tout tes nombres et que tu les multiplies par 16, tu as 4 bits après la virgules.
"La première sécurité est la liberté"
[^] # Re: plop again
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.
Quand est-ce qu'arrive ses nombres ? Je croyais que les fpu IEEE754 normalisait le nombre tout seul comme des grands.
"La première sécurité est la liberté"
[^] # Re: Et les bibliothèques ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.
Imagines n'importe quel filtre numérique.
"La première sécurité est la liberté"
[^] # Re: plop again
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 10.
"La première sécurité est la liberté"
[^] # Re: Quelques infos
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 4.
Je ne connais pas bien le domaine mais comme il existe des calculs en "entier infini", il existe aussi des calculs en flottant infini.
Je ne vois pas en quoi l'ordre change la vitesse.
Par ce que a+b+c+d sera plus lent que (a+b)+(c+d) car tu enlèves une dépendance read-after-write.
Au passage, les derniers gcc vectorisent tout seul !
Enfin, si on l'aide beaucoup beaucoup beaucoup...
Sachez que GCC ne modifient pas les calculs sur les flottants car justement l'ordre des opérandes joue énormément sur la précision du résultat. Il ne pas simplifier x*2.0/2.0 par exemple.
C'est le cas par défaut. Mais cela n'est plus vrai avec l'option --fast-math.
D'ailleurs comment choisi-t-on d'utiliser un type d'arrondi plutôt qu'un autre ?
Selon le résultat attendu ?
C'est choix par équation ou par opération ?
Les gérer ? Comment ça ? Il suffit de vérifier à la fin qu'on n'a pas de NaN, -INF ou INF je pense. Si on sait ce qu'on fait, on ne trimballe pas de NaN.
Par exemple, "<" définit tous les comportements à avoir avec NaN < NaN, NaN < nombre, etc... Ce qui est tellement lent qu'il existe des intrasecs pour faire un test qui se fout des NAN. Je me demandais donc quelle était l'utilité. En gros, le but est de faire de la détection d'errreurs ?
"La première sécurité est la liberté"
[^] # Re: Oui mais bon
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Un cluster Kerrighed de 252 coeurs basé sur un noyau Linux 2.6.20. Évalué à 5.
Est-ce que les disques dures sont aussi partagé l'est la RAM ?
Bref par rapport au autres technos, ou cela se situe-t-il ?
"La première sécurité est la liberté"
[^] # Re: facile
Posté par Nicolas Boulay (site web personnel) . En réponse au message Remplacement DD portable. Évalué à 3.
"La première sécurité est la liberté"
[^] # Re: Les ordinosaures, c'est vieux; LTSP c'est mieux.
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Vos solutions contre la fracture numérique. Évalué à 2.
Il y a peut-être moins de client finaux potentiel qu'ailleurs mais la mairie peut peut-être compenser le cout des travaux.
"La première sécurité est la liberté"
[^] # Re: Les ordinosaures, c'est vieux; LTSP c'est mieux.
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Vos solutions contre la fracture numérique. Évalué à 2.
Oula. Si tu as plus d'une dizaine de connection, sur un seul AP situé au sous sol de l'immeuble, je ne vois pas comment les ondes vont passer.
Les 2 solutions en parrallèle peuvent être fait. Le cable ethernet, c'est quand même plus fiable.
"La première sécurité est la liberté"
[^] # Re: Les ordinosaures, c'est vieux; LTSP c'est mieux.
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Vos solutions contre la fracture numérique. Évalué à 2.
D'ailleurs, est-ce qu'il serait légal d'avoir une connection internet haut débit à partager entre un immeuble ? (l'association étant responsable)
Il faut "juste" cablé l'immeuble en ethernet et avoir un peu de QoS.
"La première sécurité est la liberté"
[^] # Re: 551
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Linux magazine n° 100. Évalué à 3.
http://chl.be/glmf/cd_glmf_100/59/GLMF_059_014_021.pdf
Et celui aussi sur le DADvsi (2004 aussi):
http://chl.be/glmf/cd_glmf_100/58/GLMF_058_017_027.pdf
"La première sécurité est la liberté"
[^] # Re: 551
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Linux magazine n° 100. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Les ordinosaures, c'est vieux; LTSP c'est mieux.
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Vos solutions contre la fracture numérique. Évalué à 4.
Le terme de "fracture social" vient de la campagne de Chirac de 2002. La fracture numérique a dû arriver avec la différence entre le nombre (élevé) de personne connecté par ADSL, et le nombre (faible) de personne connecté à internet tout court.
Les taux sont en comparaison avec le reste de l'occident.
Si tu veux connecter plus de personne, il faut favoriser des trucs genre la boite de neuf avec des prix de connection internet à baisser.
En gros, cela revient à créer un dérivé de distribution simplifié (style olpc ou autre) qui s'installerait en glissant juste le CD sur un nouveau PC couplé avec une connection internet genre 1 mbits, la moins chère possible.
Ensuite, à d'autre intervenant de trouver les PC qui vont bien (pour faire tourner mozilla et ces plug in).
"La première sécurité est la liberté"
[^] # Re: Les ordinosaures, c'est vieux; LTSP c'est mieux.
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Vos solutions contre la fracture numérique. Évalué à 3.
C'est un peu bizarre : tu fixes un objectifs puis tu en demandes d'autre.
Tu veux quoi ? Les former au TIC ? Leur donner accès au net ?
LTSP semble parfait pour une salle de machine, pas vraiment pour une "machine prété".
Je me rappelle avoir lu une expérience d'une machine mis à disposition sur un mur dans un pays du tier monde. Les gamins avaient mis quelques jours avant de comprendre comment naviguer sur internet sans aucune formation. Mais bon, je crois que si quelqu'un veut un accès à internet, il dois pouvoir en trouver un, non ?
Si tu veux faire de la formation, une grosse salle + une bibliothèque doit pouvoir faire l'affaire, + une salle pour faire des conférences/formation.
"La première sécurité est la liberté"
[^] # Re: .
Posté par Nicolas Boulay (site web personnel) . En réponse au message Recherche documentation sur le codage objet mais en C pure. Évalué à 2.
Si tu veux faire de la vérification de type tu peux rajouter un champ "id" dans la classe et le vérifier dans chaque methode avec un assert(). Tu peux enlever ce champ en mode "release".
"La première sécurité est la liberté"
[^] # Re: Olivennes
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Conférence: L'auteur du rapport sur la lutte contre le piratage sur internet à Science Po. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Olivennes
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Conférence: L'auteur du rapport sur la lutte contre le piratage sur internet à Science Po. Évalué à 2.
Certe, il y a des abus. Mais c'est typiquement fait par des personnes qui ne paieraient pas. C'est moralement condamnable mais il n'y a pas de perte réel.
Ils ont plus de chance d'augmenter leur revenue en s'ouvrant un maximum (pas de DRM, disponniblité des paroles de chanson, plusieurs format dispo, prix en baisse) qu'en écrasant leur client potentiel.
Les majors vont encore augmenter leur image de big brother, au lieu de rester dans le divertissement. Et en plus, cela ne leur rapportera rien, car il n'a pas été prouver qu'il y avait un relation direct entre piratage et perte de vente.
Il s'en rendront compte dans un 1 an ou 2, quand les ventes auront encore baissé de 20%.
Cela me rappelle l'étude qui disait que ce qui tuait les revenues, c'était la vente de single qui limitait la vente d'album... (les clients sont des cons, ils ne veulent pas payer 9 merdes pour une bonne chanson...)
"La première sécurité est la liberté"
[^] # Re: Olivennes
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Conférence: L'auteur du rapport sur la lutte contre le piratage sur internet à Science Po. Évalué à 4.
Et je ne vois pas pourquoi "l'acces à la culture" serait moins noble que l'écologie.
"La première sécurité est la liberté"
[^] # Re: Et encore un(e)...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Vente de geek. Évalué à 9.
"La première sécurité est la liberté"