OpenCL : tests de l'implémentation interne dans MQL5 - page 43

 
Mathemat:
Et j'ai redémarré. Même chose : OpenCL-Z ne considère pas le CPU comme un périphérique. Il ne voit rien du tout.
Pas convaincant. Exécutez un script OpenCL ou autre. OpenCL-Z n'est pas un critère de vérité.
 
MetaDriver: Pas convaincant. Exécutez une sorte de script OpenCL. OpenCL-Z n'est pas un critère de vérité.

Oui, j'ai essayé, MT5 n'a même pas une telle ligne sur OpenCL au démarrage. Il y en avait un, et c'était une garantie d'exécution du code OpenCL.

fyords : J'utilise Your Uninstaller ! PRO pour nettoyer le registre également.

Et si vous essayez de supprimer le processeur du noyau dans le gestionnaire de périphériques, puis de redémarrer, Windows mettra en place de nouveaux pilotes de CPU, peut-être qu'OpenCL reprendra.

Je l'essaierai en dernier recours. Je n'aime pas les logiciels qui passent par le registre.

Oh, nouvelle idée ! Comment retirer les noyaux du répartiteur ?

joo: Passez en mode sans échec et essayez de supprimer manuellement les branches du registre contenant une quelconque mention d'OpenCL. Revenez ensuite en mode normal et installez à nouveau le pilote.

Hehe, ils sont déjà partis...

P.S. C'est enfin en place.

 
Mathemat:
...

Oh, nouvelle idée ! Et comment désinstaller les noyaux à partir du gestionnaire ?

...

Comme d'habitude, clic droit->désinstaller sur le noyau, puis il vous demandera de redémarrer - non, tous les noyaux doivent être désinstallés et ensuite redémarrés.

Hourra camarades ! !! :)

 
fyords: Comme d'habitude, faites un clic droit sur le noyau->désinstaller, puis il vous demandera de redémarrer - non, tous les noyaux doivent être désinstallés, puis redémarrer.

Où se trouve ce noyau dans le gestionnaire - quel processus ?

Oui, je l'ai. Mais on n'en est pas arrivé là. Je ne comprends toujours pas comment j'ai réussi à tout effacer complètement. Probablement parce que j'ai désinstallé AMD APP SDK non pas depuis Windows, mais avec l'installateur AMD lui-même...

 
Mathemat:
Et où se trouve ce noyau dans le gestionnaire de périphériques - quel processus ?
Dans le Gestionnaire de périphériques (sur Poste de travail, souris droite->Gestion->Gestionnaire de périphériques)
 

En cours _Tast_Mand. J'ai un temps record (avec un tampon de 480) :

2012.03.22 01:31:21    Tast_Mand_ (EURUSD,H1)    54741 msec

L'augmentation du tampon n'entraîne aucune baisse. La pierre se réchauffe un peu et consomme toujours ses 20 watts, bien que les deux cœurs soient à 100%.

 

Mathemat:

... Il consomme encore 20 watts...

Si je ne me trompe pas, vous avez un Pentium G840 @ 2.8 GHz. Depuis quand ça consomme 20 watts ? Ce n'est pas 65 watts ?
 
fyords: Si je ne me trompe pas, vous avez un Pentium G840 @ 2.8 GHz. Alors depuis quand ça consomme 20 watts ? Ce n'est pas 65 watts ?

Oui, c'est vrai. Le maximum que j'ai pu en tirer était d'environ 40 watts - sur CPUBurn ou LinPack.

Intel attribue le TDP à la puissance qui sera dissipée dans le pire des cas. Je ne l'ai jamais vu consommer plus de 25 watts dans des applications normales. Et maintenant le terminal a pris presque 100% et la pierre se réchauffe lentement (les températures maximales du cœur sont de 54 et 57) et effectue la tâche avec un tampon de 48000.

2 joo: Andrei, pensez-vous que ce code est équivalent au vôtre ou pas ?

"__kernel void MFractal(                                    \r\n"
"                       __global int *out                   \r\n"
"                      )                                    \r\n"
"  {                                                        \r\n"
"   int i = get_global_id(0);                               \r\n"
"   for(int u=0;u<100000000;u++)                            \r\n"
"   {                                                       \r\n"
"    out[i]+=u;                                             \r\n"
"    bool b=(out[i]<=10000);                                \r\n"
"    out[i]*=(int)b;                                        \r\n"
"   }                                                       \r\n"
"   out[i]+= i;                                             \r\n"
"  }                                                        \r\n";
 
Mathemat:

2 joo: Andrei, pensez-vous que ce code est équivalent au vôtre ou pas ?

On dirait que oui.

Je ne suis pas sûr, car j'essaie de ne pas utiliser de constructions délicates (difficiles à percevoir à l'œil), mais probablement pour rien, car cela peut accélérer le code.

Votre code devrait probablement être plus lent car la variable b est redéclarée à chaque itération de la boucle.

 
joo: Votre code devrait probablement être plus lent, car la variable b est redéclarée à chaque itération de la boucle.

Oui, il est plus lent - de 20%.

J'ai essayé de mettre la déclaration en dehors de la boucle. Il a pris un peu moins de temps, mais a quand même réussi à aller moins vite qu'avant. C'est étrange, nous nous sommes débarrassés de si...