- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We are using the sample program for motion estimation accelerator from the following site: http://software.intel.com/en-us/articles/intro-to-motion-estimation-extension-for-opencl
We are using a laptop with Intel(R) Core(TM) i7-4750HQ CPU @ 2.00GHz, with Intel(R) Iris(TM) Pro Graphics 5200. The system is running Windows 8.1 Professional 64-bit.
Following software is installed - Intel SDK for OpenCL Applications 2013 R2 for 64-bit, Intel HD Graphics Driver version 10.18.10.3316 (15.33.5.64.3316)
Upon querying the hardware, we get the device extension names of cl_intel_accelerator and cl_intel_motion_estimation.
After creating program context and queue, and getting pointers to the motion accelerator routines, we are able to get the name "block_motion_estimation_intel" in the list of kernel names in program.
However when we try to create a kernel using clCreateKernel(program, "block_motion_estimation_intel", &error), it returns an error INVALID_PROGRAM_EXECUTABLE.
Please let me know if there are any additional steps to successfully create the "block_motion_estimation_intel" kernel.
Regards
Murali
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Murali M. wrote:
However when we try to create a kernel using clCreateKernel(program, "block_motion_estimation_intel", &error), it returns an error INVALID_PROGRAM_EXECUTABLE.
Hi, notice that kernel name is "block_motion_estimate_intel", not "block_motion_estimation_intel". Please clarify if prior to calling the clCreateKernel, you issue a call to the clCreateProgramWithBuiltInKernels with this same kernel name, and it does succeed.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks a lot for quick message, will check and get back.
Regards
Murali
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Now we did try calling "block_motion_estimate_intel" only but we still end up with the error. Given below is some more details of our call sequence:
The calls were made in this sequence:
context = clCreateContext(contextProperties, deviceIdCount, deviceIds, NULL, NULL, &error); Returns SUCCESS
queue = clCreateCommandQueue(context, deviceIds[0], 0, &error); Returns SUCCESS
pfn_clCreateAcceleratorINTEL = (clCreateAcceleratorINTEL_fn)clGetExtensionFunctionAddressForPlatform(platformIds[0], "clCreateAcceleratorINTEL"); Returns SUCCESS
program = clCreateProgramWithBuiltInKernels(context,1,deviceIds,"block_motion_estimate_intel",&error); Returns SUCCESS
clGetProgramInfo(program, CL_PROGRAM_NUM_KERNELS, sizeof(cl_uint), &kernelIdCount, NULL); Returns 1 in kernelIdCount
clGetProgramInfo(program, CL_PROGRAM_KERNEL_NAMES, 500, kernelNames, &size); Returns "block_motion_estimate_intel" in kernelNames
clGetProgramBuildInfo(program,deviceIds[0],CL_PROGRAM_BUILD_STATUS,sizeof(cl_build_status),&buildStatus,&size); Returns CL_BUILD_SUCCESS
kernel = clCreateKernel(program, "block_motion_estimate_intel", &error); Returns 0x0000000
We are using Microsoft Visual Studio 2010 Professional and have added "$(INTELOCLSDKROOT)lib\x64" in the Additional Library Directories in the Linker Configuration Properties.
In the Project Properties -> Configuration Properties -> Intel SDK for OpenCL Applications -> Device, we have selected the device as GPU (-device=GPU). Also tried with selecting CPU, but there is no difference in the result.
Are there any additional settings to be done in Project Properties?
The entire code is in a single C file which includes "CL/cl.h" and "CL/cl_ext.h"
Any help on this will be greatly appreciated.
Regards
Murali
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
setting GPU or CPU in the Intel OpenCL SDK specific project settings doesn't affect app execution, this is just a parameter for the offline compiler. Specifically, during compilation of the VS project, each cl file in the project is compiled for the specified device and the resulted status (incl warnings, errors and general hints) this is pretty useful when you develop the kernels from VS. Notice that real CL program compilation which is happening during application execution, can be actually happen for another platform/device/command-line-args/etc (depending on your actual app logic).
Anyway, regarding your trouble with VME- there will be a release of the dedicated Intel OpenCL SDK sample about VME soon, so please, stay tuned.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
The new release is now available at: http://software.intel.com/en-us/vcsource/tools/opencl-sdk. The new sample is also available at: Video Motion Estimation Using OpenCL*
Please upgrade your SDK and verify that you use the latest driver version 15.33.8
Arnon
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
The new release is now available at: http://software.intel.com/en-us/vcsource/tools/opencl-sdk. The new sample is also available at: Video Motion Estimation Using OpenCL*
Please upgrade your SDK and verify that you use the latest driver version 15.33.8
Arnon

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page