Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1744 connectés 

  FORUM HardWare.fr
  Hardware
  Carte mère

  question simple/double précision sur cpu divers

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

question simple/double précision sur cpu divers

n°7112614
fa975028
Posté le 12-09-2009 à 23:05:45  profilanswer
 

Bonjour à toute et à tous.  :)  
 
voila, j'aurai voulu savoir un truc qui me trotte dans la tete depuis un petit moment.
 
* Existe t-il un rapport de performance entre simple et double précision ou bien  
c'est du cas par cas et ca dépend de l'architecture ?
 
* Qu'en est t-il de technologie différente comme le GPU ?
 
* Et enfin, comment connaitre cette valeur sur son propre pc, tant au niveau CPU que GPU ?

 
 
merci pour vos réponse.  :hello:

mood
Publicité
Posté le 12-09-2009 à 23:05:45  profilanswer
 

n°7113546
josedsf
Posté le 13-09-2009 à 17:19:13  profilanswer
 

fa975028 a écrit :

Bonjour à toute et à tous.  :)  
 
voila, j'aurai voulu savoir un truc qui me trotte dans la tete depuis un petit moment.
 
* Existe t-il un rapport de performance entre simple et double précision ou bien  
c'est du cas par cas et ca dépend de l'architecture ?
 
* Qu'en est t-il de technologie différente comme le GPU ?
 
* Et enfin, comment connaitre cette valeur sur son propre pc, tant au niveau CPU que GPU ?

 
 
merci pour vos réponse.  :hello:


Salut,
Ta question concerne-t-elle les instructions vectorielles SSE ? Simple précision=64bits et double=128bits.
Dans ce cas tout dépend de l'architecture : seuls les derniers AMD K10 et Intel Core2/Core i5/i7 calculent la double précision en un cycle avec leur unités 128bits. Les plus anciens processeurs calculent la double précision en deux cycles avec leur unités 64bits:
http://arstechnica.com/hardware/ne [...] core.ars/3
 
Pour les GPU, je ne sais pas.


Message édité par josedsf le 13-09-2009 à 17:21:14

---------------
Guide cpu / Zen5
n°7113907
fa975028
Posté le 13-09-2009 à 21:02:19  profilanswer
 

Je ne sais pas. Je pose cette question en regard a l'architecture
GT200 de nvidia. nottament la  285GTX.
En simple précision, cette architecture dévellope 1062.72 Gflops,
soit 1 Tflops. mais en double précision, les donnée sont inconnu.
on parle de 200Gflops mais rien n'est certain.
 
c'est pour ca que je demandais... ?
 
 
et une autre question me trotte également.
 
 
j'aimerai, en C, faire des opérations mathématique simple sur des nombres en
256, 384, 512, 768, et meme 1024 bits. j'aimerai donc utiliser l'architecture de ma carte nvidia pour pouvoir,  
via CUDA, effectuer ces opérations.
 
comment on peut effectuer des opérations sur des nombres plus grand (256 bits donc) que
ce que l'architecture te le permet ?
 
en gros, c'est quoi l'algo pour faire en C:
 
565525791540989378115994900021445889893 + 842215903550500249891021400267758987980
 
??

n°7240664
ulukai08
Posté le 10-12-2009 à 03:10:50  profilanswer
 

Salut,  
 

Citation :

Salut,
Ta question concerne-t-elle les instructions vectorielles SSE ? Simple précision=64bits et double=128bits.
Dans ce cas tout dépend de l'architecture : seuls les derniers AMD K10 et Intel Core2/Core i5/i7 calculent la double précision en un cycle avec leur unités 128bits.


 
128 bits ?! Je ne sais pas ou tu as vu ça !
 
fa975028, pour les CPU il n'y a plus, à ma connaissance, de différences de performances entre 32 et 64 bits sur les CPU récents. Par contre, sur les carte graphiques oui et ça dépend de l'architecture. En général ça tourne autour de 1/5 (double/simple).
 
Et je comprends pas pourquoi tu parles de 256, ... , 1024 bits ?! Tu peux aller jusqu'à 10^308 avec 16 décimales en 64 bits. Si ça ne te suffit pas tu peux utiliser un long double mais c'est pas vraiment du 128 bit.

