I figure the Protonect example in libfreenect2 is supposed to show more than just this raw feed?
I am running Linux Mint 17.2 and pocl 0.11 for OpenCL on an i7 4790. The system has llvm-3.6 installed. This is the output of clinfo.
Number of platforms 1
Platform Name Portable Computing Language
Platform Vendor The pocl project
Platform Version OpenCL 1.2 pocl 0.11
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd
Platform Extensions function suffix POCL
Platform Name Portable Computing Language
Number of devices 1
Device Name pthread-Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
Device Vendor pocl
Device Vendor ID 0x0
Device Version OpenCL 1.2 pocl
Driver Version 0.11
Device OpenCL C Version OpenCL C 1.2
Device Type CPU, Default
Device Profile FULL_PROFILE
Max compute units 8
Max clock frequency 4000MHz
Device Partition (core)
Max number of sub-devices 2
Supported partition types None
Max work item dimensions 3
Max work item sizes 18446744073709551615x18446744073709551615x18446744073709551615
Max work group size 4096
Preferred work group size multiple 8
Preferred / native vector sizes
char 16 / 16
short 8 / 8
int 4 / 4
long 2 / 2
half 8 / 8 (n/a)
float 4 / 4
double 2 / 2 (cl_khr_fp64)
Half-precision Floating-point support (n/a)
Single-precision Floating-point support (core)
Denormals No
Infinity and NANs Yes
Round to nearest Yes
Round to zero No
Round to infinity No
IEEE754-2008 fused multiply-add No
Support is emulated in software No
Correctly-rounded divide and sqrt operations No
Double-precision Floating-point support (cl_khr_fp64)
Denormals No
Infinity and NANs Yes
Round to nearest Yes
Round to zero No
Round to infinity No
IEEE754-2008 fused multiply-add No
Support is emulated in software No
Correctly-rounded divide and sqrt operations No
Address bits 64, Little-Endian
Global memory size 33643532288 (31.33GiB)
Error Correction support No
Max memory allocation 8410883072 (7.833GiB)
Unified memory for Host and Device Yes
Minimum alignment for any data type 128 bytes
Alignment of base address 128 bits (16 bytes)
Global Memory cache type None
Image support Yes
Max number of samplers per kernel 16
pocl warning: encountered incomplete implementation in clGetDeviceInfo.c:135
Max size for 1D images from buffer 0 pixels
pocl warning: encountered incomplete implementation in clGetDeviceInfo.c:137
Max 1D or 2D image array size 0 images
Max 2D image size 8192x8192 pixels
Max 3D image size 2048x2048x2048 pixels
Max number of read image args 128
Max number of write image args 128
Local memory type Global
Local memory size 8410883072 (7.833GiB)
Max constant buffer size 8410883072 (7.833GiB)
Max number of constant args 8
Max size of kernel argument 1024
Queue properties
Out-of-order execution No
Profiling Yes
Prefer user sync for interop Yes
Profiling timer resolution 0ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels Yes
pocl warning: encountered incomplete implementation in clGetDeviceInfo.c:257
printf() buffer size 0
Built-in kernels
Device Available Yes
Compiler Available Yes
Linker Available Yes
Device Extensions cl_khr_fp64 cl_khr_byte_addressable_store
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) Portable Computing Language
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [POCL]
clCreateContext(NULL, ...) [default] Success [POCL]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) Success (1)
Platform Name Portable Computing Language
Device Name pthread-Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) Success (1)
Platform Name Portable Computing Language
Device Name pthread-Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.1.3
ICD loader Profile OpenCL 1.2
Any thoughts as to what could be wrong? This is my first time using OpenCL on a CPU instead of a GPU and also my first time trying anything with a Kinect so I am not very familiar. Thanks for the help!
Your OpenCL
doesn't matter, because you're not using OpenCL
. In the output you can see OpenGLDepthPacketProcessor
, which is the default in protonect. I think there has been some trouble with that on Linux recently. Try starting protonect with the cl
command line parameter:
./protonect cl
That should make sure the OpenCL
implementation is used.
You can also try the cpu
parameter instead, using neither OpenGL
nor OpenCL
. That will be way slower, but should at least work without worrying about the correct OpenGL
/OpenCL
drivers.