compilo C++ SSE

compilo C++ SSE - Programmation

Marsh Posté le 19-03-2002 à 19:51:17    

j'ai pas trouvé d'option pour optimiser SSE sous VC++.net.
Y a-t-il une option pour ça, où sinon y a-t-il d'autres compilos qui le font ? (intel?)
Et avec un vrai gain de perfs, pas juste 1% histoire de dire que c'est géré par le compilo...

 

[jfdsdjhfuetppo]--Message édité par wave--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 19-03-2002 à 19:51:17   

Reply

Marsh Posté le 19-03-2002 à 19:55:08    

c par defaut je crois, meme SSE2
a verifier tout de meme


---------------
What butter and whiskey won't cure, there is no cure for.
Reply

Marsh Posté le 19-03-2002 à 19:56:52    

comment ça peut être par défaut alors que tous les cpu ne le gèrent pas?
dans ce cas il y aurait au moins une option pour l'enlever.

Reply

Marsh Posté le 19-03-2002 à 20:36:53    

wave a écrit a écrit :

comment ça peut être par défaut alors que tous les cpu ne le gèrent pas?




et alors? :heink:


---------------
What butter and whiskey won't cure, there is no cure for.
Reply

Marsh Posté le 19-03-2002 à 20:39:36    

alors si ça fournit par défaut un code SSE ça plantera sur pentium2, celeron 1, thunderbird, duron < 1GHz et tous les cpu précédents.
Donc ça peut pas être le cas.

Reply

Marsh Posté le 19-03-2002 à 20:41:32    

ya bcp de prog qui sont optimise SSE ou des trucs comme ca qui tourne quand meme nan


---------------
What butter and whiskey won't cure, there is no cure for.
Reply

Marsh Posté le 19-03-2002 à 20:44:12    

oui mais ça oblige à faire 2 versions du code (3 si on ajoute 3dnow) et à choisir laquelle on appelle en fonction du cpu. Ca triple la taille du code, ça m'étonnerait que VC fasse ça sans possibilité de faire autrement.

Reply

Marsh Posté le 19-03-2002 à 21:33:38    

wave a écrit a écrit :

j'ai pas trouvé d'option pour optimiser SSE sous VC++.net.
Y a-t-il une option pour ça, où sinon y a-t-il d'autres compilos qui le font ? (intel?)
Et avec un vrai gain de perfs, pas juste 1% histoire de dire que c'est géré par le compilo...  




 
Y'avait un processor pack pour visual c++6 a telecharger
sur le site de Microsoft..
je ne sais pas ce qu'il en est de la version 7.
 
