Итак, есть Optimus. А также стоит Bumblebee, да и Primus впридачу. Так вот CUDA - работает, OpenGL - работает, но OpenCL - вообще никак не пашет.
alexey@alexey-laptop:~/prg/OpenCL$ lscpu
Архитектура:x86_64
CPU op-mode(s): 32-bit, 64-bit
Порядок байтов:Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Модель: 58
Stepping: 9
CPU MHz: 1200.000
BogoMIPS: 4589.71
Виртуализация:VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 6144K
NUMA node0 CPU(s): 0-7
alexey@alexey-laptop:~/prg/OpenCL$ glxinfo | grep -i opengl
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
OpenGL version string: 3.0 Mesa 9.1.4
OpenGL shading language version string: 1.30
OpenGL extensions:
alexey@alexey-laptop:~/prg/OpenCL$ optirun glxinfo | grep -i opengl
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 640M LE/PCIe/SSE2
OpenGL version string: 4.2.0 NVIDIA 304.88
OpenGL shading language version string: 4.20 NVIDIA via Cg compiler
OpenGL extensions:
alexey@alexey-laptop:~/prg/OpenCL$ ldd opencl
linux-vdso.so.1 => (0x00007fff993fe000)
libOpenCL.so.1 => /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007f3017c5a000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3017957000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3017740000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3017378000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3017174000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3017e91000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3016e6e000)
alexey@alexey-laptop:~/prg/OpenCL$ optirun ./opencl
./opencl: /usr/lib/nvidia-304/libOpenCL.so.1: no version information available (required by ./opencl)