Error load opencl module clbuildprogram

After I updated "radeon-software-adrenalin-2020-21.4.1-win10-64bit-apr20.exe", it shows this error. How to fix it? THX! Here is log: NBMiner - Crypto GPU Miner 37.1 [21:59:51] INFO - ----...

After I updated «radeon-software-adrenalin-2020-21.4.1-win10-64bit-apr20.exe», it shows this error. How to fix it? THX!

Here is log:
NBMiner — Crypto GPU Miner 37.1
[21:59:51] INFO — ——————- System ——————-
[21:59:51] INFO — OS: Windows 10 Version 2004, 10.0.19041
[21:59:51] INFO — CPU: AMD Ryzen 5 2600X Six-Core Processor
[21:59:51] INFO — RAM: 5102 MB / 8142 MB
[21:59:51] INFO — VMEM: 10342 MB / 16846 MB
[21:59:51] INFO — CL_DRV: 21.4.1
[21:59:51] INFO — ——————- Config ——————-
[21:59:51] INFO — ALGO: ethash
[21:59:51] INFO — URL: stratum+tcp://es.huobipool.com:1800
[21:59:51] INFO — TEMP: 90C
[21:59:52] INFO — ——————- Device ——————-
[21:59:52] INFO — |ID|PCI| CC|Memory|CU|
[21:59:52] INFO — *| 0| 28| 800| 8192M|36| Radeon RX 590 Series
[21:59:52] INFO — ———————————————-
[21:59:52] INFO — ethash — Logging in to es.huobipool.com:1800 …
[21:59:52] INFO — ethash — Login succeeded.
[21:59:52] INFO — API: 0.0.0.0:22333
[21:59:52] INFO — API server started.
[21:59:52] INFO — ethash — New job: es.huobipool.com:1800, ID: d99c0b83, DIFF: 8.590G
[21:59:54] INFO — Device 0 started, Free mem = 8192 MB.
[21:59:54] ERROR — Error load opencl module: clBuildProgram
[21:59:54] ERROR — Error loading kernel for Radeon RX 590 Series[800].
[21:59:54] WARN — QMutex: destroying locked mutex

The same issue.

[08:14:40] INFO -  |ID|PCI|  CC|Memory|CU|
[08:14:40] INFO - *| 0|  3|1001| 4080M|11| Navi 14 [Radeon RX 5500/5500M / Pro 5500M]
[08:14:40] INFO - *| 1|  5| 800| 4080M|32| Radeon RX 570 Series
[08:14:40] INFO - ----------------------------------------------
[08:14:40] INFO - kawpow - Logging in to rvn-pool.beepool.org:9531 ...
[08:14:41] INFO - kawpow - Login succeeded.
[08:14:41] INFO - API:  0.0.0.0:22333
[08:14:41] INFO - API server started.
[08:14:41] INFO - Device 0 started, Free mem = 4080 MB.
[08:14:41] INFO - Device 1 started, Free mem = 4080 MB.
[08:14:41] INFO - kawpow - New job: rvn-pool.beepool.org:9531, ID: b1c594aa, HEIGHT: 1687602, DIFF: 2.147G
[08:14:41] INFO - mining.extranonce.subscribe succeeded.
[08:14:41] ERROR - Error load opencl module: clBuildProgram
[08:14:41] WARN - QMutex: destroying locked mutex
[08:14:41] ERROR - !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[08:14:41] ERROR - Mining program unexpected exit. 
[08:14:41] ERROR - Code: 1, Reason: Unknown error
[08:14:41] ERROR - Restart miner after 10 secs ... 
[08:14:41] ERROR - !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

