Обсуждение статьи "Как установить и использовать в расчетах OpenCL" - страница 3

 
tol64:

Да, спасибо. Решил пока не мучить себя выбором конфигурации и взял попроще. ) Для изучения думаю вполне сойдёт, а если что-то будет получаться, то потом при необходимости сделаю новый апгрейд. )

Почему такие рейтинги пока не знаю. Буду тестировать/смотреть.

Вот ещё такой вариант выдаёт MT5, если монитор соединить не с видеокартой, а с графической подсистемой процессора (изменение выделил красным):

Результаты получаются такими же.

Давай какой-нибудь из твоих скриптиков погоняем. )

Дык бери все в той ветке куда я выкладывал.  Оно всё там.  Там же и результаты выкладывай (чтоб всё вместе лежало).
 
MetaDriver:
Дык бери все в той ветке куда я выкладывал.  Оно всё там.  Там же и результаты выкладывай (чтоб всё вместе лежало).
ОК, чуть позже протестирую и выложу результаты в ветке OpenCL: внутренние тесты реализации в MQL5.
 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Обсуждение статьи "Как установить и использовать в расчетах OpenCL"

MetaDriver, 2013.11.27 23:23

...

Чёт какие-то рейтинги бешеные у тебя.  или считаются криво.  Вот мои сегодняшние:

2013.11.28 00:04:42     OpenCL  Device #1: CPU AuthenticAMD AMD Phenom(tm) II X6 1100T Processor with OpenCL 1.1 (6 units, 3840 MHz, 16345 Mb, version 2.0, rating 17)
2013.11.28 00:04:42     OpenCL  Device #0: GPU Advanced Micro Devices, Inc. Cayman with OpenCL 1.1 (20 units, 750 MHz, 1024 Mb, version CAL 1.4.1703 (VM), rating 171)

Ну не верю я в такую разницу в рейтингах.  Шо-то тут не так.

Переустановил драйвера и сейчас разница ещё больше. В журнале терминала рейтинг процессора до 130 доходит (на видеокарте также примерно осталось). А вот в профиле в разделе Агенты (подключил агентов к облаку) рейтинг в среднем ~170 на всех ядрах (максимум 183). 

Почему такая разница не знаю... 

 
tol64:

Переустановил драйвера и сейчас разница ещё больше. В журнале терминала рейтинг процессора до 130 доходит (на видеокарте также примерно осталось). А вот в профиле в разделе Агенты (подключил агентов к облаку) рейтинг в среднем ~170 на всех ядрах (максимум 183). 

Почему такая разница не знаю... 

Не, ну агенты это другая песня, там рейтинги для обычных (не OpenCL) вычислений расчитываются.  Т.е. они вообще в принципе в других относительных единицах считаются.

А про драйвера понял.  Я пока торможу свои переустанавливать - были уже в прошлом году проблемы при переустановке дров.  Еле-еле обошёлся без переустановки системы.

 

Intel® SDK for OpenCL* Applications 2013 - не устанавливается на бук:

Подскажите куда жать :) - ОС Win 7 x64

 
MigVRN:

Intel® SDK for OpenCL* Applications 2013 - не устанавливается на бук:

Подскажите куда жать :) - ОС Win 7 x64

Скачайте сначала с сайта Intel и затем установите вот этот файл: intel_sdk_for_ocl_applications_2013_r2_runtime_x64_setup.msi.
 
tol64:
Скачайте сначала с сайта Intel и затем установите вот этот файл: intel_sdk_for_ocl_applications_2013_r2_runtime_x64_setup.msi.
Огромное спасибо - помогло!
 
Подскажите, а как использовать GPU в качестве агента для тестирования, а то все поставил(OpenCL драйверы), терминал GPU находит, но в списке агентов в тестере ее нет, только 2 ядра CPU?
 
stivy007:
Подскажите, а как использовать GPU в качестве агента для тестирования, а то все поставил(OpenCL драйверы), терминал GPU находит, но в списке агентов в тестере ее нет, только 2 ядра CPU?
никак. это должны быть просто специально написанные советники с поддержкой
 

Может кто то знает, почему простенький код для OpenCL на процессоре работает, а на видеокарте вылетает видеодрайвер?

Если убрать внутренний цикл, то работает на видеокарте без проблем.

#property link      "http://www.mql5.com"
#property version   "1.00"
#property script_show_inputs;

input int _device = 0;        /// номер дивайса OpenCL 

string d2s( double arg, int dig )         { return DoubleToString( arg, dig ); }
//+------------------------------------------------------------------+

string i2s( int arg )                     { return IntegerToString( arg ); }
//+------------------------------------------------------------------+

const string clSrc =
      "#pragma  OPENCL EXTENSION cl_khr_fp64 : enable                      \r\n"
      "                                                                    \r\n"
      "__kernel void test( __global double *out )                          \r\n"                 
      "{                                                                   \r\n"                  
      "  double x = 0.0;  double x1 = 0.0;                                 \r\n"                      
      "  for( long j = 0; j < 1000000; j ++ )                              \r\n"
      "  {                                                                 \r\n"
      "     x =x+0.01;                                                     \r\n"     
      "     for( long n = 1; n < 10000; n ++ ) x1=x1+0.01;                 \r\n"
      "  }                                                                 \r\n"
      "  out[ 0 ] = x;                                                     \r\n"
      "}                                                                   \r\n";
      

int OnStart()
{
   int clCtx = CLContextCreate( _device );
   
   int clPrg = CLProgramCreate( clCtx, clSrc );
   int clKrn = CLKernelCreate( clPrg, "test" );

   uint st = GetTickCount( );

   int clMem = CLBufferCreate( clCtx,  sizeof( double ), CL_MEM_READ_WRITE );            
   CLSetKernelArgMem( clKrn, 0, clMem );
   Print (i2s(clCtx)+";"+i2s(clPrg)+";"+i2s(clKrn));
   bool ex = CLExecute( clKrn ); 
                       
   double buf[1];                                                
   uint read = CLBufferRead( clMem, buf );                                                 
   
   Print( "out = " + d2s( buf[0], 12 ) );
      
   CLBufferFree( clMem );
   CLKernelFree( clKrn );
   CLProgramFree( clPrg );
   CLContextFree( clCtx );
   
   double gone = ( GetTickCount( ) - st ) / 1000.;
   Print( "OpenCl: gone = " + d2s( gone, 3 ) + " sec." );
   Print( "________________________" );
   
   return( 0 );
}//+------------------------------------------------------------------+
Причина обращения: