Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Рассказывайте подробно, что Вы делали. Начиная с того, как Вы сносили AMD APP SDK.
Кстати, возможно, в скрипте ParallelTester_00-01x Вы не вставили параметр в функцию CLContextCreate(), равный 0 (чтобы уж наверняка исполнялось на хосте, т.е. на CPU). Об этом у меня в посте не было написано.
Рассказывайте подробно, что Вы делали. Начиная с того, как Вы сносили AMD APP SDK.
Удалил AMD APP SDK через запуск соответствующего Setup.exe, Удалить. Перезагрузка.
Установил Intel OCL (intel_ocl_sdk_1.5_x64_setup.exe), только RunTime. Перезагрузка.
Запустил MT5 - мимо. Поправил реестр по Вашему совету. Перезагрузка. Запуск MT5 - облом.
Добавил путь по совету mql5, пробовал и в кавычках, и без, и x64 ,и x32. Каждый раз после правки реестра перезагрузка, запуск MT5 - те же яйца, вид сбоку.
Сейчас HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors имеет следующий вид:
(По умолчанию) REG_SZ (значение не присвоено)
C:\Program Files (x86)\Intel\OpenCL SDK\1.5\bin\x86\intelocl.dll REG_DWORD 0x00000000 (0)
(По умолчанию) REG_SZ (значение не присвоено)
C:\Program Files (x86)\Intel\OpenCL SDK\1.5\bin\x86\intelocl.dll REG_DWORD 0x00000000 (0)
А Вы туда заглядывали? У меня, скажем, по этому пути ничего такого нет (но я скачивал и ставил только runtime, может, потому и нет).
И, во-вторых, я просто сделал intelocl.dll без полного пути. Она все равно наверняка регистрировалась при инсталляции runtime.
P.S. Поэкспериментировал с полными путями. Не видит метатрейдер OpenCL с полными путями (обоими). А вот если в качестве имени указать просто intelocl.dll, все сразу становится видно, даже без перезагрузки компа.
Я не знаю, как из двух имеющихся в системе файлов с одинаковыми именами выбирается "правильный".
Отчитайтесь, пожалуйста, тут о процессе. Все же интересно, вдруг есть какие нюансы. Я сам тут уже давно мучаюсь и таки "намучил" полученный результат, который мне очень нравится.
P.P.S. Кстати, когда был на интеловском ресурсе, там советовали снести интеловский SDK полностью и переустановить заново, т.е. сносить не просто деинсталлятором, но еще и залезть в каталоги system32 и sysWOW64 и удалить там все, связанное с интеловским ocl. Это файлы intelocl*.dll, opencl*.dll и прочие. Где-то тут - http://software.intel.com/en-us/forums/intel-opencl-sdk/. Найду - брошу более точный ссыль.
Полезные ссылки: http://software.intel.com/en-us/articles/opencl-release-notes/
И вот - особенно полезная: http://software.intel.com/en-us/forums/showthread.php?t=102023&o=a&s=lr, там советы Uri Levy (Intel) могут реально помочь. Короче, все равно игра с бубном.
Это на ЦПУ (у меня это девайс №1):
Вытащил параметр CLContextCreate(device) в параметр скрипта. Можно потыкать все варианты.
А вот интересно-то как:
Вот этот скрипт на 630-м билде как-то не так запускается. Никаких сообщений, входит в цикл, загружая камень на все 100. И не выходит за разумное время. Но у меня уже Intel runtime.
А вот интересно-то как:
Вот этот скрипт на 630-м билде как-то не так запускается. Никаких сообщений, входит в цикл, загружая камень на все 100. И не выходит за разумное время. Но у меня уже Intel runtime.
Перекомпилял. У меня работает.
Это на CPU такие результаты?! Ну если да - ты меня пугаешь...
Рано я обрадовался. Запустил - ни хрена внятного. Ни одной записи вааще в логе Экспертов. Хотя скрипт запустился и тут же заполнил собой весь камень. То есть он что-то молотит изо всех сил, но до CLContextCreate() так и не доходит (если бы дошел - что-то сказал бы, так?).
Что-то новенькое. Будто интеловский runtime не понимает код, скомпиленный на AMD SDK. OCL_Device ставил и 0, и -1. Без толку.
А вообще неудобно, что платформу выбрать нельзя. Надо бы такую возможность иметь. Надоело уже переинсталлировать.
Это на CPU такие результаты?! Ну если да - ты меня пугаешь...
Нет, на ГПУ. Но OpenCL устройство можно выбирать. Вот на ЦПУ:
Рано я обрадовался. Запустил - ни хрена внятного. Ни одной записи вааще в логе Экспертов. Хотя скрипт запустился и тут же заполнил собой весь камень. То есть он что-то молотит изо всех сил, но до CLContextCreate() так и не доходит (если бы дошел - что-то сказал бы, так?).
Что-то новенькое. Будто интеловский runtime не понимает код, скомпиленный на AMD SDK. OCL_Device ставил и 0, и -1. Без толку.
А вообще неудобно, что платформу выбрать нельзя. Надо бы такую возможность иметь. Надоело уже переинсталлировать.
Ну блин, вымогатель. :)
Ладно, держи исходник. Делай с ём что хошь.
Код не компилится на AMD SDK. По крайней мере OCL-код. OCL-программа компилируется уже во время выполнения mql-кода. В EX5-файле из оснастки OCL скомпилированы только функции моста mql/ocl-драйвер. Не думаю, что они компилируются в разный машинный код в зависимости от производителя драйвера. Хотя полностью прояснить этот момент могут только разработчики.
А Вы туда заглядывали? У меня, скажем, по этому пути ничего такого нет (но я скачивал и ставил только runtime, может, потому и нет).
И, во-вторых, я просто сделал intelocl.dll без полного пути. Она все равно наверняка регистрировалась при инсталляции runtime.
...
"Голый" intelocl.dll проверялся одним из первых. Файл с таким именем есть и в папке x64, и в x86.
Тогда не знаю, что делать. Сам замучился искать решение, пока Support Team не подсказала. Вероятно, это не полное решение, но на моем компутере оно все же заработало.
Наверно, в первую очередь надо научиться чисто удалять следы прежних SDK.