OpenCL: внутренние тесты реализации в MQL5 - страница 37

 
joo: И дело скорее всего не в памяти, а в самом механизме распараллеливания задач в драйвере OpenCL. Нужно экспериментировать с кратными количеству мух значениями.
А я если я не знаю, сколько мух у меня (Intel HD Graphics 1000)? То ли 6, то ли значительно больше... Если их 6, то откуда 25-кратный прирост в скорости выполнения?
 
Mathemat:
А я если я не знаю, сколько мух у меня (Intel HD Graphics 1000)? То ли 6, то ли значительно больше... Если их 6, то откуда 25-кратный прирост в скорости выполнения?
x25-прирост - это от моей гениальности, ну немного от векторных операций. Скалярное произведение векторов считается на ГПУ очень быстро.
 
MetaDriver: x25-прирост - это от моей гениальности, ну немного от векторных операций. Скалярное произведение векторов считается на ГПУ очень быстро.

Не забываем, что эти 6 пчелок работают на частоте 1.1 GHz, которая в 2.5 раза ниже частоты камня. Т.е. это 2.5 условные пчелы, работающие на частоте камня. Но откуда 25х?

 
Mathemat:

Не забываем, что эти 6 пчелок работают на частоте 1.1 GHz, которая в 2.5 раза ниже частоты камня. Т.е. это 2.5 условные пчелы, работающие на частоте камня. Но откуда 25х?

SSE обрабатывает 4 float за раз * 2 ядра + оптимизации компилятора.
 
mql5: SSE обрабатывает 4 float за раз * 2 ядра + оптимизации компилятора.

Так все-таки вся работа идет на ядрах CPU - а не на пчелках встроенного GPU?

И второе: если не на пчелках, то как заставить код выполняться именно на них?

P.S. AMD, чай, не просто так заварила эту кашу с мощными интегрированными GPU: в A8-3850 пчел аж 400...

P.P.S. Ну вот, появился представитель разработчиков и снова убежал :(

 
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 with OpenCL 1.1 (16 units, 1225 MHz, 1536 Mb, version 285.62)
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 with OpenCL 1.1 (16 units, 1225 MHz, 1536 Mb, version 285.62)
^^^ как протестировать?
 
casinonsk: ^^^ как протестировать?
Запустите как скрипт любой из кодов, выложенных MetaDriver'ом.
 
Mathemat:
Запустите как скрипт любой из кодов, выложенных MetaDriver'ом.

Запустил  OpenCL

1 ядро загрузилось в среднем процентов на 50%

2 ядро вообще не использовалось. 

 
casinonsk:
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 with OpenCL 1.1 (16 units, 1225 MHz, 1536 Mb, version 285.62)
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 with OpenCL 1.1 (16 units, 1225 MHz, 1536 Mb, version 285.62)
^^^ как протестировать?

Двухбошковые GPU пожаловали. Очень интересно. А CPU какой?

Запускайте скрипт в прикрепе.

Файлы:
 
Mathemat:

Так все-таки вся работа идет на ядрах CPU - а не на пчелках встроенного GPU?

И второе: если не на пчелках, то как заставить код выполняться именно на них?

P.S. AMD, чай, не просто так заварила эту кашу с мощными интегрированными GPU: в A8-3850 пчел аж 400...

P.P.S. Ну вот, появился представитель разработчиков и снова убежал :(

На счёт того что работает именно на CPU, я могу ошибаться, но судя по вашему посту и зная внутренние особенности, вполне возможно, что работа шла на CPU эмуляции от AMD.
К сожалению в текущей реализации выбор устройства за терминалом, но в следующем билде будет возможно самому выбирать одно из доступных устройств.