Pour faire simple et se mettre au niveau (et dans le désordre):
Une puce dispose globalement d'un nombre d'entrée sortie limité, un gros packaging, cela coute chère (BGA vs tqfp). Donc, pour un cout donné, tu es limité en nombre de pin.
Si tu utilises un cross-bar une mémoire même plusieurs banque et 1 CPU + 1 GPU, il te faut : 3 chips, le cross-bar -> 1 entrée GPU, 1 entrée CPU (2*64 bits mini (lien hypertransport 32 bits)), + nentrée par banques si on prend l'archi des GPU, 4 banques de 64 bits soit 4*64+4*25+4*4 (data/adresse/contrôle) =128+372 = 500 pin.
Sachant que vu la conso, il y a 1/3 de pin d'alim, on un cross-bar de 700 pin. Cela fait donc une puce énorme. Soit bien plus que les north bridge actuel.
(Pour rappelle le north bridge PC fait le lien entre le CPU avec le bus FSB, la mémoire avec un bus DDSDRAM, le GPU avec l'AGP et le south bridge avec le pci ou l'hypertransport ou un truc proprio, c'est donc en fait un gros switch...)
Quand l'athlon 64/opteron est arrivé, il utilise un controleur mémoire dans le cpu à la place du northbridge ainsi la latence mémoire passe de 150/180 à 100/120 cycle. C'est la principale raison des performances de ses puces en comparaison des puces précédentes.
L'opteron est connecter par hypertransport à une autre puce qui est elle-même connecté à l'agp connecté au GPU connecté à sa mémoire.
Le GPU utilise 372 pins pour la mémoire (256 bits, 4 banques) et 100 pour l'agp. (472 pin)
Un opteron utilise 180 pins pour la mémoire (128 bits) et 1 ou 3 hypertransports à 2*16 bits. (276 pins)
Le "south bridge" entre les 2 ne fait que de la recopie et n'est même pas un switch.
Pour une version cross bar, il faut le cross-bar au milieu. En plus, avec plus de 700 pins. Plus ? Ben oui, il faut avoir la même bande passante il faut donc rajouter 180 pins... et les pins d'alim associé... et on arrive tranquillement à 1000 pins. Et pour faire quoi ?
Certe on évite les dialogues par bus agp. Mais très peu de donnés sont en faite partagé entre le cpu et le GPU. Et le cross bar rajoute de la latence.
En fait ton archi existe déjà : la plus part des chip graphique intégré, utilise la mémoire central. Les premier n-force utilisait ainsi un bus de 128 bits pour ne pas trop pénalisé le cpu qui se voyait bouffer sa bande passante mémoire. Bref, je ne crois pas que cela soit les solutions les plus rapide...
Il vaut mieux mettre 2 puces ayant chacune leur mémoire, que 2 puces passant par une troisième surtout quand il y a une si grande localité d'acces.
Et puis franchement, tu as vu les perf des stations de travail à comparrer avec un x86 haut de gamme ? A part en calcul flottant, les stations hyper chère se font complètement distancer.
Pourquoi faire le trie parmis le libre ? Est-ce que l'on ne passe pas son temps à expliquer que libre != gratuit ?
Ce site est un site communautaire autour de linux et du logiciel libre. Il passe (peu) de news sur le sujet d'interret commun(une ou 2 news par jour c'est peu).
Je me suis mal expliqué je pensais à la protection d'execution introduit par le SP2, qui fait planter un bon nombre de programme. Il a bien fallu modifier le noyau pour que les programes ne marchent plus.
PB PG joue aussi beaucoup sur les mots. Dire par exemple que le débordement de pile n'a pas nécessité de modifier le noyau... et jouer sur les mots pour dire que les drivers ont besoin d'être compiler eux pour en bénéficier mais le noyau a bien du être modifier à la base !
Sous windows, on ne peut pas patcher on ne fait que remplacer des binaires...
oui python rame mais ruby encore plus (beaucoup plus).
Le plus performant, c'est perl. Lors de la sortie de perl 6, logiquement la VM sous perl doit être utilisé aussi pour python. Le gars de ruby veut toujours faire son truc dans son coin.
Le pire est que son drivers "closed" est parfaitement illégal.
Linux est 100% GPL. La tolérance pour les modules non GPL provient d'une subtilité dans la définition de la "combined forme of work". En gros, on rajoute un système de fichier (AFS, je crois à poser le pb le premier) ou un driver video (déveloper en 1 er pour windows). C'est ok.
Or, là, il s'agit purement d'un travail en vue d'utilisation pour linux et uniquement linux à 100%. Il ne respecte donc pas la GPL.
Sinon, son attitude dans son mail est déplorable. Comment ose-t-il demander le retrait de son code du kernel ? C'est du code GPL !
Et pourquoi n'a-t-il pas libéré le code depuis 1 an ? C'est bien qu'il a envis de faire chier son monde !
mais pas la dernière parrelia qui n'a pas de drivers 3d sous linux. Seul les 550 et 450 sont concernés, et c'est des brouettes... reste les ATI 7500 pas trop mal supporté mais introuvable.
Sachant que le but d'un FS est d'écrire X donné sur le disque, si pour faire la même tache (transfert à débit fixé) un FS prends plus de CPU == il bouffe beaucoup d'op par rapport à l'autre FS == cela sera plus lent sur une machine chargée.
Ben, c'est vrai que le PCF a changé dans ses idées... mais bon, je ne vois pas des associations du libre s'associé avec une réunion FN bien que ceux-ci soit ouvertement contre les brevets logiciels...
si tu sais qu'elle est le paquet qui manque, tu peux aller le chercher sur internet puis tu l'install avec urpmi le_nom_du_paquet. Il faut bien sur que cela soit un paquet officiel de chez mdk de la bonne version de distrib.
Pour les 127 cycles, c'est logique. Les testes ont été fait sur un PIII@300 Mhz (l'article a qq années...).
Le pipeline est 2 fois plus court (moins de dépendance) et la différence de vitesse entre la mémoire et le bus mémoire n'est que de ~4.5 (2x moins que les derniers pentium4).
Et encore, à part dans les tableaux, le compilo optimise. Le plus souvent gcc pour un simple char ou short préfaire utiliser un int derrière. Il ne faut donc pas compter sur des effets d'overflow ou autre. L'effet est spécial :)
[^] # Re: Bien...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Linux Mag 64 : contenu utile inside. Évalué à 1.
Tu es utilisateur avertis de freebsd et tu fais un article dessus :)
"La première sécurité est la liberté"
[^] # Re: details
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche La spécification de OpenGL 2.0 enfin en version finale. Évalué à 1.
hum comment dire...
Pour faire simple et se mettre au niveau (et dans le désordre):
Une puce dispose globalement d'un nombre d'entrée sortie limité, un gros packaging, cela coute chère (BGA vs tqfp). Donc, pour un cout donné, tu es limité en nombre de pin.
Si tu utilises un cross-bar une mémoire même plusieurs banque et 1 CPU + 1 GPU, il te faut : 3 chips, le cross-bar -> 1 entrée GPU, 1 entrée CPU (2*64 bits mini (lien hypertransport 32 bits)), + nentrée par banques si on prend l'archi des GPU, 4 banques de 64 bits soit 4*64+4*25+4*4 (data/adresse/contrôle) =128+372 = 500 pin.
Sachant que vu la conso, il y a 1/3 de pin d'alim, on un cross-bar de 700 pin. Cela fait donc une puce énorme. Soit bien plus que les north bridge actuel.
(Pour rappelle le north bridge PC fait le lien entre le CPU avec le bus FSB, la mémoire avec un bus DDSDRAM, le GPU avec l'AGP et le south bridge avec le pci ou l'hypertransport ou un truc proprio, c'est donc en fait un gros switch...)
Quand l'athlon 64/opteron est arrivé, il utilise un controleur mémoire dans le cpu à la place du northbridge ainsi la latence mémoire passe de 150/180 à 100/120 cycle. C'est la principale raison des performances de ses puces en comparaison des puces précédentes.
L'opteron est connecter par hypertransport à une autre puce qui est elle-même connecté à l'agp connecté au GPU connecté à sa mémoire.
Le GPU utilise 372 pins pour la mémoire (256 bits, 4 banques) et 100 pour l'agp. (472 pin)
Un opteron utilise 180 pins pour la mémoire (128 bits) et 1 ou 3 hypertransports à 2*16 bits. (276 pins)
Le "south bridge" entre les 2 ne fait que de la recopie et n'est même pas un switch.
Pour une version cross bar, il faut le cross-bar au milieu. En plus, avec plus de 700 pins. Plus ? Ben oui, il faut avoir la même bande passante il faut donc rajouter 180 pins... et les pins d'alim associé... et on arrive tranquillement à 1000 pins. Et pour faire quoi ?
Certe on évite les dialogues par bus agp. Mais très peu de donnés sont en faite partagé entre le cpu et le GPU. Et le cross bar rajoute de la latence.
En fait ton archi existe déjà : la plus part des chip graphique intégré, utilise la mémoire central. Les premier n-force utilisait ainsi un bus de 128 bits pour ne pas trop pénalisé le cpu qui se voyait bouffer sa bande passante mémoire. Bref, je ne crois pas que cela soit les solutions les plus rapide...
Il vaut mieux mettre 2 puces ayant chacune leur mémoire, que 2 puces passant par une troisième surtout quand il y a une si grande localité d'acces.
Et puis franchement, tu as vu les perf des stations de travail à comparrer avec un x86 haut de gamme ? A part en calcul flottant, les stations hyper chère se font complètement distancer.
"La première sécurité est la liberté"
[^] # Re: News Mandrakesoft...
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Nouveau produit mobile chez Mandrakesoft. Évalué à 3.
Ce site est un site communautaire autour de linux et du logiciel libre. Il passe (peu) de news sur le sujet d'interret commun(une ou 2 news par jour c'est peu).
"La première sécurité est la liberté"
[^] # Re: euhh ... mainteneurs oupsss ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Fin du support Linux des webcams Philips. Évalué à 1.
"La première sécurité est la liberté"
[^] # Re: pwc vs pwcx
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Fin du support Linux des webcams Philips. Évalué à 1.
"La première sécurité est la liberté"
[^] # Re: ouais
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Wanadoo et les anciens clients ! (2048 oui mais seulement si vous le demandez ....). Évalué à 1.
"La première sécurité est la liberté"
[^] # Re: Le contrôle technique c'est limite de la connerie
Posté par Nicolas Boulay (site web personnel) . En réponse au journal [HS] Le contrôle technique c'est surréaliste.. Évalué à 3.
"La première sécurité est la liberté"
[^] # Re: euhh ... mainteneurs oupsss ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Fin du support Linux des webcams Philips. Évalué à -1.
Sous windows, on ne peut pas patcher on ne fait que remplacer des binaires...
"La première sécurité est la liberté"
[^] # Re: Perf ?
Posté par Nicolas Boulay (site web personnel) . En réponse au message Quel langage de script ?. Évalué à 2.
Le plus performant, c'est perl. Lors de la sortie de perl 6, logiquement la VM sous perl doit être utilisé aussi pour python. Le gars de ruby veut toujours faire son truc dans son coin.
"La première sécurité est la liberté"
[^] # Re: mais quel gâchis !!!
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Fin du support Linux des webcams Philips. Évalué à -3.
Linux est 100% GPL. La tolérance pour les modules non GPL provient d'une subtilité dans la définition de la "combined forme of work". En gros, on rajoute un système de fichier (AFS, je crois à poser le pb le premier) ou un driver video (déveloper en 1 er pour windows). C'est ok.
Or, là, il s'agit purement d'un travail en vue d'utilisation pour linux et uniquement linux à 100%. Il ne respecte donc pas la GPL.
Sinon, son attitude dans son mail est déplorable. Comment ose-t-il demander le retrait de son code du kernel ? C'est du code GPL !
Et pourquoi n'a-t-il pas libéré le code depuis 1 an ? C'est bien qu'il a envis de faire chier son monde !
"La première sécurité est la liberté"
[^] # Re: toujours bon à prendre
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Une pétition pour obtenir des pilotes ATI de meilleure qualité. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: toujours bon à prendre
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Une pétition pour obtenir des pilotes ATI de meilleure qualité. Évalué à 1.
"La première sécurité est la liberté"
[^] # Re: Pas d'inquiétudes
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Reiserfs 4 !. Évalué à 1.
"La première sécurité est la liberté"
[^] # Re: ???????????????????????????????????????????
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Internet et le Libre dans l'Huma Hebdo. Évalué à -1.
"La première sécurité est la liberté"
[^] # Re: Choqué...
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Internet et le Libre dans l'Huma Hebdo. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: drackconf
Posté par Nicolas Boulay (site web personnel) . En réponse au message changer l'ip en console sur mandrake 10.0. Évalué à 1.
"La première sécurité est la liberté"
[^] # Re: Meuh
Posté par Nicolas Boulay (site web personnel) . En réponse au message Optimisation de code C. Évalué à 1.
Le pipeline est 2 fois plus court (moins de dépendance) et la différence de vitesse entre la mémoire et le bus mémoire n'est que de ~4.5 (2x moins que les derniers pentium4).
"La première sécurité est la liberté"
# taille ?
Posté par Nicolas Boulay (site web personnel) . En réponse au message Optimisation de code C. Évalué à 1.
Tu pourrais donner plus d'info sur la taille de a et b ?
Si c'est "moyen gros", tu peux essayer un bloc prefetch.
genre rajouter :
for(i=0; i < n; i += 16)
{
dummy1 += a[i]; dummy2 += b[i];
}
devant la 1er boucle mais vu que tu n'y fais pas grand chose peut-être que mixer la chose pourrais faire gagner du temps :
for(i=0; i < (n/4)*4 ; i += 4){ // les prefetcher automatiques n'aiment pas les adresses descendantes
dummy1 += a[j=(j+16) mod n]; dummy2 += b[j];
res1+=a[i] * b[i];
res2+=a[i+1] * b[i+1];
res3+=a[i+2] * b[i+2];
res4 +=a[i+3] * b[i+3];
}
res += res1 + res2 + res3 +res4;
A coder en SSE si tu veux t'amuser (déroulant la boucle pareil !).
"La première sécurité est la liberté"
[^] # Re: Vectorisation
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Optimisation de code C. Évalué à 1.
"La première sécurité est la liberté"
# + d'infos...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Optimisation de code C. Évalué à 2.
Si c'est "moyen gros", tu peux essayer un bloc prefetch.
genre rajouter :
for(i=0; i < n; i += 16)
{
dummy1 += a[i]; dummy2 += b[i];
}
devant la 1er boucle mais vu que tu n'y fais pas grand chose peut-être que mixer la chose pourrais faire gagner du temps :
for(i=0; i < (n/4)*4 ; i += 4){ // les prefetcher automatiques n'aiment pas les adresses descendantes
dummy1 += a[j=(j+16) mod n]; dummy2 += b[j];
res1+=a[i] * b[i];
res2+=a[i+1] * b[i+1];
res3+=a[i+2] * b[i+2];
res4 +=a[i+3] * b[i+3];
}
res += res1 + res2 + res3 +res4;
A coder en SSE si tu veux t'amuser (déroulant la boucle pareil !).
"La première sécurité est la liberté"
[^] # Re: Devinez ce que j'ai répondu :)
Posté par Nicolas Boulay (site web personnel) . En réponse au sondage La signature en bas de mes mails est. Évalué à 0.
cela fait moins pompeux et ronflonflon que les trucs habituels.
"La première sécurité est la liberté"
[^] # Re: unsigned short
Posté par Nicolas Boulay (site web personnel) . En réponse au message Type pour un chiffre. Évalué à 1.
"La première sécurité est la liberté"
[^] # Re: Encore un article creux!
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche De l'économie et de l'open source. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: economie + LL = bouleversement de l'economie de l'informatique
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche De l'économie et de l'open source. Évalué à 1.
"La première sécurité est la liberté"
[^] # Re: Il n'y a pas que les logiciels dans l'informatique
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche De l'économie et de l'open source. Évalué à 2.
"La première sécurité est la liberté"