n°7240878
fa975028
Posté le 10-12-2009 à 11:33:58  profilanswer
 

J'avais en projet en fait de faire un petit test de factorisation de grand nombre mais sur carte graphique en utilisant Cuda. je travaillerai sur 4 chiffre différents:
 
64bits, 256bits, 768bits et 2048 bits.
 
un peu comme les défis RSA en sont temps...
 
 
mais je vois pas comment on peut traiter des chiffres de 256bits avec une architecture 64bits... je cale.  :sweat:

n°7240881
eldar756
Posté le 10-12-2009 à 11:35:55  profilanswer
 

Via un système de tableau ou de liste chainee ?

n°7241932
fa975028
Posté le 10-12-2009 à 22:35:45  profilanswer
 

j'avoue que j'avais pensé a la chaine de caractere. remplacer un chiffre par un caractere, pour ainsi beneficier d'une plus grande base... mais bon, ca ralentirai considérablement le temps de calcul
 
 

Citation :

Via un système de tableau


Je crois en effet que c'est un meilleur choix avec des array.
 
 
mais la ou je bloque vraiment, c'est ici:
 
J'ai deux variables contenant  chaqu'un admettons le nombre maximum autorisé par le type de la variable
 
ensuite, je fait quoi moi avec ces deux variable ? si je veux par exemple les additionner, comment je m'y prend etant donné que je ne peut pas traiter/stoquer ce nombre dans une variable... ?

n°7241956
eldar756
Posté le 10-12-2009 à 22:58:42  profilanswer
 

Ce que j'aurais pensé faire c'est mettre les valeurs une par une dans le tableau et ensuite faire le calcul sans les refaire passer en variable :
 
Je te fais un exemple simple :
 
Tu prends 2 tableaux tab1 et tab2 contenant 3 entier chacun
 
ils sont remplis comme ça :  tab[0] = 1 tab2[0] = 3
                                      tab[1] = 2 tab2[1] = 2
                                      tab[2] = 3 tab2[2] = 1
 
En gros la tu ferais une multiplication de 123 par 321
Ce que tu fais tu reprends le principe de la multiplication qu'on a appris a l'école primaire pour faire un algo qui te faire des multiplications avec retenue.
Tout ça en le mettant dans un troisième tableau tab3 a chaque fois pour le résultat et puis une variable a la con pour stocker les retenues.
 

n°7241981
blazkowicz
Posté le 10-12-2009 à 23:17:34  profilanswer
 

oui, c'est les bignums, va voir les bignums pour ça (on peut faire de la précision arbitraire avec ce principe)
 
il doit déjà yavoir des tonnes de librairies pré-existantes. on me l'avait fait implémenter à la fac, en caml : c'est fun mais la difficulté du truc c'était implémenter la division ^.
 
les histoires de simple précision, double précision, tu peux oublier : manifestement t'as besoin d'entiers et non de flottants.
les CG DX10 supportent les entiers mais ce n'est pas là-dessus qu'elles se focalisent. si je ne me trompe pas c'est entiers 24bits sur les radeon, 32bits sur les geforce actuelles, 64bits sur Fermi.
 
tu ferais probablement mieux d'utiliser du CPU 64bits (c'est dans ce genre d'application que ça sert d'avoir un CPU 64bits plutôt que 32 ^^)

n°7242031
fa975028
Posté le 10-12-2009 à 23:58:33  profilanswer
 

j'ai un quad Q9550, donc ca ira bien en 64bits.
 
c'est dommange pour les carte graphique, on perd une grosse puissance de calcul brut...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Hardware
  Carte mère

  question simple/double précision sur cpu divers

 

Sujets relatifs
Question CPU Cache Rapiditéquestion processeur .?
Question disque SCSI IBMHD externe double alimentation
Question sur changement PCB HDDBruit - question aux possesseurs de GTX275 ou HD4890
Nouvelle Config envisagée... Question...Question 2 CG (1 PCI-E 16x + 1 PCI-E 1x)
question: Est-ce normal que...petite question sur ma config
Plus de sujets relatifs à : question simple/double précision sur cpu divers


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR