OpenCL not found - страница 5

 
Ilyas #:

Проблем не обнаружил

Ну да - так просто их не найти :)

Оказалось, что нужно запустить скрипт Wavelet (float запускал), а потом мой скрипт, и он уже даст такой лог

2022.10.26 23:41:17.494 Primer_03 (EURUSD,H1)   New_Size=3 Max_N=3
2022.10.26 23:41:17.711 Primer_03 (EURUSD,H1)   OpenCL: GPU device 'NVIDIA GeForce GTX 1660 SUPER' selected
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   Initialize=true
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   SetKernelsCount=true
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   KernelCreate=true
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   KernelCreate=true
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   SetBuffersCount=true
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   BufferFromArray=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   BufferFromArray=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   BufferFromArray=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   BufferFromArray=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   BufferFromArray=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   BufferFromArray=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   SetArgumentBuffer=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   SetArgumentBuffer=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   SetArgumentBuffer=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   SetArgumentBuffer=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   SetArgumentBuffer=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   SetArgumentBuffer=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   SetArgument=true
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   SetArgument=true
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   Execute=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   BufferRead=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   BufferRead=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   Execute=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   BufferRead=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   BufferRead=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   Execute=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   BufferRead=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   BufferRead=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   BufferRead=false
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   Задача №1 Таблица №3 с результатами классификации выборки.
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   Таблица №5 с результатами вычислений процента принадлежности классов к целевой.
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   Таблица №6 с  результатами вычислений процента откликов классов ко всей таблице (выборке).
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
2022.10.26 23:41:17.713 Primer_03 (EURUSD,H1)   -1
 
Aleksey Vyazmikin #:

Ну да - так просто их не найти :)

Оказалось, что нужно запустить скрипт Wavelet (float запускал), а потом мой скрипт, и он уже даст такой лог

Спасибо за уточнение.

Данная ошибка уже исправлена.
Исправление будет доступно в следующем билде.

Для работы в текущем билде следует перезапускать терминал, к сожалению.

 
Ilyas #:

Спасибо за уточнение.

Данная ошибка уже исправлена.
Исправление будет доступно в следующем билде.

Для работы в текущем билде следует перезапускать терминал, к сожалению.

Спасибо!

И всё же, Вам не кажется странным скорости по таблицам работы скриптов?

 
Aleksey Vyazmikin #:

Спасибо!

И всё же, Вам не кажется странным скорости по таблицам работы скриптов?

Да, кажется странным, быстро ответить не смогу.

Будем проводить тесты, разибраться.

Тут даже банальное выравнивание данных в памяти может значительно влиять на скорость доступа - уже сталкивались в своих задачах.

 
Ilyas #:

Да, кажется странным, быстро ответить не смогу.

Будем проводить тесты, разибраться.

Тут даже банальное выравнивание данных в памяти может значительно влиять на скорость доступа - уже сталкивались в своих задачах.

Это обнадёживает! С картами понятно - разберётесь, но я ума не приложу, почему процессора производительность упала в скрипте (BitonicSort) после замены карты - это загадка века! :)

 
Ilyas #:

Билд терминала какой ?

Билд 3476




Ilyas #:


Попробуйте удалить файл '%appdata%\MetaQuotes\Terminal\Community\mql5.opencl' и перезапустить терминал

В журнале должны появиться записи

2022.10.26 21:01:16.079    OpenCL    device performance test started
2022.10.26 21:01:17.236    OpenCL    device performance test successfully finished
2022.10.26 21:01:17.236    OpenCL    device #0: GPU 'NVIDIA GeForce GTX 1060 6GB' with OpenCL 3.0 (10 units, 1809 MHz, 6143 Mb, version 512.15, rating 4000)

Сделано!

К сожалению, ошибки не исчезли. 

Во вкладке "Эксперты":

CS 0 05:09:03.277 Evolution (EURUSD,H1) OpenCL: GPU device 'NVIDIA GeForce RTX 3080' selected

CS 0 05:09:05.549 Evolution (EURUSD,H1) Error of execution kernel SoftMax FeedForward: 5109

CS 0 05:09:05.549 Evolution (EURUSD,H1) Train -> 206

CS 0 05:09:23.288 FFT (EURUSD,H1) OpenCL: GPU device 'NVIDIA GeForce RTX 3080' selected

CS 0 05:09:23.291 FFT (EURUSD,H1) fft_init: Error in CLExecute. Error code=5109

CS 0 05:09:23.306 FFT (EURUSD,H1) Error in calculation FFT on GPU.

CS 0 05:09:39.959 MatrixMult (EURUSD,H1) OpenCL: GPU device 'NVIDIA GeForce RTX 3080' selected

CS 0 05:09:39.968 MatrixMult (EURUSD,H1) <kernel>:53:22: error: variables in the local address space can only be declared in the outermost scope of a kernel function

CS 0 05:09:39.968 MatrixMult (EURUSD,H1)       __local double submatrix_a[BLOCK_SIZE][BLOCK_SIZE];

CS 0 05:09:39.968 MatrixMult (EURUSD,H1)                      ^

CS 0 05:09:39.968 MatrixMult (EURUSD,H1) <kernel>:54:22: error: variables in the local address space can only be declared in the outermost scope of a kernel function

CS 0 05:09:39.968 MatrixMult (EURUSD,H1)       __local double submatrix_b[BLOCK_SIZE][BLOCK_SIZE];

CS 0 05:09:39.968 MatrixMult (EURUSD,H1)                      ^

