Forum

Author Topic: "clGetPlatformID failed" on Kubuntu 15.04  (Read 6656 times)

KevinCain

  • Newbie
  • *
  • Posts: 7
    • View Profile
"clGetPlatformID failed" on Kubuntu 15.04
« on: September 23, 2015, 04:24:25 AM »
PhotoScan isn't recognizing my nVidia GPU (GeForce GTX 970), despite my attempts to resolve this noted below.  Can anyone with similar experience say what works for them?

I believe the functional flow for OpenCL should be:  PhotoScan -> libOpenCL.so -> libnvidia-opencl.so.1 -> kernel driver module(s) -> GPU (GeForce GTX 970). Do I have that right?

- After installing and licensing PhotoScan, I noted no OpenCL message in the start-up messages, and no devices in the PhotoScan's Tools:Preferences:OpenCL Devices.

- I saw that I didn't have a `libOpenCL.so` library in the binary folder.  I gather from this post (http://www.agisoft.com/forum/index.php?topic=2369.msg13742#msg13742) that I should.  I made a symbolic link to `libOpenCL.so.1` as follows: 

sudo ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 ~/photoscan/libOpenCL.so


PhotoScan then showed "clGetPlatformID failed" on launch.

- Thinking that NVidia CUDA/OpenCL support was to blame, I upgraded to CUDA 7.5 and received a 'pass' after running `devideQuery` (see below), but I still see no OpenCL devices in PhotoScan.

CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 970"
  CUDA Driver Version / Runtime Version          7.5 / 7.5
  CUDA Capability Major/Minor version number:    5.2
  Total amount of global memory:                 4095 MBytes (4294246400 bytes)
  (13) Multiprocessors, (128) CUDA Cores/MP:     1664 CUDA Cores
  GPU Max Clock rate:                            1367 MHz (1.37 GHz)
  Memory Clock rate:                             3505 Mhz
  Memory Bus Width:                              256-bit
  L2 Cache Size:                                 1835008 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
  Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 2 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 4 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 7.5, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 970
Result = PASS

« Last Edit: September 23, 2015, 10:29:32 AM by KevinCain »

KevinCain

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: "clGetPlatformID failed" on Kubuntu 15.04
« Reply #1 on: September 24, 2015, 04:32:49 AM »
Alexey Pasumansky wrote:  "Please make sure that libOpenCL.so file exists and points to libOpenCL.so.1.0.0." (See the above URL).

Like the thread author, I created a symbolic link (ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 ~/Downloads/photoscan-pro/libOpenCL.so), but to no avail.

Can anyone point out the trouble?