Community
cancel
Showing results for 
Search instead for 
Did you mean: 
peter_b_8
Beginner
118 Views

KernelBuilderAPI.dll

Dears,

I am running Visual Studio Community 2015 on WIndows 7, 64bit. 

===================================[ System / CPU ]
- CPU Name: Intel(R) Core(TM) i5-4300M CPU @ 2.60GHz
- CPU Core Speed: 2594 MHz
- CPU logical cores: 4
- Family: 6 - Model: 12 - Stepping: 3
- Physical Memory Size: 8192 MB
- Operating System: Windows 7 64-bit build 7601 [Service Pack 1]
- PhysX Version: drivers not installed

===================================[ OpenCL Capabilities ]
- Num OpenCL platforms: 2
- CL_PLATFORM_NAME: Intel(R) OpenCL
- CL_PLATFORM_VENDOR: Intel(R) Corporation
- CL_PLATFORM_VERSION: OpenCL 1.2 
- CL_PLATFORM_PROFILE: FULL_PROFILE
- Num devices: 2

===================================[ OpenGL GPU Capabilities ]
- OpenGL vendor: Intel
- OpenGL renderer: Intel(R) HD Graphics 4600
- OpenGL Version: 4.2.0 - Build 10.18.10.3574
- GLSL (OpenGL Shading Language) Version: 4.20 - Build 10.18.10.3574

 

starting a OpenCL project I got 

Code Builder initialization failed:

Unable to load DLL 'KernelBuilderAPI.dll': The specified procedure could not be found. (Exception from HRESULT: 0x8007007F)

 

Please help to fix it.

Thank you.

0 Kudos
10 Replies
Robert_I_Intel
Employee
118 Views

Peter, I am afraid you have a very outdated graphics driver (see the other post on how to get a newer version). Thanks!

Bilgesu_C_
Beginner
118 Views

I also have the same issue and I don't have a very outdated graphics driver (Intel HD Graphics 4000). Please fix this issue. 

Yuval_E_Intel
Employee
118 Views

Hi all,

From the error message it seems that from some reason there is a missing dll in your platform.
The missing dll is NOT KernelBuilderAPI.dll but another dll which is required for loading the KernelBuilderAPI.dll 
You can try one of the following to find out which dll is missing:
1.  Run …\OpenCL SDK\bin\x86|x64\KernelBuilder32.exe from command line
2.  If it still doesn’t give you the name of the missing dll run …\OpenCL SDK\bin\x86|x64\GPUhelper.exe from command line
3. If it still doesn’t give you the name of the missing dll try to install this tool: http://www.dependencywalker.com/.  And run 
        depends "...\OpenCL SDK\bin\x86|x64\KernelBuilderAPI.dll" 
 When you have the name of the missing dll please post it in the forum so we can help fixing the issue.
Thanks, Yuval

peter_b_8
Beginner
118 Views

Hi Yuval,

option 1) & 2) don't work for me.

I did 3) dependencywalker:

In the case of KernelBuilderAPI.dll (x64) those dll's missing: 

API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL

API-MS-WIN-CORE-WINRT-L1-1-0.DLL

API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL

API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL

DCOMP.DLL

IESHIMS.DLL

In the case x86 dll's missing:

API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL

API-MS-WIN-CORE-WINRT-L1-1-0.DLL

API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL

API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL

DCOMP.DLL

GPSVC.DLL

IESHIMS.DLL

Please see attached "dependency walker image" . 

Regards,

Peter

peter_b_8
Beginner
118 Views

BTW pls don't be misled by dependencywalker for fixing issue

http://stackoverflow.com/questions/17023419/win-7-64-bit-dll-problems

Comment from t:

Windows 7 kernel changes that led to api-ms-win-* DLLs are explained quite well over herenirsoft.net/articles/windows_7_kernel_architecture_changes.html - i think DependencyWalker just cant handle these changes - so dont worry about those too much. From MS: msdn.microsoft.com/en-us/library/hh802935%28v=vs.85%29.aspx – x29a May 15 '14 at 4:41 

 

Yuval_E_Intel
Employee
118 Views

Hi Peter,
You're right, the missing dlls that dependencywalker specified are not the issue. 
I notice that the error is not about missing dll but a missing procedure ("The specified procedure could not be found"). Sorry for the confusion.
My guess is that the OpenCL.dll that you have is 1.2 version when it should be 2.0.
Please do the following to check the version (see the attached picture):
1.    Go to C:\Windows\SysWOW64
2.    Right click on OpenCl.dll -> Properties -> Details and see the file version
3.    If it is not 2.0 please copy it manually from: C:\Program Files (x86)\Intel\OpenCL SDK\bin\icd\x86\OpenCL.dll
(It should be done by the SDK installer)  
Thanks, Yuval

 

 

peter_b_8
Beginner
118 Views

Many thanks!

I got  OpenCL.dll of 2.0.2.0 version now at C:\Windows\SysWOW64 . Now it works fine.

Thank you!

karen_d_
Beginner
118 Views

Hi Yuval;

I'm running Visual Studio 2015 on a Window 7 Pro, SP1 (64 bit)

Processor: Intel Core I7-4800MQ CPU with 8GB ram

Graphics:   Intel HD Graphics 4600, driver version is 10.18.19.3412 (Jan 29, 2014)

I downloaded the OpenCL 2.0 sdk from "https://software.intel.com/en-us/intel-opencl/download". 

File downloaded is: "intel_sdk_for_opencl_setup_6.0.0.1049.exe".

I had exactly the same errors as peter b and followed all instructions including copying OpenCL.dll from the SDK directory to Windows\SysWOW64.  However unlike peter b's happy ending, when I run Visual Studio it spits out an error: "Code Builder initialization failed: An attempt was made to load a program with an incorrect format.(Exception from HRESULT:0x8007000B)"

I don't even have any code that references the OpenCL dll yet (at least that I'm aware of).

I really only need OpenCL 2.0 runtime, but couldn't find where to download only the runtime verion.

Any help would be greatly appreciated as I'm STUCK.

Regards,

Karen D

 

Uri_L_Intel
Employee
118 Views

Hi Karen,

OpenCL 2.0 is not support on Intel HD 4600.

It is supported on 5th generation of Intel® Core processors and later (you can see the full support matrix on our release notes: https://software.intel.com/en-us/articles/opencl-code-builder-release-notes)

You can work with the OCL2.1 experimental CPU only runtime that comes with the SDK – see more details here: https://software.intel.com/en-us/node/539396

Please try to install the latest SDK version (6.1.0.1600) and see if you’re still getting these error messages.

Thanks,

Uri

karen_d_
Beginner
118 Views

 

Hi Uri;

Thanks for the info.  I may try this later, but due to the project deadline, can't afford the time to use an experimental version.  I'll be testing on a machine that has a GPU.

It would be convenient to be able to run on the machine that doesn't have one, but I just don't think I've got the time to troubleshoot. 

When I do try it I'll let you guys know how it turned out.

Regards,

Karen