CS 0 05:09:39.968 MatrixMult (EURUSD,H1)

CS 0 05:09:39.985 MatrixMult (EURUSD,H1) OpenCL program create failed. Error code=5105

CS 0 05:09:39.985 MatrixMult (EURUSD,H1) Error in OpenCL initialization. Error code=5105

CS 0 05:09:39.985 MatrixMult (EURUSD,H1) Error in calculation on GPU. Error code=5102

CS 0 05:09:46.785 Wavelet (EURUSD,H1) OpenCL: GPU device 'NVIDIA GeForce RTX 3080' selected

CS 0 05:09:46.788 Wavelet (EURUSD,H1) Error in BufferFromArray for data array. Error code=5112

CS 0 05:09:46.788 Wavelet (EURUSD,H1) Error in calculation on GPU. Error code=5112


В журнале:

CS 0 05:08:58.297 Terminal MetaTrader 5 x64 build 3476 started for MetaQuotes Software Corp.
CS 0 05:08:58.297 Terminal Windows 10 build 19044, 16 x Intel Core i7-10700KF  @ 3.80GHz, AVX, 23 / 31 Gb memory, 29 / 232 Gb disk, touchable, UAC, GMT+3
CS 0 05:08:58.297 Terminal C:\Users\iboot\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075
CS 0 05:08:59.002 Network '5005675229': authorized on MetaQuotes-Demo through Access Point EU 4 (ping: 60.69 ms, build 3476)
CS 0 05:08:59.002 Network '5005675229': previous successful authorization performed from 188.233.73.27 on 2022.10.27 05:07:07
CS 0 05:08:59.343 Network '5005675229': terminal synchronized with MetaQuotes Software Corp.: 0 positions, 0 orders, 104 symbols, 0 spreads
CS 0 05:08:59.343 Network '5005675229': trading has been enabled - hedging mode
CS 0 05:08:59.497 MQL5.community activated for 'CapitalPlus', balance: 28.80 (frozen: 1.62)
CS 0 05:08:59.762 MQL5.chats activated for 'CapitalPlus'
CS 0 05:09:01.831 Experts expert Evolution (EURUSD,H1) loaded successfully
CS 0 05:09:03.179 OpenCL opencl.dll successfully loaded
CS 0 05:09:03.202 OpenCL device #0: GPU 'NVIDIA GeForce RTX 3080' with OpenCL 3.0 (68 units, 1770 MHz, 10239 Mb, version 522.30, rating 20000)
CS 0 05:09:03.202 OpenCL device #1: CPU 'Intel(R) Core(TM) i7-10700KF CPU @ 3.80GHz' with OpenCL 2.1 (16 units, 3800 MHz, 32689 Mb, version 18.1.0.0920, rating 1111)
CS 0 05:09:23.214 Scripts script FFT (EURUSD,H1) loaded successfully
CS 0 05:09:23.306 Scripts script FFT (EURUSD,H1) removed
CS 0 05:09:26.584 Scripts script MatrixMult (EURUSD,H1) loaded successfully
CS 0 05:09:39.989 Scripts script MatrixMult (EURUSD,H1) removed
CS 0 05:09:42.480 Scripts script Wavelet (EURUSD,H1) loaded successfully

CS 0 05:09:46.803 Scripts script Wavelet (EURUSD,H1) removed


UPD
Интел запретила что-то скачивать, один специалист поделился облаком с OpenCL для процессоров без встроенной видеокарты (opencl_runtime_18.1_x64_setup.msi). Установил, теперь в устройствах OpenCL появился и процессор. Вот, только, к сожалению, проблемы это не решило.



И почему-то думает, что у меня виндоус 8, хотя образ 10-ки ставил

 
Aleksey Vyazmikin #:

Вы молодец, сделали очень многое для поиска причины проблемы!

Спасибо

 
Ivan Butko #:

Билд 3476

Сделано!

К сожалению, ошибки не исчезли. 
...

Я писал про FFT - не стоит его запускать на NVidia, в коде, используется вся локальная память ядер GPU, что-то в драйвере NVidia ломается при этом.

Если вот эту строчку кода

uint local_mem_size=(uint)CLGetInfoInteger(OpenCL.GetContext(),CL_DEVICE_LOCAL_MEM_SIZE);

заменить на

uint local_mem_size=(uint)(CLGetInfoInteger(OpenCL.GetContext(),CL_DEVICE_LOCAL_MEM_SIZE)*0.75);


То проблема в драйвере исчезает, но сам скрипт выдаёт ошибки.
Создавал этот скрипт не я и мне нужно время, чтобы разобраться в нём более детально.

 
На 1080ti FFT работает 
Драйвера одни из последних
 
Да
Ilyas #:


uint local_mem_size=(uint)(CLGetInfoInteger(OpenCL.GetContext(),CL_DEVICE_LOCAL_MEM_SIZE)*0.75);

да при таком подходе на double срабало ....!!!! но на float  не прокатило !

CS      0       18:07:27.453    FFT (EURUSD,H1) OpenCL: GPU device 'NVIDIA GeForce GT 1030' selected
CS      0       18:07:27.476    FFT (EURUSD,H1) FFT calculation for 16384 points.
CS      0       18:07:27.476    FFT (EURUSD,H1) time CPU=3758 microseconds, time GPU =335 microseconds, CPU/GPU ratio: 11.217910
CS      0       18:07:27.476    FFT (EURUSD,H1) Average error = 136194.616021