Khanattila / KNLMeansCL

An optimized OpenCL implementation of the Non-local means de-noising algorithm
GNU General Public License v3.0
107 stars 22 forks source link

oclUtils error at host processor mode. #35

Closed tokohito closed 6 years ago

tokohito commented 6 years ago

Hello

I am trying to use KNLMeansCL on virtual machine. Of course, no physical video card is installed in the virtual machine, I specified KNLMeansCL paramater as device_type="cpu". Unfortunately, the following error is output and AVS can not be executed.

avs [error]: KNLMeansCL: fatal error! (oclUtilsGetPlaformDeviceIDs: OCL_UTILS_UNKNOWN_ERROR)

Please fix this problem.

Windows10 version1803(virtual machine) Microsoft Basic Display Adapter(vitual video card driver) Avisynth 2.6.0 KNLMeansCL v1.1.1

Thank you.

Khanattila commented 6 years ago

Hi tokohito, I've never tried to use a program from a virtual machine. However, even the use of CPU requires driver installation.

Requirements

tokohito commented 6 years ago

Oh, I am troubled... :-( Can you change to skip the processing of detect video devices, when KNLMeansCL "device_type" param is set to "cpu" ?

tokohito commented 6 years ago

I'm sorry. As a result of I installing "Intel OpenCL Drivers and Runtimes", the errors are no longer output. However, execution speed is too slow from a virtual machine. (0.03fps) :-o I need a different approach for realistic use. Thank you.

Selur commented 4 years ago

using Windows 10pro 1909 (Build 18363.657) with an AMD Ryzen 7 1800X and a Geforce GTX 1070 Ti driver version 442.50 with Avisynth+ 32bit I get:

LoadCPlugin("I:\Hybrid\32bit\AVISYN~1\ffms2.dll")
LoadPlugin("I:\Hybrid\32bit\AVISYN~1\KNLMeansCL.dll")
FFVideoSource("F:\TESTCL~1\files\test.avi",cachefile="E:\Temp\avi_078c37f69bb356e7b5fa040c71584c40_853323747_1_0.ffindex",fpsnum=25,colorspace="YV12")
# denoising using KNLMeansCL
KNLMeansCL()
return last
KNLMeansCL: fatal error!  (oclUtilsGetPlaformDeviceIDs: OCL_UTILS_UNKNOWN_ERROR) (C:\Users\Selur\Desktop\test.avs, line 5)

funny thing is that using KNLMeansCL in Vapoursynth 64bit works fine.

RaccoonDML commented 3 years ago

I want to use KNLMeansCL in docker and meet the exact same problem. Then I fixed it by install a intel_sdk_for_opencl_applications, which can be download here When use clinfo in shell I got this output, this is wanted output

(base) root@db61b2cae6bc:/# clinfo Number of platforms 1 Platform Name Intel(R) CPU Runtime for OpenCL(TM) Applications Platform Vendor Intel(R) Corporation Platform Version OpenCL 2.1 LINUX Platform Profile FULL_PROFILE Platform Extensions cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_3d_image_writes cl_intel_exec_by_local_thread cl_khr_spir cl_khr_fp64 cl_khr_image2d_from_buffer cl_intel_vec_len_hint Platform Host timer resolution 1ns Platform Extensions function suffix INTEL Platform Name Intel(R) CPU Runtime for OpenCL(TM) Applications