C:UserssametDesktopNBMiner_37.1_WinNBMiner_Win>nbminer -a kawpow -o stratum-ravencoin.flypool.org:3333 -u RVcrkWquzzYDkfHdFJgYeh7sbpmG8kkp2k.default
[04:30:33] INFO - ----------------------------------------------
[04:30:33] INFO - |                                            |
[04:30:33] INFO - |                                            |
[04:30:33] INFO - |                                            |
[04:30:33] INFO - |                                            |
[04:30:33] INFO - |                                            |
[04:30:33] INFO - |                                            |
[04:30:33] INFO - |                                            |
[04:30:33] INFO - |         NBMiner - Crypto GPU Miner         |
[04:30:33] INFO - |                    37.1                    |
[04:30:33] INFO - |                                            |
[04:30:33] INFO - ----------------------------------------------
[04:30:33] INFO - ------------------- System -------------------
[04:30:33] INFO - OS:     Windows 10 Version 2009, 10.0.19042
[04:30:33] INFO - CPU:    AMD Ryzen 5 3600X 6-Core Processor
[04:30:33] INFO - RAM:    26757 MB / 32681 MB
[04:30:33] INFO - VMEM:   28474 MB / 37545 MB
[04:30:33] INFO - CL_DRV: 21.4.1
[04:30:33] INFO - ------------------- Config -------------------
[04:30:33] INFO - ALGO:   kawpow
[04:30:33] INFO - URL:    stratum-ravencoin.flypool.org:3333
[04:30:33] INFO - USER:   RVcrkWquzzYDkfHdFJgYeh7sbpmG8kkp2k.default
[04:30:33] INFO - TEMP:   90C
[04:30:33] INFO - ------------------- Device -------------------
[04:30:33] INFO -  |ID|PCI|  CC|Memory|CU|
[04:30:33] INFO - *| 0|  9| 800| 4096M|32| Radeon RX 570 Series
[04:30:33] INFO - ----------------------------------------------
[04:30:33] INFO - kawpow - Logging in to stratum-ravencoin.flypool.org:3333 ...
[04:30:33] INFO - kawpow - Login succeeded.
[04:30:33] INFO - API:  0.0.0.0:22333
[04:30:33] INFO - API server started.
[04:30:33] INFO - Device 0 started, Free mem = 4096 MB.
[04:30:34] ERROR - Error load opencl module: clBuildProgram
WARN - QMutex: destroying locked mutex
[04:30:34] ERROR - !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[04:30:34] ERROR - Mining program unexpected exit.
[04:30:34] ERROR - Code: 1, Reason: Unknown error
[04:30:34] ERROR - Restart miner after 10 secs ...
[04:30:34] ERROR - !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[04:30:45] INFO - ----------------------------------------------
[04:30:45] INFO - |                                            |
[04:30:45] INFO - |                                            |
[04:30:45] INFO - |                                            |
[04:30:45] INFO - |                                            |
[04:30:45] INFO - |                                            |
[04:30:45] INFO - |                                            |
[04:30:45] INFO - |                                            |
[04:30:45] INFO - |         NBMiner - Crypto GPU Miner         |
[04:30:45] INFO - |                    37.1                    |
[04:30:45] INFO - |                                            |
[04:30:45] INFO - ----------------------------------------------
[04:30:45] INFO - ------------------- System -------------------
[04:30:45] INFO - OS:     Windows 10 Version 2009, 10.0.19042
[04:30:45] INFO - CPU:    AMD Ryzen 5 3600X 6-Core Processor
[04:30:45] INFO - RAM:    26770 MB / 32681 MB
[04:30:45] INFO - VMEM:   28451 MB / 37545 MB
[04:30:45] INFO - CL_DRV: 21.4.1
[04:30:45] INFO - ------------------- Config -------------------
[04:30:45] INFO - ALGO:   kawpow
[04:30:45] INFO - URL:    stratum-ravencoin.flypool.org:3333
[04:30:45] INFO - USER:   RVcrkWquzzYDkfHdFJgYeh7sbpmG8kkp2k.default
[04:30:45] INFO - TEMP:   90C
[04:30:45] INFO - ------------------- Device -------------------
[04:30:45] INFO -  |ID|PCI|  CC|Memory|CU|
[04:30:45] INFO - *| 0|  9| 800| 4096M|32| Radeon RX 570 Series
[04:30:45] INFO - ----------------------------------------------
[04:30:45] INFO - kawpow - Logging in to stratum-ravencoin.flypool.org:3333 ...
[04:30:45] INFO - kawpow - Login succeeded.
[04:30:45] INFO - API:  0.0.0.0:22333
[04:30:45] INFO - API server started.
[04:30:45] INFO - Device 0 started, Free mem = 4096 MB.
[04:30:46] ERROR - Error load opencl module: clBuildProgram
WARN - QMutex: destroying locked mutex
[04:30:46] ERROR - !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[04:30:46] ERROR - Mining program unexpected exit.
[04:30:46] ERROR - Code: 1, Reason: Unknown error
[04:30:46] ERROR - Restart miner after 10 secs ...
[04:30:46] ERROR - !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
This file has been downloaded from https://www.dllme.com.

Bu şekilde bir hata alıyorum buna benzer hata alan yada çözümünü bilen varmı acaba

NiceHash Miner ошибка OpenCL

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

И вот одна из этих ошибок выскакивает при запуске NiceHash Miner или Clreleasedevice.

«Запуск программы невозможен, так как на компьютере отсутствует OpenCL.dll»

OpenCL – это особенная технология sebosf, позволяющая выполнить один процесс, используя в один промежуток времени процессор и видеокарту.

Причины появления «на компьютере отсутствует OpenCL.dll»

Причин может быть большое количество, вот самые распространённые:

  • Различные сбои реестра;
  • Засоренность операционной системы;
  • От вирусных атак;
  • Неправильное удаление программ;
  • Проблемная пиратская операционная система.

Способы устранения ошибки «на компьютере отсутствует OpenCL.dll»

  1. Первым делом нужно почистить реестр от лишнего мусора и убрать баги.

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

Скачать CCleaner Portable можно тут (данная версия не требует установки)

Запускаем CCleaner переходим в раздел «Options» и меняем язык на русский.  Далее в раздел «Реестр» и нажимаем на кнопку «Поиск проблем».

NiceHash Miner ошибка openCL.dll

После сканирования ошибок на 100% нажимаем на правую нижнюю кнопку, она почему-то не переведена.

NiceHash Miner ошибка openCL.dll

Сохраняем резервные копии в любом месте. Далее нажимаем «Исправить отмеченные». После этого можно закрывать программу CCleaner.

2. Вторым условием, для исправления данной ошибки является удаления всех драйверов, а именно драйвера видеокарт AMD или Nvidia. После удаления нужно поставить новые драйвера с официальных страниц.

Для полного удаления вссех драйверов, лучше использовать дополнительный софт. Мы будем использовать программу Display Driver Uninstaller (DDU).

Скачать можно на этой странице

После установки и распаковки запускаем DDU.

NiceHash Miner ошибка openCL.dll

  1. Сначала выбираем видеодрайвер который хотим удалить.
  2. Затем удаляем кеш этого драйвера.
  3. А вот теперь удаляем сам драйвер, после удаления компьютер перезагрузится.

Если у вас были или есть видеокарты от AMD, советуем запустить программу DDU и проделать такие же действия в программе, только для видеодрайвера AMD.

После этого можно установить новые драйвера с официальных сайтов AMD и Nvidia.

3. После этого скачиваем файл OpenCL.dll по ссылке ниже.

Скачать можно на этом странице

NiceHash Miner ошибка openCL.dll

Опуститесь ниже до бесплатного скачивания и скачайте одну из версий. Распакуйте скачанный архив. Внутри будет 2 файла, один из них под названием OpenCL.dll копируете и вставляете в папку C:WindowsSystem32.

Далее нам нужно зарегистрировать этот файл. На клавиатуре нажимаем сочетание клавиш Win+R (кнопка Win это кнопка с окном, возле левого Alt). В открывшемся окне пишем regsvr32.exe opencl.dll и нажимаем ОК.

NiceHash Miner ошибка openCL.dll

После этого перезагружаем компьютер и запускаем Nicehash Miner. После всех действий должна заработать.

Если опять такая же ошибка или похожая, то установим полный комплект Dll файлов.

Переходим по этой ссылке, и скачиваем OpenAL.

NiceHash Miner ошибка openCL.dll

В архиве запускаем exe файл и устанавливаем, после перезагружаем свой компьютер и запускаем свои программы для майнинга.

Если остались вопросы пиши в комментарии!

host code

#include "EdgeDetect.hpp" ///////////////////////////////////////////////////////////////// // Util Methods ///////////////////////////////////////////////////////////////// void cvDisplay(IplImage* image, char windowName[], int x, int y) { CvSize imageSize = cvGetSize(image); cvNamedWindow(windowName); cvResizeWindow(windowName, imageSize.width, imageSize.height); cvMoveWindow(windowName, x, y); cvShowImage(windowName,image); } //converts raw image into intensity values cl_uint ***cvImageToClArray(IplImage* raw) { int width = raw->width; int height = raw->height; cl_uint ***imageArray = (cl_uint***)malloc(width * sizeof(cl_uint**)); for (int i = 0 ; i < width; i++) { imageArray = (cl_uint**)malloc(height * sizeof(cl_uint*)); for (int j = 0 ; j < height; j++) { imageArray = (cl_uint*)malloc(4 * sizeof(cl_uint)); } } //generate intensity image for (int y=0; y<raw->height; y++) for (int x=0; x<raw->width; x++) { CvScalar colourValue = cvGet2D(raw,y,x); imageArray[0] = colourValue.val[0]; //B imageArray[1] = colourValue.val[1]; //G imageArray[2] = colourValue.val[2]; //R imageArray[3] = 0; //A } return imageArray; } //converts raw image into intensity values IplImage* clArryToCvImage(cl_uint** output, int resultWidth, int resultHeight) { CvSize size; size.width = resultWidth; size.height = resultHeight; IplImage* resultImg = cvCreateImage(size,IPL_DEPTH_8U,1); //generate intensity image for (int y=0; y<resultHeight; y++) for (int x=0; x<resultWidth; x++) { CvScalar colourSelect; colourSelect.val[0] = output; cvSet2D(resultImg,y,x,colourSelect); } return resultImg; } // Converts the contents of a file into a string std::string convertToString(const char *filename) { size_t size; char* str; std::string s; std::fstream f(filename, (std::fstream::in | std::fstream::binary)); if(f.is_open()) { size_t fileSize; f.seekg(0, std::fstream::end); size = fileSize = f.tellg(); f.seekg(0, std::fstream::beg); str = new char[size+1]; if(!str) { f.close(); return NULL; } f.read(str, fileSize); f.close(); str[size] = ''; s = str; return s; } return NULL; } ///////////////////////////////////////////////////////////////// // Serial (OpenCV) Methods ///////////////////////////////////////////////////////////////// int cvDoFindEdges(IplImage* cvImg) { //gray scale representation of raw image IplImage* cvImgIntensity = cvGenerateIntensityImage(cvImg); //resultant image after Sobel operator applied to raw image IplImage* cvImgSobel = cvGenerateSobelImage(cvImgIntensity); cvDisplay(cvImg,"raw",0,0); cvDisplay(cvImgIntensity,"intensity",0,0); cvDisplay(cvImgSobel,"imgSobel",0,0); cvWaitKey(0); cvDestroyAllWindows(); cvReleaseImage(&cvImgSobel); } //converts raw image into intensity values IplImage* cvGenerateIntensityImage(IplImage* raw) { IplImage* intensityImage = cvCreateImage(cvGetSize(raw),IPL_DEPTH_8U,1); //generate intensity image for (int y=0; y<raw->height; y++) for (int x=0; x<raw->width; x++) { CvScalar colourValue = cvGet2D(raw,y,x); CvScalar colourSelect; colourSelect.val[0] = (colourValue.val[0]+colourValue.val[1]+colourValue.val[2])/3; cvSet2D(intensityImage,y,x,colourSelect); } return intensityImage; } //applies Sobel Operator IplImage* cvGenerateSobelImage(IplImage* intensityImage) { IplImage* sobelImg = cvCreateImage(cvGetSize(intensityImage),IPL_DEPTH_8U, 1); //matrix representation of Sobel image. to ensure negative values are not stored as 0 CvMat* sobelMat = cvCreateMat(intensityImage->height,intensityImage->width,CV_64FC1); //generate sobel image for (int y=0; y<intensityImage->height; y++) for (int x=0; x<intensityImage->width; x++) { double Gx; double Gy; double G; if ((y==0) || (y==intensityImage->height-1) || (x==0) || (x==intensityImage->width-1)) { G = cvGet2D(intensityImage,y,x).val[0]; } else { Gx = cvGet2D(intensityImage,y-1,x-1).val[0] * cvSobelOpX[0][0] + cvGet2D(intensityImage,y-1,x).val[0] * cvSobelOpX[0][1] + cvGet2D(intensityImage,y-1,x+1).val[0] * cvSobelOpX[0][2] + cvGet2D(intensityImage,y,x-1).val[0] * cvSobelOpX[1][0] + cvGet2D(intensityImage,y,x).val[0] * cvSobelOpX[1][1] + cvGet2D(intensityImage,y,x+1).val[0] * cvSobelOpX[1][2] + cvGet2D(intensityImage,y+1,x-1).val[0] * cvSobelOpX[2][0] + cvGet2D(intensityImage,y+1,x).val[0] * cvSobelOpX[2][1] + cvGet2D(intensityImage,y+1,x+1).val[0] * cvSobelOpX[2][2]; Gx = abs(Gx); Gy = cvGet2D(intensityImage,y-1,x-1).val[0] * cvSobelOpY[0][0] + cvGet2D(intensityImage,y-1,x).val[0] * cvSobelOpY[0][1] + cvGet2D(intensityImage,y-1,x+1).val[0] * cvSobelOpY[0][2] + cvGet2D(intensityImage,y,x-1).val[0] * cvSobelOpY[1][0] + cvGet2D(intensityImage,y,x).val[0] * cvSobelOpY[1][1] + cvGet2D(intensityImage,y,x+1).val[0] * cvSobelOpY[1][2] + cvGet2D(intensityImage,y+1,x-1).val[0] * cvSobelOpY[2][0] + cvGet2D(intensityImage,y+1,x).val[0] * cvSobelOpY[2][1] + cvGet2D(intensityImage,y+1,x+1).val[0] * cvSobelOpY[2][2]; Gy = abs(Gy); G = Gx + Gy; } CvScalar colourSelect; colourSelect.val[0] = G; cvmSet(sobelMat,y,x,G); cvSet2D(sobelImg,y,x,colourSelect); } return sobelImg; } ///////////////////////////////////////////////////////////////// // Parallel (OpenCL) Methods ///////////////////////////////////////////////////////////////// //todo: complete this //cl_mem clDoCreateImage( // char* filename, // cl_context context) //{ // //todo: temp test code // IplImage* tempRaw = cvLoadImage(filename, 1); // size_t width = (size_t)(tempRaw->width); // size_t height = (size_t)(tempRaw->height); // //todo: maybe let OpenCL deal with this (it will be width*bytes-per-pixel // size_t rowpitch = 0; //width*4; // // void* image = fopen(filename,"rb"); // if (image != NULL) { // std::cout<<"image loaded successfully: " << filename << "n"; // } else { // std::cout<<"image could not be loaded: " << filename << "n"; // } // // // // set the image format properties and option flags // cl_image_format format; // format.image_channel_order = CL_RGBA; // format.image_channel_data_type = CL_UNORM_INT8; // //format.image_channel_data_type = CL_UNSIGNED_INT8; // // cl_mem_flags flags; //// flags = CL_MEM_READ_ONLY | CL_MEM_USE_HOST_PTR; // flags = CL_MEM_READ_ONLY; // // cl_int error = CL_SUCCESS; // // std::cout<<"BEFOREn"; // // cl_mem myClImage = clCreateImage2D( // context, // a valid OpenCL context // flags, // option flags [1] // &format, // image format properties [2] // width, // width of the image in pixels // height, // height of the image in pixels // rowpitch, // scan-line pitch in bytes [3] // image, // pointer to the image data // &error // on return, the result code // ); // // std::cout<<"AFTERn"; // // if(image == 0 || error != CL_SUCCESS) // { // std::cout<<"Error: Could not create 2D image (clCreateImage2D)n"; // } // return myClImage; //} // Host Initialization: Allocate & init memory on the host. Print input array. void clInitializeHost(IplImage* cvRawImg) { input = NULL; output = NULL; input = cvImageToClArray(cvRawImg); if(input==NULL) { std::cout<<"Error: Failed to allocate 'input' host memory. (input)n"; return; } output = (cl_uint**)malloc(width * sizeof(cl_uint*)); for (int i = 0 ; i < width; i++) output = (cl_uint*)malloc(height * sizeof(cl_uint)); if(output==NULL) { std::cout<<"Error: Failed to allocate 'output' host memory. (input)n"; return; } } // OpenCL related initialization // -> Create Context, Device list, Command Queue // -> Create OpenCL memory buffer objects // -> Load CL file, compile, link CL source // -> Build program and kernel objects void clInitialize(void) { cl_int status = 0; size_t deviceListSize; ///////////////////////////////////////////////////////////////// // Create an OpenCL context ///////////////////////////////////////////////////////////////// //todo: experiment with CL_DEVICE_TYPE_ ALL, DEFAULT, GPU, ACCELERATOR, CPU context = clCreateContextFromType(0, CL_DEVICE_TYPE_CPU, NULL, NULL, &status); if(status != CL_SUCCESS) { std::cout<<"Error: Creating Context. (clCreateContextFromType)n"; return; } /* First, get the size of device list data */ status = clGetContextInfo(context, CL_CONTEXT_DEVICES, 0, NULL, &deviceListSize); if(status != CL_SUCCESS) { std::cout<< "Error: Getting Context Info (device list size, clGetContextInfo)n"; return; } ///////////////////////////////////////////////////////////////// // Detect OpenCL devices ///////////////////////////////////////////////////////////////// devices = (cl_device_id *)malloc(deviceListSize); if(devices == 0) { std::cout<<"Error: No devices found.n"; return; } /* Now, get the device list data */ status = clGetContextInfo( context, CL_CONTEXT_DEVICES, deviceListSize, devices, NULL); if(status != CL_SUCCESS) { std::cout<<"Error: Getting Context Info (device list, clGetContextInfo)n"; return; } ///////////////////////////////////////////////////////////////// // Create an OpenCL command queue ///////////////////////////////////////////////////////////////// /* The block is to move the declaration of prop closer to its use */ //todo: set this to 0 later maybe cl_command_queue_properties prop = 0; if (PROFILE) { prop |= CL_QUEUE_PROFILING_ENABLE; } commandQueue = clCreateCommandQueue( context, devices[0], prop, &status); if(status != CL_SUCCESS) { std::cout<<"Creating Command Queue. (clCreateCommandQueue)n"; return; } ///////////////////////////////////////////////////////////////// // Create OpenCL memory buffers ///////////////////////////////////////////////////////////////// inputBuffer = clCreateBuffer( context, CL_MEM_READ_ONLY | CL_MEM_USE_HOST_PTR, sizeof(cl_uint) * 4 * width * height, input, &status); if(status == CL_INVALID_CONTEXT) { //context not valid std::cout<<"Error: clCreateBuffer - invalid context - (inputBuffer)n"; return; } if(status == CL_INVALID_VALUE) { //flags value not valid std::cout<<"Error: clCreateBuffer - invalid flags value - (inputBuffer)n"; return; } if(status == CL_INVALID_BUFFER_SIZE) { //size==0 or size>CL_DEVICE_MAX_MEM_ALLOC_SIZE std::cout<<"Error: clCreateBuffer - invalid buffer size - (inputBuffer)n"; return; } if(status == CL_INVALID_HOST_PTR) { //(host_ptr == NULL) && (CL_MEM_USE_HOST_PTR || CL_MEM_COPY_HOST_PTR in flags) //|| //(host_ptr != NULL) && (CL_MEM_COPY_HOST_PTR || CL_MEM_USE_HOST_PTR _not_ in flags) bool isNull = (input==NULL); std::cout<<"Error: clCreateBuffer - invalid host pointer - (inputBuffer) - NULL==" << isNull << "n"; return; } if(status == CL_MEM_OBJECT_ALLOCATION_FAILURE) { //there is a failure to allocate memory for buffer object std::cout<<"Error: clCreateBuffer - mem object alloc failure - (inputBuffer)n"; return; } if(status == CL_OUT_OF_HOST_MEMORY) { //there is a failure to allocate resources required by the OpenCL implementation on the host std::cout<<"Error: clCreateBuffer - out of host mem - (inputBuffer)n"; return; } if(status != CL_SUCCESS) { std::cout<<"Error: clCreateBuffer (inputBuffer)n"; return; } outputBuffer = clCreateBuffer( context, CL_MEM_READ_ONLY | CL_MEM_USE_HOST_PTR, sizeof(cl_uint) * width * height, output, &status); if(status != CL_SUCCESS) { std::cout<<"Error: clCreateBuffer (outputBuffer)n"; return; } sobelOpXBuffer = clCreateBuffer( context, CL_MEM_READ_ONLY | CL_MEM_USE_HOST_PTR, sizeof(cl_uint ) * maskWidth * maskHeight, clSobelOpX, &status); if(status != CL_SUCCESS) { std::cout<<"Error: clCreateBuffer (sobelOpXBuffer)n"; return; } sobelOpYBuffer = clCreateBuffer( context, CL_MEM_READ_ONLY | CL_MEM_USE_HOST_PTR, sizeof(cl_uint ) * maskWidth * maskHeight, clSobelOpY, &status); if(status != CL_SUCCESS) { std::cout<<"Error: clCreateBuffer (sobelOpYBuffer)n"; return; } ///////////////////////////////////////////////////////////////// // Load CL file, build CL program object, create CL kernel object ///////////////////////////////////////////////////////////////// const char * filename = "EdgeDetect_Kernels.cl"; std::string sourceStr = convertToString(filename); const char * source = sourceStr.c_str(); size_t sourceSize[] = { strlen(source) }; std::cout << source << "n"; program = clCreateProgramWithSource( context, 1, &source, sourceSize, &status); if(status != CL_SUCCESS) { std::cout<<"Error: Loading Binary into cl_program (clCreateProgramWithSource)n"; return; } /* create a cl program executable for all the devices specified */ status = clBuildProgram(program, 1, devices, NULL, NULL, NULL); //error checking code streamsdk::SDKCommon sampleCommon; if(!sampleCommon.checkVal(status,CL_SUCCESS,"clBuildProgram failed.")) { //print kernel compilation error char programLog[1024]; status = clGetProgramBuildInfo(program, devices[0], CL_PROGRAM_BUILD_LOG, 1024, programLog, 0); std::cout<<programLog<<std::endl; return; } if(status == CL_INVALID_PROGRAM) { //if program is not a valid program object. std::cout<<"Error: Invalid program object. (clBuildProgram)n"; return; } if(status == CL_INVALID_VALUE) { // (device_list == NULL) && (num_devices > 0) // || // (device_list != NULL) && (num_devices ==0) // || // (pfn_notify == NULL) && (user_data != NULL) std::cout<<"Error: Invalid value - device_list==NULL:" << (devices==NULL) << " - (clBuildProgram)n"; return; } if(status == CL_INVALID_DEVICE) { // OpenCL devices listed in device_list are not in the list of // devices associated with program. std::cout<<"Error: Invalid device. (clBuildProgram)n"; return; } if(status == CL_INVALID_BINARY) { // if program is created with clCreateWithProgramBinary and // devices listed in device_list do not have a valid program binary loaded. std::cout<<"Error: Invalid binary. (clBuildProgram)n"; return; } if(status == CL_INVALID_BUILD_OPTIONS) { // if the build options specified by options are invalid std::cout<<"Error: Invalid build options. (clBuildProgram)n"; return; } if(status == CL_INVALID_OPERATION) { // if the build of a program executable for any of the devices // listed in device_list by a previous call to clBuildProgram for program has not // completed // || // if there are kernel objects attached to program. std::cout<<"Error: Invalid operation. (clBuildProgram)n"; return; } if(status == CL_COMPILER_NOT_AVAILABLE) { // CL_COMPILER_NOT_AVAILABLE if program is created with // clCreateProgramWithSource and a compiler is not available i.e. // CL_DEVICE_COMPILER_AVAILABLE specified in table 4.3 is set to CL_FALSE. std::cout<<"Error: Compiler not available. (clBuildProgram)n"; return; } if(status == CL_BUILD_PROGRAM_FAILURE) { // if there is a failure to build the program executable. // This error will be returned if clBuildProgram does not return until the build has // completed. std::cout<<"Error: Build program failure. (clBuildProgram)n"; return; } if(status == CL_OUT_OF_HOST_MEMORY) { // if there is a failure to allocate resources required by the // OpenCL implementation on the host. std::cout<<"Error: Out of host memory. (clBuildProgram)n"; return; } if(status != CL_SUCCESS) { std::cout<<"Error: Building Program (clBuildProgram)n"; return; } /* get a kernel object handle for a kernel with the given name */ kernel = clCreateKernel(program, "edgeDetectKernel", &status); if(status != CL_SUCCESS) { std::cout<<"Error: Creating Kernel from program. (clCreateKernel)n"; return; } } // Run OpenCL program // -> Bind host variables to kernel arguments // -> Run the CL kernel void clRunKernels(void) { cl_int status; cl_event events[2]; size_t globalThreads[1]; size_t localThreads[1]; globalThreads[0] = width*height; localThreads[0] = 1; ////////////////////////////////////////// // Set appropriate arguments to the kernel ////////////////////////////////////////// /* the output array to the kernel */ status = clSetKernelArg( kernel, 0, sizeof(cl_mem), (void *)&outputBuffer); if(status != CL_SUCCESS) { std::cout<<"Error: Setting kernel argument. (output)n"; return; } /* the input array to the kernel */ status = clSetKernelArg( kernel, 1, sizeof(cl_mem), (void *)&inputBuffer); if(status != CL_SUCCESS) { std::cout<<"Error: Setting kernel argument. (input)n"; return; } status = clSetKernelArg( kernel, 2, sizeof(cl_mem), (void *)&sobelOpXBuffer); if(status != CL_SUCCESS) { std::cout<<"Error: Setting kernel argument. (sobelx)n"; return; } status = clSetKernelArg( kernel, 3, sizeof(cl_mem), (void *)&sobelOpYBuffer); if(status != CL_SUCCESS) { std::cout<<"Error: Setting kernel argument. (sobely)n"; return; } cl_uint2 inputDimensions = {width, height}; status = clSetKernelArg( kernel, 3, sizeof(cl_uint2), (void *)&inputDimensions); if(status != CL_SUCCESS) { std::cout<<"Error: Setting kernel argument. (inputDimensions)n"; return; } cl_uint2 sobelDimensions = {maskWidth, maskHeight}; status = clSetKernelArg( kernel, 4, sizeof(cl_uint2), (void *)&sobelDimensions); if(status != CL_SUCCESS) { std::cout<<"Error: Setting kernel argument. (sobelDimensions)n"; return; } ////////////////////////////////////////// // Enqueue a kernel run call. ////////////////////////////////////////// status = clEnqueueNDRangeKernel( commandQueue, kernel, 1, NULL, globalThreads, localThreads, 0, NULL, &events[0]); if(status != CL_SUCCESS) { std::cout<<"Error: Enqueueing kernel onto command queue. (clEnqueueNDRangeKernel)n"; return; } ////////////////////////////////////////// // wait for the kernel call to finish execution ////////////////////////////////////////// status = clWaitForEvents(1, &events[0]); if(status != CL_SUCCESS) { std::cout<<"Error: Waiting for kernel run to finish. (clWaitForEvents 0)n"; return; } if (PROFILE) { long long kernelsStartTime; long long kernelsEndTime; status = clGetEventProfilingInfo( events[0], CL_PROFILING_COMMAND_START, sizeof(long long), &kernelsStartTime, NULL); if(status != CL_SUCCESS) { std::cout<<"Error: clGetEventProfilingInfo failed (start)n"; return; } status = clGetEventProfilingInfo( events[0], CL_PROFILING_COMMAND_END, sizeof(long long), &kernelsEndTime, NULL); if(status != CL_SUCCESS) { std::cout<<"Error: clGetEventProfilingInfo failed (end)n"; return; } /* Compute total time (also convert from nanoseconds to seconds) */ long long totalTime = (double)(kernelsEndTime - kernelsStartTime)/1e9; std::cout<<"TIME: " << totalTime << "n"; } clReleaseEvent(events[0]); ////////////////////////////////////////// // Enqueue readBuffer ////////////////////////////////////////// status = clEnqueueReadBuffer( commandQueue, outputBuffer, CL_TRUE, 0, width * height * sizeof(cl_uint), output, 0, NULL, &events[1]); if(status != CL_SUCCESS) { std::cout <<"Error: clEnqueueReadBuffer failed. (clEnqueueReadBuffer)n"; } ////////////////////////////////////////// // Wait for the read buffer to finish execution ////////////////////////////////////////// status = clWaitForEvents(1, &events[1]); if(status != CL_SUCCESS) { std::cout<<"Error: Waiting for read buffer call to finish. (clWaitForEvents)n"; return; } clReleaseEvent(events[1]); } // Release OpenCL resources (Context, Memory etc.) void clCleanup(void) { cl_int status; status = clReleaseKernel(kernel); if(status != CL_SUCCESS) { std::cout<<"Error: In clReleaseKernel n"; return; } status = clReleaseProgram(program); if(status != CL_SUCCESS) { std::cout<<"Error: In clReleaseProgramn"; return; } status = clReleaseMemObject(inputBuffer); if(status != CL_SUCCESS) { std::cout<<"Error: In clReleaseMemObject (inputBuffer)n"; return; } status = clReleaseMemObject(outputBuffer); if(status != CL_SUCCESS) { std::cout<<"Error: In clReleaseMemObject (outputBuffer)n"; return; } status = clReleaseMemObject(sobelOpXBuffer); if(status != CL_SUCCESS) { std::cout<<"Error: In clReleaseMemObject (sobelOpXBuffer)n"; return; } status = clReleaseMemObject(sobelOpYBuffer); if(status != CL_SUCCESS) { std::cout<<"Error: In clReleaseMemObject (sobelOpYBuffer)n"; return; } status = clReleaseCommandQueue(commandQueue); if(status != CL_SUCCESS) { std::cout<<"Error: In clReleaseCommandQueuen"; return; } status = clReleaseContext(context); if(status != CL_SUCCESS) { std::cout<<"Error: In clReleaseContextn"; return; } } // Releases program's resources void clCleanupHost(void) { if(input != NULL) { free(input); input = NULL; } if(output != NULL) { free(output); output = NULL; } if(clSobelOpX != NULL) { free(output); output = NULL; } if(clSobelOpY != NULL) { free(output); output = NULL; } if(devices != NULL) { free(devices); devices = NULL; } } /*Display OpenCL system info */ void clPrintInfo() { int MAX_DEVICES = 10; size_t p_size; size_t arr_tsize[3]; size_t ret_size; char param[100]; cl_uint entries; cl_ulong long_entries; cl_bool bool_entries; cl_device_id devices[MAX_DEVICES]; size_t num_devices; cl_device_local_mem_type mem_type; cl_device_type dev_type; cl_device_fp_config fp_conf; cl_device_exec_capabilities exec_cap; clGetDeviceIDs( NULL, CL_DEVICE_TYPE_DEFAULT, MAX_DEVICES, devices, &num_devices); printf("Found Devices:tt%dn", num_devices); for (int i = 0; i < num_devices; i++) { printf("nDevice: %dnn", i); clGetDeviceInfo(devices, CL_DEVICE_TYPE, sizeof(dev_type), &dev_type, &ret_size); printf("tDevice Type:tt"); if (dev_type & CL_DEVICE_TYPE_GPU) printf("CL_DEVICE_TYPE_GPU "); if (dev_type & CL_DEVICE_TYPE_CPU) printf("CL_DEVICE_TYPE_CPU "); if (dev_type & CL_DEVICE_TYPE_ACCELERATOR) printf("CL_DEVICE_TYPE_ACCELERATOR "); if (dev_type & CL_DEVICE_TYPE_DEFAULT) printf("CL_DEVICE_TYPE_DEFAULT "); printf("n"); clGetDeviceInfo(devices, CL_DEVICE_NAME, sizeof(param), param, &ret_size); printf("tName: ttt%sn", param); clGetDeviceInfo(devices, CL_DEVICE_VENDOR, sizeof(param), param, &ret_size); printf("tVendor: tt%sn", param); clGetDeviceInfo(devices, CL_DEVICE_VENDOR_ID, sizeof(cl_uint), &entries, &ret_size); printf("tVendor ID:tt%dn", entries); clGetDeviceInfo(devices, CL_DEVICE_VERSION, sizeof(param), param, &ret_size); printf("tVersion:tt%sn", param); clGetDeviceInfo(devices, CL_DEVICE_PROFILE, sizeof(param), param, &ret_size); printf("tProfile:tt%sn", param); clGetDeviceInfo(devices, CL_DRIVER_VERSION, sizeof(param), param, &ret_size); printf("tDriver: tt%sn", param); clGetDeviceInfo(devices, CL_DEVICE_EXTENSIONS, sizeof(param), param, &ret_size); printf("tExtensions:tt%sn", param); clGetDeviceInfo(devices, CL_DEVICE_MAX_WORK_ITEM_SIZES, 3 * sizeof(size_t), arr_tsize, &ret_size); printf("tMax Work-Item Sizes:t(%d,%d,%d)n", arr_tsize[0], arr_tsize[1], arr_tsize[2]); clGetDeviceInfo(devices, CL_DEVICE_MAX_WORK_GROUP_SIZE, sizeof(size_t), &p_size, &ret_size); printf("tMax Work Group Size:t%dn", p_size); clGetDeviceInfo(devices, CL_DEVICE_MAX_COMPUTE_UNITS, sizeof(cl_uint), &entries, &ret_size); printf("tMax Compute Units:t%dn", entries); clGetDeviceInfo(devices, CL_DEVICE_MAX_CLOCK_FREQUENCY, sizeof(cl_uint), &entries, &ret_size); printf("tMax Frequency (Mhz):t%dn", entries); clGetDeviceInfo(devices, CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE, sizeof(cl_uint), &entries, &ret_size); printf("tCache Line (bytes):t%dn", entries); clGetDeviceInfo(devices, CL_DEVICE_GLOBAL_MEM_SIZE, sizeof(cl_ulong), &long_entries, &ret_size); printf("tGlobal Memory (MB):t%llun", long_entries / 1024 / 1024); clGetDeviceInfo(devices, CL_DEVICE_LOCAL_MEM_SIZE, sizeof(cl_ulong), &long_entries, &ret_size); printf("tLocal Memory (MB):t%llun", long_entries / 1024 / 1024); clGetDeviceInfo(devices, CL_DEVICE_LOCAL_MEM_TYPE, sizeof(cl_device_local_mem_type), &mem_type, &ret_size); if (mem_type & CL_LOCAL) printf("tLocal Memory Type:tCL_LOCALn"); else if (mem_type & CL_GLOBAL) printf("tLocal Memory Type:tCL_GLOBALn"); else printf("tLocal Memory Type:tUNKNOWNn"); clGetDeviceInfo(devices, CL_DEVICE_MAX_MEM_ALLOC_SIZE, sizeof(cl_ulong), &long_entries, &ret_size); printf("tMax Mem Alloc (MB):t%llun", long_entries / 1024 / 1024); clGetDeviceInfo(devices, CL_DEVICE_MAX_PARAMETER_SIZE, sizeof(size_t), &p_size, &ret_size); printf("tMax Param Size (MB):t%dn", p_size); clGetDeviceInfo(devices, CL_DEVICE_MEM_BASE_ADDR_ALIGN, sizeof(cl_uint), &entries, &ret_size); printf("tBase Mem Align (bits):t%dn", entries); clGetDeviceInfo(devices, CL_DEVICE_ADDRESS_BITS, sizeof(cl_uint), &entries, &ret_size); printf("tAddress Space (bits):t%dn", entries); clGetDeviceInfo(devices, CL_DEVICE_IMAGE_SUPPORT, sizeof(cl_bool), &bool_entries, &ret_size); printf("tImage Support:tt%dn", bool_entries); clGetDeviceInfo(devices, CL_DEVICE_TYPE, sizeof(fp_conf), &fp_conf, &ret_size); printf("tFloat Functionality:t"); if (fp_conf & CL_FP_DENORM) printf("DENORM support "); if (fp_conf & CL_FP_ROUND_TO_NEAREST) printf("Round to nearest support "); if (fp_conf & CL_FP_ROUND_TO_ZERO) printf("Round to zero support "); if (fp_conf & CL_FP_ROUND_TO_INF) printf("Round to +ve/-ve infinity support "); if (fp_conf & CL_FP_FMA) printf("IEEE754 fused-multiply-add support "); if (fp_conf & CL_FP_INF_NAN) printf("INF and NaN support "); printf("n"); clGetDeviceInfo(devices, CL_DEVICE_ERROR_CORRECTION_SUPPORT, sizeof(cl_bool), &bool_entries, &ret_size); printf("tECC Support:tt%dn", bool_entries); clGetDeviceInfo(devices, CL_DEVICE_EXECUTION_CAPABILITIES, sizeof(cl_device_exec_capabilities), &exec_cap, &ret_size); printf("tExec Functionality:t"); if (exec_cap & CL_EXEC_KERNEL) printf("CL_EXEC_KERNEL "); if (exec_cap & CL_EXEC_NATIVE_KERNEL) printf("CL_EXEC_NATIVE_KERNEL "); printf("n"); clGetDeviceInfo(devices, CL_DEVICE_ENDIAN_LITTLE, sizeof(cl_bool), &bool_entries, &ret_size); printf("tLittle Endian Device:t%dn", bool_entries); clGetDeviceInfo(devices, CL_DEVICE_PROFILING_TIMER_RESOLUTION, sizeof(size_t), &p_size, &ret_size); printf("tProfiling Res (ns):t%dn", p_size); clGetDeviceInfo(devices, CL_DEVICE_AVAILABLE, sizeof(cl_bool), &bool_entries, &ret_size); printf("tDevice Available:t%dn", bool_entries); } } int main(int argc, char * argv[]) { ////////////////////////////// // Init ////////////////////////////// IplImage* cvRaw = cvLoadImage("raw.bmp", 1); maskWidth = 3; maskHeight = 3; width = cvRaw->width; height = cvRaw->height; ////////////////////////////// // Serial (OpenCV) ////////////////////////////// // cvDoFindEdges(cvRaw); ////////////////////////////// // Parallel (OpenCL) ////////////////////////////// clPrintInfo(); clInitializeHost(cvRaw); // Initialize Host application clInitialize(); // Initialize OpenCL resources clRunKernels(); // Run the CL program IplImage* clSobel = clArryToCvImage(output,width,height); cvDisplay(clSobel,"clSobel",0,0); clCleanup(); // Releases OpenCL resources clCleanupHost(); // Release host resources return 0; }

Показать сообщения за  Поле сортировки  

У кого наблюдаются проблемы с совместимостью в майнинге эфира на PhoenixMiner с Radeon RX 6600 XT совместно с другими Radeon (RX 5700, 6700 — 6900), например, отваливаются карты с ошибками Failed to compile program: clBuildProgram (-11), Unable to prepare kernels: clCreateKernel (-46). Проблема частично решалась переводом в -clkernel 0, но при этом несколько падал хэшрейт и появлялось примерно 2-4% Stale шар.

Сейчас вышла версия майнера PhoenixMiner_5.9b (оригинальная ссылка). Пока тестирую, но с -clkernel 1 работает, что как бы намекает, что будет немного выше и стабильнее хэшрейт и мало Stale шар.

Сейчас легче трейдить, а не майнить, тем более с роботами, мне вот нрав сигналы для криптовалют основаны на аналитической информации от опытных и профессиональных трейдеров. Несмотря на динамичность криптовалютного рынка, сигналы срабатывают с высокой точностью.

  1. 07-20-2018 07:02 AM


    #1

    aShobon no está en línea


    ROG Junior Member

    Array


    Need help fixing Error: OpenCL ERROR: clBuildProgram(-42) in Realbench benchmark

    Hi, this is my first post on the forums. I’m on an EVGA Nvidia 1080 ti.

    I tried to use the benchmark function of RealBench, but it would always fail the OpenCL test with that error every time. There is no crashing or anything, just instantly fails/skips the test. The error is always Error: OpenCL ERROR: clBuildProgram(-42).

    Here’s what I’ve done to try and fix this, but to no avail:
    1) sfc /scannow on cmd. No verification issues.
    2) Exit the Precision XOC process. Still same error regardless of whether that’s running or not.
    3) Moved the RealBench folder from my secondary drive to a location on my C drive.
    4) Changed from overclocked GPU profile to factory profile. Still the same error.

    Anyone know what else I could do to troubleshoot?

    Thanks!


  2. 07-29-2018 12:14 PM


    #2

    meankeys no está en línea


    ROG Guru: Brown Belt

    Array
    meankeys PC Specs

    meankeys PC Specs
    Motherboard Rampage VI Apex / Maximus IX APEX / Rampage V EX V10
    Processor 7920X / 5960X / 6950X / 7700K
    Memory (part number) G.Skill Trident Z — 16GB
    Graphics Card #1 Zotac 1080 Ti
    Graphics Card #2 Zotac 1080 Ti
    Graphics Card #3 ASUS STRIX GTX 1080 OC
    Monitor 3 X ASUS V248Q
    Storage #1 Samsung 950 Pro
    CPU Cooler Cool Express SS
    Power Supply Thermaltake Tough Power Grand 1200W
    Keyboard Cyberus
    Headset Tittan
    OS Win 7 64bit
    Network Router ASUS

    meankeys's Avatar


    Pleast post your system specs so we see what your working with
    thanks


  3. 07-29-2018 12:23 PM


    #3

    meankeys no está en línea


    ROG Guru: Brown Belt

    Array
    meankeys PC Specs

    meankeys PC Specs
    Motherboard Rampage VI Apex / Maximus IX APEX / Rampage V EX V10
    Processor 7920X / 5960X / 6950X / 7700K
    Memory (part number) G.Skill Trident Z — 16GB
    Graphics Card #1 Zotac 1080 Ti
    Graphics Card #2 Zotac 1080 Ti
    Graphics Card #3 ASUS STRIX GTX 1080 OC
    Monitor 3 X ASUS V248Q
    Storage #1 Samsung 950 Pro
    CPU Cooler Cool Express SS
    Power Supply Thermaltake Tough Power Grand 1200W
    Keyboard Cyberus
    Headset Tittan
    OS Win 7 64bit
    Network Router ASUS

    meankeys's Avatar



  4. 08-05-2018 03:28 PM


    #4

    erixx11 no está en línea


    ROG Guru: White Belt

    Array


    installing this for win-64 bit solved it for me, on the spot:
    http://registrationcenter-download.i…_x64_setup.msi


Tags for this Thread


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
  • BB code is On
  • Smilies are On
  • [IMG] code is On
  • [VIDEO] code is On
  • HTML code is Off

Forum Rules

Понравилась статья? Поделить с друзьями:
  • Error loading colour scheme sublime text
  • Error load font аризона рп
  • Error loading cod4x как исправить
  • Error load file cryptlib dll
  • Error loading cod4x call of duty