MetaDriver: J'ai mis à jour le pilote (l'installation s'est bien déroulée) mais ControlCenter est maintenant complètement absent de la barre d'état système et ne peut même pas être lancé manuellement. Tout va bien chez vous ?
J'ai eu le même problème lorsque j'ai téléchargé le logiciel du pilote Vista depuis Win7 et que ControlCenter a commencé à apparaître dans la barre des tâches.
Pouvez-vous me dire s'il existe un émulateur OpenCL http://developer.amd.com/zones/opensource/pages/ocl-emu.aspx , il est pratique de modifier le code sur l'ordinateur portable pendant la journée et de l'utiliser ensuite sur le PC pour l'optimisation. Je suppose que MT5 ne fonctionnera pas avec l'émulateur OpenCL ?
If you want faster apps, you’ll want to use heterogeneous computing technologies. We’re here to make that happen, with plenty of tools and resources. And if you’re thinking about architecture, HSA is going to rock your world—learn more.
que MT5 ne fonctionnera pas avec l'émulateur OpenCL ?
Renat: Alors que le terminal utilise rigidement OpenCL uniquement sur le GPU, dans la prochaine version nous ajouterons l'utilisation automatique du CPU s'il n'y a pas de GPU.
J'ai eu le même problème lorsque j'ai installé le logiciel du pilote de Vista sur Win7, puis je l'ai téléchargé pour Win7 et ControlCenter est apparu dans ma zone de notification.
Pouvez-vous me dire s'il existe un émulateur OpenCL http://developer.amd.com/zones/opensource/pages/ocl-emu.aspx, il est pratique de modifier le code sur l'ordinateur portable pendant la journée, puis de l'utiliser sur le PC à des fins d'optimisation, je suppose que MT5 ne fonctionnera pas avec l'émulateur OpenCL ?
2) Bien sûr, MT5 ne fonctionnera pas avec l'émulateur. Mais il peut être utilisé pour le débogage et les programmes prêts (débogués) peuvent être insérés dans le code mql5.
J'ai aussi téléchargé l'émulateur. Je n'ai pas encore eu l'occasion de l'utiliser.
Advanced Micro Devices (NYSE: AMD) — это инновационная технологическая компания, ориентированная на сотрудничество с заказчиками и партнерами с целью разработки вычислительных и графических решений нового поколения для офиса, дома и игр.
Il y a eu un pépin, je suis d'accord. Mais il a disparu après un redémarrage... Maintenant que j'ai l'icône, je l'utilise toujours pour vérifier la température et la vitesse de refroidissement, je ne peux plus aller nulle part sans elle.
1. Il y a eu un pépin, je suis d'accord. Mais il a disparu après un redémarrage... Maintenant que j'ai l'icône, je l'utilise toujours pour vérifier la température et la vitesse de refroidissement, je ne peux plus aller nulle part sans elle.
Renat ! Qu'en est-il du multithreading ? J'ai exécuté plusieurs scripts de test sur différents graphiques et ils ont commencé à mélanger leurs lectures, en volant des tampons les uns des autres tout le temps. Un problème, cependant.
// J'ai nettoyé le moniteur, j'ai donné un coup de pied à l'unité du système, rien n'y fait.
Renat, qu'en est-il du multithreading ? J'ai exécuté plusieurs scripts de test sur différents graphiques et ils ont commencé à mélanger leurs lectures, en volant des tampons les uns des autres tout le temps. Un problème, cependant.
// J'ai effacé l'écran, j'ai cassé l'unité du système, rien ne fonctionne.
Si nous parlons de l'exemple du test de Mandelbrot, veuillez noter que l'image est écrite dans le même fichier. C'est pourquoi il semble que des fils différents gâchent le fichier BMP des autres.
Essayez ce script - il fonctionne (rand) avec chaque fil avec sa propre image et n'entre plus en conflit :
//+------------------------------------------------------------------+//| OpenCLTest.mq5 |//| Copyright 2011, MetaQuotes Software Corp. |//| http://www.mql5.com |//+------------------------------------------------------------------+#property copyright "Copyright 2011, MetaQuotes Software Corp."#property link "http://www.mql5.com"#property version "1.00"//+------------------------------------------------------------------+//| Код функции OpenCL |//+------------------------------------------------------------------+conststring cl_src=
"__kernel void MFractal( \r\n"" float x0, \r\n"" float y0, \r\n"" float x1, \r\n"" float y1, \r\n"" uint max, \r\n"" __global uint *out) \r\n"" { \r\n"" size_t w = get_global_size(0); \r\n"" size_t h = get_global_size(1); \r\n"" size_t gx = get_global_id(0); \r\n"" size_t gy = get_global_id(1); \r\n"" float dx = x0 + gx * (x1-x0) / (float) w; \r\n"" float dy = y0 + gy * (y1-y0) / (float)h; \r\n"" float x = 0; \r\n"" float y = 0; \r\n"" float xx = 0; \r\n"" float yy = 0; \r\n"" float xy = 0; \r\n"" uint i = 0; \r\n"" while ((xx+yy)<4 && i<max) \r\n"" { \r\n"" xx = x*x; \r\n"" yy = y*y; \r\n"" xy = x*y; \r\n"" y = xy+xy+dy; \r\n"" x = xx-yy+dx; \r\n"" i++; \r\n"" } \r\n"" if(i==max) \r\n"" out[w*gy+gx] = 0; \r\n"" else \r\n"" out[w*gy+gx] = (uint)((float)0xFFFFFF/(float)max)*i; \r\n"" } \r\n";
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+#define SIZE_X 512#define SIZE_Y 512//+------------------------------------------------------------------+//| Заголовок BMP файла |//+------------------------------------------------------------------+struct BitmapHeader
{
ushort type;
uint size;
uint reserv;
uint offbits;
uint imgSSize;
uint imgWidth;
uint imgHeight;
ushort imgPlanes;
ushort imgBitCount;
uint imgCompression;
uint imgSizeImage;
uint imgXPelsPerMeter;
uint imgYPelsPerMeter;
uint imgClrUsed;
uint imgClrImportant;
};
//+------------------------------------------------------------------+//| Запись битмапа в файл |//+------------------------------------------------------------------+bool SaveBitmapToFile(conststring filename,uint &bitmap[],const BitmapHeader &info)
{
//--- откроем файлint file=FileOpen(filename,FILE_WRITE|FILE_BIN);
if(file==INVALID_HANDLE)
{
Print(__FUNCTION__," error opening '",filename,"'");
return(false);
}
//--- запишем заголовок и само телоif(FileWriteStruct(file,info)==sizeof(info))
{
if(FileWriteArray(file,bitmap)==ArraySize(bitmap))
{
FileClose(file);
return(true);
}
}
//--- неудачно получилось, удалим файл от греха подальшеFileClose(file);
FileDelete(filename);
Print(__FUNCTION__," error writting '",filename,"'");
//--- вернем ошибкуreturn(false);
}
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
int cl_ctx;
int cl_prg;
int cl_krn;
int cl_mem;
int fileidx=MathRand()&255;
//--- инициализируем OpenCL объектыif((cl_ctx=CLContextCreate())==0)
{
Print("OpenCL not found");
return;
}
if((cl_prg=CLProgramCreate(cl_ctx,cl_src))==0)
{
CLContextFree(cl_ctx);
Print("OpenCL program create failed");
return;
}
if((cl_krn=CLKernelCreate(cl_prg,"MFractal"))==0)
{
CLProgramFree(cl_prg);
CLContextFree(cl_ctx);
Print("OpenCL kernel create failed");
return;
}
if((cl_mem=CLBufferCreate(cl_ctx,SIZE_X*SIZE_Y*sizeof(float),CL_MEM_READ_WRITE))==0)
{
CLKernelFree(cl_krn);
CLProgramFree(cl_prg);
CLContextFree(cl_ctx);
Print("OpenCL buffer create failed");
return;
}
//--- подготовимся к выполнениюfloat x0 =-2;
float y0 =-0.5;
float x1 =-1;
float y1 = 0.5;
uint max = 20000;
uint offset[2]={0,0};
uint work [2]={SIZE_X,SIZE_Y};
//--- выставляем неизменяемые параметры функции OpenCL
CLSetKernelArg(cl_krn,4,max);
CLSetKernelArgMem(cl_krn,5,cl_mem);
//--- подготовим буфер для вывода пикселейuint buf[];
ArrayResize(buf,SIZE_X*SIZE_Y);
//--- подготовим заголовок
BitmapHeader info;
ZeroMemory(info);
info.type =0x4d42;
info.size =sizeof(info)+SIZE_X*SIZE_Y*4;
info.offbits =sizeof(info);
info.imgSSize =40;
info.imgWidth =SIZE_X;
info.imgHeight =SIZE_Y;
info.imgPlanes =1;
info.imgBitCount =32;
info.imgCompression=0; // BI_RGB
info.imgSizeImage =SIZE_X*SIZE_Y*4;
//--- создаём объект для вывода графикиObjectCreate(0,"x",OBJ_BITMAP_LABEL,0,0,0);
ObjectSetInteger(0,"x",OBJPROP_XDISTANCE,4);
ObjectSetInteger(0,"x",OBJPROP_YDISTANCE,26);
//--- рендерим пока не остоновят снаружиwhile(!IsStopped())
{
uint x=GetTickCount();
//--- выставляем плавающие параметры
CLSetKernelArg(cl_krn,0,x0);
CLSetKernelArg(cl_krn,1,y0);
CLSetKernelArg(cl_krn,2,x1);
CLSetKernelArg(cl_krn,3,y1);
//--- рендерим кадр
CLExecute(cl_krn,2,offset,work);
//--- забираем данные кадра
CLBufferRead(cl_mem,buf);
//--- выведем время рендераComment(IntegerToString(GetTickCount()-x)+" msec per frame");
//--- сохраняем кадр в памяти и рисуем его
SaveBitmapToFile("Mandelbrot"+IntegerToString(fileidx)+".bmp",buf,info);
ObjectSetString(0,"x",OBJPROP_BMPFILE,NULL);
ObjectSetString(0,"x",OBJPROP_BMPFILE,"\\Files\\Mandelbrot"+IntegerToString(fileidx)+".bmp");
ChartRedraw();
//--- небольшая задержка и обновление параметров для следующего кадраSleep(10);
x0+=0.001 f;
x1-=0.001 f;
y0+=0.001 f;
y1-=0.001 f;
}
//--- удаляем объекты OpenCL
CLBufferFree(cl_mem);
CLKernelFree(cl_krn);
CLProgramFree(cl_prg);
CLContextFree(cl_ctx);
}
//+------------------------------------------------------------------+
Veuillez noter que plusieurs scripts utilisant OpenCL en même temps entraînent une perte non linéaire des performances du GPU.
1) Si nous parlons de l'exemple du test de Mandelbrot, notez que l'image est écrite dans le même fichier. C'est pourquoi différents fils de discussion gâchent le fichier BMP des autres.
Essayez ce script - il fonctionne avec chaque fil (rand) avec sa propre image et n'entre plus en conflit :
2 . mais n'oubliez pas que plusieurs scripts utilisant OpenCL en même temps entraînent une perte non linéaire des performances du GPU.
1. Merde ! J'aurais pu le deviner moi-même. Désolé pour le bruit excessif.
Il a regardé le sceptique. C'est ça, oui. Seulement mieux.
int fileidx=ChartID();
Pour ce que ça vaut...
2. C'est ce que je voulais voir. Juste pour réfléchir... :)
J'ai mis à jour le pilote (l'installation s'est bien déroulée) mais ControlCenter est maintenant complètement absent de la barre d'état système et ne peut même pas être lancé manuellement. Tout va bien chez vous ?
J'ai eu le même problème lorsque j'ai téléchargé le logiciel du pilote Vista depuis Win7 et que ControlCenter a commencé à apparaître dans la barre des tâches.
Pouvez-vous me dire s'il existe un émulateur OpenCL http://developer.amd.com/zones/opensource/pages/ocl-emu.aspx , il est pratique de modifier le code sur l'ordinateur portable pendant la journée et de l'utiliser ensuite sur le PC pour l'optimisation. Je suppose que MT5 ne fonctionnera pas avec l'émulateur OpenCL ?
IgorM:
que MT5 ne fonctionnera pas avec l'émulateur OpenCL ?
Alors que le terminal utilise rigidement OpenCL uniquement sur le GPU, dans la prochaine version nous ajouterons l'utilisation automatique du CPU s'il n'y a pas de GPU.
J'ai eu le même problème lorsque j'ai installé le logiciel du pilote de Vista sur Win7, puis je l'ai téléchargé pour Win7 et ControlCenter est apparu dans ma zone de notification.
Pouvez-vous me dire s'il existe un émulateur OpenCL http://developer.amd.com/zones/opensource/pages/ocl-emu.aspx, il est pratique de modifier le code sur l'ordinateur portable pendant la journée, puis de l'utiliser sur le PC à des fins d'optimisation, je suppose que MT5 ne fonctionnera pas avec l'émulateur OpenCL ?
1. Je pense que j'ai la bonne version. Je l'ai trouvé ici : http://developer.amd.com/Downloads/AMD-APP-SDK-v2.6-Windows-64.exe
2) Bien sûr, MT5 ne fonctionnera pas avec l'émulateur. Mais il peut être utilisé pour le débogage et les programmes prêts (débogués) peuvent être insérés dans le code mql5.
J'ai aussi téléchargé l'émulateur. Je n'ai pas encore eu l'occasion de l'utiliser.
1. Il semble que ce soit la bonne version. Je l'ai trouvé ici : http://developer.amd.com/Downloads/AMD-APP-SDK-v2.6-Windows-64.exe
Il y a eu un pépin, je suis d'accord. Mais il a disparu après un redémarrage... Maintenant que j'ai l'icône, je l'utilise toujours pour vérifier la température et la vitesse de refroidissement, je ne peux plus aller nulle part sans elle.
Je suis d'accord avec IgorM, je télécharge toujours les pilotes depuis http://sites.amd.com/us/game/downloads/Pages/radeon_win7-64.aspx ( lien vers la page HD 6xxx WIN7 x64).
Et le centre Catalyst lui-même pour la même version : http://www2.ati.com/drivers/12-1_vista_win7_64_dd_ccc.exe.
1. Il y a eu un pépin, je suis d'accord. Mais il a disparu après un redémarrage... Maintenant que j'ai l'icône, je l'utilise toujours pour vérifier la température et la vitesse de refroidissement, je ne peux plus aller nulle part sans elle.
2. Je suis d'accord avec IgorM, je télécharge toujours les pilotes depuis http://sites.amd.com/us/game/downloads/Pages/radeon_win7-64.aspx ( lien vers la page pour HD 6xxx WIN7 x64).
3. et le centre Catalyst lui-même pour la même version : http://www2.ati.com/drivers/12-1_vista_win7_64_dd_ccc.exe.
1. Je n'ai rien. Le redémarrage n'aide pas.
Il semble qu'il lui manque quelque chose pour être heureux. Je vais vous demander si je peux le découvrir. :) // si Yandex ne peut pas aider.
// A propos des glacières, je les surveille bien. AI Suite II est en vie et fonctionne, seul le centre de contrôle Catalist est mort.
2. Je cherche tout là aussi. Tout fonctionne, et Catalist fonctionnait aussi, jusqu'à ce que je déplace la nouvelle version.
3. J'ai le même fichier. 151765KB sur mon disque, si vous en avez besoin. :)
Merci pour les réponses.
Renat ! Qu'en est-il du multithreading ? J'ai exécuté plusieurs scripts de test sur différents graphiques et ils ont commencé à mélanger leurs lectures, en volant des tampons les uns des autres tout le temps. Un problème, cependant.
// J'ai nettoyé le moniteur, j'ai donné un coup de pied à l'unité du système, rien n'y fait.
Renat, qu'en est-il du multithreading ? J'ai exécuté plusieurs scripts de test sur différents graphiques et ils ont commencé à mélanger leurs lectures, en volant des tampons les uns des autres tout le temps. Un problème, cependant.
// J'ai effacé l'écran, j'ai cassé l'unité du système, rien ne fonctionne.
Si nous parlons de l'exemple du test de Mandelbrot, veuillez noter que l'image est écrite dans le même fichier. C'est pourquoi il semble que des fils différents gâchent le fichier BMP des autres.
Essayez ce script - il fonctionne (rand) avec chaque fil avec sa propre image et n'entre plus en conflit :
Veuillez noter que plusieurs scripts utilisant OpenCL en même temps entraînent une perte non linéaire des performances du GPU.
1) Si nous parlons de l'exemple du test de Mandelbrot, notez que l'image est écrite dans le même fichier. C'est pourquoi différents fils de discussion gâchent le fichier BMP des autres.
Essayez ce script - il fonctionne avec chaque fil (rand) avec sa propre image et n'entre plus en conflit :
2 . mais n'oubliez pas que plusieurs scripts utilisant OpenCL en même temps entraînent une perte non linéaire des performances du GPU.
1. Merde ! J'aurais pu le deviner moi-même. Désolé pour le bruit excessif.
Il a regardé le sceptique. C'est ça, oui. Seulement mieux.
Pour ce que ça vaut...
2. C'est ce que je voulais voir. Juste pour réfléchir... :)
MetaDriver:
...3. Eh bien, c'est le même fichier que j'ai. 151765KB sur le disque, s'il y a lieu. :)
...
Le fichier du haut est un téléchargement du mien, celui du bas provient de votre lien. Taille complètement différente.... )