Le processor pack, ne compile pas pour SSE
mais permet d'utiliser les instructions assembleurs SSE
inline. La detection du processeur
est a la charge du programmeur (code d'exemple fourni)
 
A+
LEGREG

Reply

Marsh Posté le 19-03-2002 à 21:50:25    

legreg a écrit a écrit :

 
 
Y'avait un processor pack pour visual c++6 a telecharger
sur le site de Microsoft..
je ne sais pas ce qu'il en est de la version 7.
 
Le processor pack, ne compile pas pour SSE
mais permet d'utiliser les instructions assembleurs SSE
inline. La detection du processeur
est a la charge du programmeur (code d'exemple fourni)
 
A+
LEGREG  




 
la version d'éval de intel compiler le fait très bien

Reply

Marsh Posté le 19-03-2002 à 21:53:24    

ayachi a écrit a écrit :

 
 
la version d'éval de intel compiler le fait très bien  




T'as regardé l'assembleur généré ?

Reply

Marsh Posté le 19-03-2002 à 21:53:24   

Reply

Marsh Posté le 19-03-2002 à 21:57:03    

elle a quoi comme limitations la version d'eval. du compilo intel?

Reply

Marsh Posté le 20-03-2002 à 23:37:23    

up!

Reply

Marsh Posté le 20-03-2002 à 23:48:38    

pour le compilo intel, le sse est exposé par des fonctions C ou tu fais de l'asm au choix...
 
mais le compilo n'est pas capable de lui-même d'attraper n'importe quel routine est de paralléliser les données pour le sse, y'a du boulot préparatoire....

Reply

Marsh Posté le 20-03-2002 à 23:52:15    

mouais donc intel qui se vante d'avoir un compilo génial n'a rien fait de + que les autres!
en + le compilo intel me dit qu'il a besoin de VC++ pour s'installer alors que VC++ est installé chez moi!

Reply

Marsh Posté le 20-03-2002 à 23:59:03    

bin c'est que de l'expension en ligne, et le compilo essaye de bien "scheduler" les instructions sse....

Reply

Marsh Posté le 21-03-2002 à 00:03:10    

et VC++ tu sais s'il sait faire quelquechose avec SSE?

Reply

Marsh Posté le 21-03-2002 à 00:09:18    

wave a écrit a écrit :

et VC++ tu sais s'il sait faire quelquechose avec SSE?  




Rien sans le compilo intel :D

Reply

Marsh Posté le 21-03-2002 à 00:13:27    

Citation :

Rien sans le compilo intel


bill gates:gun:
ça faisait des années que canard WC++.net devait soi-disant supporter le SSE, il l'ont sorti, et n'ont RIEN changé dans les optimisations, et il est toujours fourni avec opengl 1.1!!!!!:gun:

Reply

Marsh Posté le 21-03-2002 à 00:18:07    

normalement, opengl 1.2 devait etre dispo à partir du service pack 2 de windows 2000.... on l'attend toujours

Reply

Marsh Posté le 21-03-2002 à 00:20:40    

bin l'opengl (full icd) y vient avec le driver de la carte 3d...
même si c'est vrai que l'opengl32.dll peut se mettre entre l'appli et la dll du driver...

Reply

Marsh Posté le 21-03-2002 à 00:28:45    

oui mais j'ai perdu un temps fou à trouver comment on appelle une fonction qui n'est connue que par le driver.
Enfin ça couterait pas très cher de pas avoir 3 ans de retard là-dessus.
S'ils faisaient ça au lieu d'inventer le C# et autres stupidités qui remplissent les 7 CD de visual.net et le disque dur!

Reply

Marsh Posté le 21-03-2002 à 00:29:50    

tsss, c de la faute au donkey, si il existerai pas, tu serais avec le debug :D

Reply

Marsh Posté le 21-03-2002 à 00:30:08    

il se sont surement dit qu'il fallait mieux attendre directement opengl 2.0 :)

Reply

Marsh Posté le 21-03-2002 à 00:31:59    

c'est surtout qu'ils préfèrent directX!
y'a qu'à voir les drivers voodoo sous XP, il ne connaissent QUE directX.

Reply

Marsh Posté le 21-03-2002 à 00:36:38    

wave a écrit a écrit :

c'est surtout qu'ils préfèrent directX!
y'a qu'à voir les drivers voodoo sous XP, il ne connaissent QUE directX.  




voodoo est un mauvais exemple.
3DFX n'existe plus..
 
LEGREG

Reply

Marsh Posté le 21-03-2002 à 00:39:21    

ben c'est un bon exemple parce que justement on utilise les drivers fournis par micro$oft, avant de finir par choisir des drivers non-officiels qui font l'opengl et le glide.

Reply

Marsh Posté le 21-03-2002 à 00:57:21    

wave a écrit a écrit :

ben c'est un bon exemple parce que justement on utilise les drivers fournis par micro$oft, avant de finir par choisir des drivers non-officiels qui font l'opengl et le glide.  




Les drivers sont livres par microsoft
mais developpes par le constructeur..
Si le constructeur n'existe plus, plus de driver.
(ou driver generique dans certains domaines
comme les modems, les imprimantes, les cartes
graphiques pour la 2D basse perf.)
 
LEGREG

Reply

Marsh Posté le 21-03-2002 à 00:59:14    

Le compilo d'intel le fait, et je crois que ça reste celui qui génère le code le plus rapide.
Sinon, curieusement, GCC 3 supporte le 3D Now! mais pas le SSE.


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Marsh Posté le 21-03-2002 à 01:03:02    

Citation :

Les drivers sont livres par microsoft  
mais developpes par le constructeur..  
Si le constructeur n'existe plus, plus de driver.  


comment expliques-tu que des bidouilleurs y arrivent mieux que micro$oft?
ils ont mixé les version 98 et 2000 pour en faire une version XP, micro$oft a pondu la SEULE version sans opengl, il l'ont forcément fabriqué ou castrée eux-mêmes.

Reply

Marsh Posté le 21-03-2002 à 01:20:09    

wave a écrit a écrit :

 
comment expliques-tu que des bidouilleurs y arrivent mieux que micro$oft?
ils ont mixé les version 98 et 2000 pour en faire une version XP, micro$oft a pondu la SEULE version sans opengl, il l'ont forcément fabriqué ou castrée eux-mêmes.  




 
Ce que tu as du mal a comprendre apparemment c'est
que Microsoft n'a rien a voir la dedans.
 
Si Microsoft ne s'occupe plus des driver OpenGL (Soft ou MCD)
c'est parce que ceux-ci n'ont plus lieu d'etre
et ont ete critiques pour leur limitations
par les developpeurs de jeux (Carmack) en tete.
Au depart, DirectX etait balbutiante et Microsoft
ressentait le besoin de supporter les deux APIs
dont l'une en software ou en driver accelere light(MCD).
Maintenant, Windows a une API 3D de base et c'est Direct3D.
Ensuite c'est a chaque Constructeur de carte de voir
s'il veut offrir a ses utilisateurs le benefice d'un  
driver OpenGL performant (et que Microsoft n'a pas
les moyens ni l'obligation de developper pour chaque carte).
La situation est pire pour Matrox qui n'a pourtant  
pas coule et qui peine a offrir de l'OpenGl qui marche.
 
Pourquoi n'interroges-tu pas plutot la strategie
de nVidia qui a rachete les assets de 3DFX
et qui a un interet certain a ce que les voodoo
ne soient plus supportees nulle part?
Voodoo non supporte ou par des drivers non officiels
-> utilisateurs poussés a changer de carte si possible
une petite derniere de nVidia.
 
LEGREG

Reply

Marsh Posté le 21-03-2002 à 01:26:40    

ce que je dis c'est qu'aucun driver 3dfx ne supporte pas l'opengl.
Et micro$oft en a fourni un avec XP. C'est pas 3dfx qui l'a inventé. Ca m'étonnerait que ça soit nvidia.
micro$oft n'a jamais vraiment poussé à l'utilisation d'opengl, pour 2 raisons:
-un jeu directX ne sera pas porté sur d'autres plateformes, donc moins de concurrence.
-maintenant un jeu directX est + facilement portable sur xbox.

Reply

Marsh Posté le 21-03-2002 à 01:55:59    

Ce sont deux problemes totalement independants:
 
- Oui microsoft a interet a ce que les gens developpent sous DirectX/Direct3D.
- Oui La joint venture entre Microsoft et SGI pour donner Talisman a lamentablement echoue.
- Non le marche d'avenir du jeu ce n'est pas Linux mais les consoles de jeu. Et les developpeurs de jeu doivent deja se coltiner toutes les plateformes possibles et imaginables (GBA, Dreamcast, PS2, GameCube, XBox). Alors la gueguerre OpenGl/DirectX doit bien les faire rigoler.
- Oui 3DFX est bien morte et nVidia en la rachetant n'avait pas l'intention de la ressusciter mais d'eliminer un concurrent.
- Oui tu as de la chance qu'il y ait des hobbyistes pour continuer a prendre de manierer totalement gratuite sur leur temps libre pour maintenir les drivers Glide (!), alors cesse de te plaindre et remercie les.
 
LEGREG

Reply

Marsh Posté le 21-03-2002 à 02:00:31    

Citation :

- Non le marche d'avenir du jeu ce n'est pas Linux mais les consoles de jeu.


pourquoi quake2 est sorti sur PC/MAC/linux en même temps et pas sur les consoles?

Citation :

Oui 3DFX est bien morte et nVidia en la rachetant n'avait pas l'intention de la ressusciter mais d'eliminer un concurrent.


je vois pas trop ce que fait nvidia dans cette histoire.

Citation :

Oui tu as de la chance qu'il y ait des hobbyistes pour continuer a prendre de manierer totalement gratuite sur leur temps libre pour maintenir les drivers Glide (!), alors cesse de te plaindre et remercie les.  


je les remercie, si je me plains c'est parce que microsoft a fait un boulot + compliqué qu'eux pour SUPPRIMER l'opengl/glide.

Reply

Marsh Posté le 21-03-2002 à 13:20:52    

Sinon www.codeplay.com est pas mal, il vient se greffer sur VC+...

Reply

Marsh Posté le 21-03-2002 à 14:18:41    

microsoft ne peux pas développer des drivers pour des produits dont les brevets appartiennent à d'autres entreprises (ou alors ils le font avec leur accord).
c pour ça que oui, 3dfx & aureal n'ont plus de -vrais- drivers.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed