I tried running FLACCL and FlaCuda under linux on a Optimus laptop (NVIDIA GT 555M not connected to any display, plus Intel HD 3000 chip integrated in the Sandy Bridge CPU), but I can't seem to make it work. My understanding is that I need to use Bumblebee (https://wiki.archlinux.org/index.php/Bumblebee) in order to make use of my NVIDIA GPU. I've tried the following:
optirun ./CUETools.FLACCL.cmd.exe --opencl-type GPU --opencl-platform 'nvidia' foo.wav
optirun ./CUETools.FLACCL.cmd.exe --opencl-type GPU --opencl-platform 'NVIDIA' foo.wav
optirun ./CUETools.FLACCL.cmd.exe --opencl-type GPU --opencl-platform 'NVIDIA CUDA' foo.wav
I get:
FLACCL#0.3, Copyright (C) 2010 Gregory S. Chudov.
This is free software under the GNU GPLv3+ license; There is NO WARRANTY, to
the extent permitted by law. <http://www.gnu.org/licenses/> for details.
Filename : foo.wav
File Info : 44100kHz; 2 channel; 16 bit; 00:00:28.3330000
Error : no opencl platforms found
Same with FlaCuda:
optirun ./CUETools.FlaCuda.exe foo.wav
CUETools.FlaCuda v0.9, Copyright (C) 2009 Gregory S. Chudov.
This is free software under the GNU GPLv3+ license; There is NO WARRANTY, to
the extent permitted by law. <http://www.gnu.org/licenses/> for details.
Filename : foo.wav
File Info : 44100kHz; 2 channel; 16 bit; 00:00:28.3330000
Error : Exception of type 'GASS.CUDA.CUDAException' was thrown.
I made sure in the latter case to install the linux version of CUDA.NET.dll.
I have libOpenCL.so and libcuda.so installed. Am I missing something?
I'm afraid i don't know much about Bumblebee.
Try omitting --opencl-platform 'NVIDIA CUDA' parameter, so that it will try to use the first available platform. Bumblebee might have a different name for opencl platform.
Or it might be that you don't have an opencl driver installed. Have you tried running opencl samples from nvidia?
Take a look here: http://samiux.blogspot.com/2011/05/howto-n...-on-ubuntu.html (http://samiux.blogspot.com/2011/05/howto-nvidia-cuda-toolkit-40-on-ubuntu.html)
I installed the CUDA toolkit and ran the sample CUDA code as instructed on that blog.
optirun ./deviceQuery
[deviceQuery] starting...
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Found 1 CUDA Capable device(s)
Device 0: "GeForce GT 555M"
CUDA Driver Version / Runtime Version 4.10 / 4.10
CUDA Capability Major/Minor version number: 2.1
Total amount of global memory: 2048 MBytes (2147155968 bytes)
( 3) Multiprocessors x (48) CUDA Cores/MP: 144 CUDA Cores
GPU Clock Speed: 1.35 GHz
Memory Clock rate: 900.00 Mhz
Memory Bus Width: 128-bit
L2 Cache Size: 262144 bytes
Max Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536,65535), 3D=(2048,2048,2048)
Max Layered Texture Size (dim) x layers 1D=(16384) x 2048, 2D=(16384,16384) x 2048
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 32768
Warp size: 32
Maximum number of threads per block: 1024
Maximum sizes of each dimension of a block: 1024 x 1024 x 64
Maximum sizes of each dimension of a grid: 65535 x 65535 x 65535
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and execution: Yes with 1 copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Concurrent kernel execution: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support enabled: No
Device is using TCC driver mode: No
Device supports Unified Addressing (UVA): Yes
Device PCI Bus ID / PCI location ID: 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 4.10, CUDA Runtime Version = 4.10, NumDevs = 1, Device = GeForce GT 555M
[deviceQuery] test results...
PASSED
Press ENTER to exit...
optirun ./nbody
[nbody] starting...
Run "nbody -benchmark [-n=<numBodies>]" to measure perfomance.
-fullscreen (run n-body simulation in fullscreen mode)
-fp64 (use double precision floating point values for simulation)
-numdevices=N (use first N CUDA devices for simulation)
> Windowed mode
> Simulation data stored in video memory
> Single precision floating point simulation
> 1 Devices used for simulation
> Compute 2.1 CUDA device: [GeForce GT 555M]
Then I tried running FlaCuda and FlacCL without --opencl-platform but I got the same result. I'm sure it's something silly, there's no good reason your apps can't run on my setup.
optirun ./oclDeviceQuery
[oclDeviceQuery] starting...
./oclDeviceQuery Starting...
OpenCL SW Info:
CL_PLATFORM_NAME: NVIDIA CUDA
CL_PLATFORM_VERSION: OpenCL 1.1 CUDA 4.1.1
OpenCL SDK Revision: 7027912
OpenCL Device Info:
1 devices found supporting OpenCL:
---------------------------------
Device GeForce GT 555M
---------------------------------
CL_DEVICE_NAME: GeForce GT 555M
CL_DEVICE_VENDOR: NVIDIA Corporation
CL_DRIVER_VERSION: 290.10
CL_DEVICE_VERSION: OpenCL 1.1 CUDA
CL_DEVICE_OPENCL_C_VERSION: OpenCL C 1.1
CL_DEVICE_TYPE: CL_DEVICE_TYPE_GPU
CL_DEVICE_MAX_COMPUTE_UNITS: 3
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS: 3
CL_DEVICE_MAX_WORK_ITEM_SIZES: 1024 / 1024 / 64
CL_DEVICE_MAX_WORK_GROUP_SIZE: 1024
CL_DEVICE_MAX_CLOCK_FREQUENCY: 1350 MHz
CL_DEVICE_ADDRESS_BITS: 32
CL_DEVICE_MAX_MEM_ALLOC_SIZE: 511 MByte
CL_DEVICE_GLOBAL_MEM_SIZE: 2047 MByte
CL_DEVICE_ERROR_CORRECTION_SUPPORT: no
CL_DEVICE_LOCAL_MEM_TYPE: local
CL_DEVICE_LOCAL_MEM_SIZE: 48 KByte
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 64 KByte
CL_DEVICE_QUEUE_PROPERTIES: CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE
CL_DEVICE_QUEUE_PROPERTIES: CL_QUEUE_PROFILING_ENABLE
CL_DEVICE_IMAGE_SUPPORT: 1
CL_DEVICE_MAX_READ_IMAGE_ARGS: 128
CL_DEVICE_MAX_WRITE_IMAGE_ARGS: 8
CL_DEVICE_SINGLE_FP_CONFIG: denorms INF-quietNaNs round-to-nearest round-to-zero round-to-inf fma
CL_DEVICE_IMAGE <dim> 2D_MAX_WIDTH 32768
2D_MAX_HEIGHT 32768
3D_MAX_WIDTH 2048
3D_MAX_HEIGHT 2048
3D_MAX_DEPTH 2048
CL_DEVICE_EXTENSIONS: cl_khr_byte_addressable_store
cl_khr_icd
cl_khr_gl_sharing
cl_nv_compiler_options
cl_nv_device_attribute_query
cl_nv_pragma_unroll
cl_khr_global_int32_base_atomics
cl_khr_global_int32_extended_atomics
cl_khr_local_int32_base_atomics
cl_khr_local_int32_extended_atomics
cl_khr_fp64
CL_DEVICE_COMPUTE_CAPABILITY_NV: 2.1
NUMBER OF MULTIPROCESSORS: 3
NUMBER OF CUDA CORES: 144
CL_DEVICE_REGISTERS_PER_BLOCK_NV: 32768
CL_DEVICE_WARP_SIZE_NV: 32
CL_DEVICE_GPU_OVERLAP_NV: CL_TRUE
CL_DEVICE_KERNEL_EXEC_TIMEOUT_NV: CL_TRUE
CL_DEVICE_INTEGRATED_MEMORY_NV: CL_FALSE
CL_DEVICE_PREFERRED_VECTOR_WIDTH_<t> CHAR 1, SHORT 1, INT 1, LONG 1, FLOAT 1, DOUBLE 1
---------------------------------
2D Image Formats Supported (71)
---------------------------------
# Channel Order Channel Type
1 CL_R CL_FLOAT
2 CL_R CL_HALF_FLOAT
3 CL_R CL_UNORM_INT8
4 CL_R CL_UNORM_INT16
5 CL_R CL_SNORM_INT16
6 CL_R CL_SIGNED_INT8
7 CL_R CL_SIGNED_INT16
8 CL_R CL_SIGNED_INT32
9 CL_R CL_UNSIGNED_INT8
10 CL_R CL_UNSIGNED_INT16
11 CL_R CL_UNSIGNED_INT32
12 CL_A CL_FLOAT
13 CL_A CL_HALF_FLOAT
14 CL_A CL_UNORM_INT8
15 CL_A CL_UNORM_INT16
16 CL_A CL_SNORM_INT16
17 CL_A CL_SIGNED_INT8
18 CL_A CL_SIGNED_INT16
19 CL_A CL_SIGNED_INT32
20 CL_A CL_UNSIGNED_INT8
21 CL_A CL_UNSIGNED_INT16
22 CL_A CL_UNSIGNED_INT32
23 CL_RG CL_FLOAT
24 CL_RG CL_HALF_FLOAT
25 CL_RG CL_UNORM_INT8
26 CL_RG CL_UNORM_INT16
27 CL_RG CL_SNORM_INT16
28 CL_RG CL_SIGNED_INT8
29 CL_RG CL_SIGNED_INT16
30 CL_RG CL_SIGNED_INT32
31 CL_RG CL_UNSIGNED_INT8
32 CL_RG CL_UNSIGNED_INT16
33 CL_RG CL_UNSIGNED_INT32
34 CL_RA CL_FLOAT
35 CL_RA CL_HALF_FLOAT
36 CL_RA CL_UNORM_INT8
37 CL_RA CL_UNORM_INT16
38 CL_RA CL_SNORM_INT16
39 CL_RA CL_SIGNED_INT8
40 CL_RA CL_SIGNED_INT16
41 CL_RA CL_SIGNED_INT32
42 CL_RA CL_UNSIGNED_INT8
43 CL_RA CL_UNSIGNED_INT16
44 CL_RA CL_UNSIGNED_INT32
45 CL_RGBA CL_FLOAT
46 CL_RGBA CL_HALF_FLOAT
47 CL_RGBA CL_UNORM_INT8
48 CL_RGBA CL_UNORM_INT16
49 CL_RGBA CL_SNORM_INT16
50 CL_RGBA CL_SIGNED_INT8
51 CL_RGBA CL_SIGNED_INT16
52 CL_RGBA CL_SIGNED_INT32
53 CL_RGBA CL_UNSIGNED_INT8
54 CL_RGBA CL_UNSIGNED_INT16
55 CL_RGBA CL_UNSIGNED_INT32
56 CL_BGRA CL_UNORM_INT8
57 CL_BGRA CL_SIGNED_INT8
58 CL_BGRA CL_UNSIGNED_INT8
59 CL_ARGB CL_UNORM_INT8
60 CL_ARGB CL_SIGNED_INT8
61 CL_ARGB CL_UNSIGNED_INT8
62 CL_INTENSITY CL_FLOAT
63 CL_INTENSITY CL_HALF_FLOAT
64 CL_INTENSITY CL_UNORM_INT8
65 CL_INTENSITY CL_UNORM_INT16
66 CL_INTENSITY CL_SNORM_INT16
67 CL_LUMINANCE CL_FLOAT
68 CL_LUMINANCE CL_HALF_FLOAT
69 CL_LUMINANCE CL_UNORM_INT8
70 CL_LUMINANCE CL_UNORM_INT16
71 CL_LUMINANCE CL_SNORM_INT16
---------------------------------
3D Image Formats Supported (71)
---------------------------------
# Channel Order Channel Type
1 CL_R CL_FLOAT
2 CL_R CL_HALF_FLOAT
3 CL_R CL_UNORM_INT8
4 CL_R CL_UNORM_INT16
5 CL_R CL_SNORM_INT16
6 CL_R CL_SIGNED_INT8
7 CL_R CL_SIGNED_INT16
8 CL_R CL_SIGNED_INT32
9 CL_R CL_UNSIGNED_INT8
10 CL_R CL_UNSIGNED_INT16
11 CL_R CL_UNSIGNED_INT32
12 CL_A CL_FLOAT
13 CL_A CL_HALF_FLOAT
14 CL_A CL_UNORM_INT8
15 CL_A CL_UNORM_INT16
16 CL_A CL_SNORM_INT16
17 CL_A CL_SIGNED_INT8
18 CL_A CL_SIGNED_INT16
19 CL_A CL_SIGNED_INT32
20 CL_A CL_UNSIGNED_INT8
21 CL_A CL_UNSIGNED_INT16
22 CL_A CL_UNSIGNED_INT32
23 CL_RG CL_FLOAT
24 CL_RG CL_HALF_FLOAT
25 CL_RG CL_UNORM_INT8
26 CL_RG CL_UNORM_INT16
27 CL_RG CL_SNORM_INT16
28 CL_RG CL_SIGNED_INT8
29 CL_RG CL_SIGNED_INT16
30 CL_RG CL_SIGNED_INT32
31 CL_RG CL_UNSIGNED_INT8
32 CL_RG CL_UNSIGNED_INT16
33 CL_RG CL_UNSIGNED_INT32
34 CL_RA CL_FLOAT
35 CL_RA CL_HALF_FLOAT
36 CL_RA CL_UNORM_INT8
37 CL_RA CL_UNORM_INT16
38 CL_RA CL_SNORM_INT16
39 CL_RA CL_SIGNED_INT8
40 CL_RA CL_SIGNED_INT16
41 CL_RA CL_SIGNED_INT32
42 CL_RA CL_UNSIGNED_INT8
43 CL_RA CL_UNSIGNED_INT16
44 CL_RA CL_UNSIGNED_INT32
45 CL_RGBA CL_FLOAT
46 CL_RGBA CL_HALF_FLOAT
47 CL_RGBA CL_UNORM_INT8
48 CL_RGBA CL_UNORM_INT16
49 CL_RGBA CL_SNORM_INT16
50 CL_RGBA CL_SIGNED_INT8
51 CL_RGBA CL_SIGNED_INT16
52 CL_RGBA CL_SIGNED_INT32
53 CL_RGBA CL_UNSIGNED_INT8
54 CL_RGBA CL_UNSIGNED_INT16
55 CL_RGBA CL_UNSIGNED_INT32
56 CL_BGRA CL_UNORM_INT8
57 CL_BGRA CL_SIGNED_INT8
58 CL_BGRA CL_UNSIGNED_INT8
59 CL_ARGB CL_UNORM_INT8
60 CL_ARGB CL_SIGNED_INT8
61 CL_ARGB CL_UNSIGNED_INT8
62 CL_INTENSITY CL_FLOAT
63 CL_INTENSITY CL_HALF_FLOAT
64 CL_INTENSITY CL_UNORM_INT8
65 CL_INTENSITY CL_UNORM_INT16
66 CL_INTENSITY CL_SNORM_INT16
67 CL_LUMINANCE CL_FLOAT
68 CL_LUMINANCE CL_HALF_FLOAT
69 CL_LUMINANCE CL_UNORM_INT8
70 CL_LUMINANCE CL_UNORM_INT16
71 CL_LUMINANCE CL_SNORM_INT16
oclDeviceQuery, Platform Name = NVIDIA CUDA, Platform Version = OpenCL 1.1 CUDA 4.1.1, SDK Revision = 7027912, NumDevs = 1, Device = GeForce GT 555M
System Info:
Local Time/Date = 10:44:05, 02/08/2012
CPU Name: Intel® Core i7-2670QM CPU @ 2.20GHz
# of CPU processors: 8
Linux version 3.2.4-1-ARCH (tobias@T-POWA-LX) (gcc version 4.6.2 20120120 (prerelease) (GCC) ) #1 SMP PREEMPT Sat Feb 4 10:53:01 CET 2012
[oclDeviceQuery] test results...
PASSED
Press ENTER to exit...
FLACCL doesn't detect my Intel OpenCL driver either, while NVIDIA's openCL programs detect it.
./oclDeviceQuery
[oclDeviceQuery] starting...
./oclDeviceQuery Starting...
OpenCL SW Info:
WARNING: NVIDIA OpenCL platform not found - defaulting to first platform!
CL_PLATFORM_NAME: Intel® OpenCL
CL_PLATFORM_VERSION: OpenCL 1.1 LINUX
OpenCL SDK Revision: 7027912
OpenCL Device Info:
1 devices found supporting OpenCL:
---------------------------------
Device Intel® Core i7-2670QM CPU @ 2.20GHz
---------------------------------
CL_DEVICE_NAME: Intel® Core i7-2670QM CPU @ 2.20GHz
CL_DEVICE_VENDOR: Intel® Corporation
CL_DRIVER_VERSION: 1.1
CL_DEVICE_VERSION: OpenCL 1.1 (Build 15293.6649)
CL_DEVICE_OPENCL_C_VERSION: OpenCL C 1.1
CL_DEVICE_TYPE: CL_DEVICE_TYPE_CPU
CL_DEVICE_MAX_COMPUTE_UNITS: 8
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS: 3
CL_DEVICE_MAX_WORK_ITEM_SIZES: 1024 / 1024 / 1024
CL_DEVICE_MAX_WORK_GROUP_SIZE: 1024
CL_DEVICE_MAX_CLOCK_FREQUENCY: 2200 MHz
CL_DEVICE_ADDRESS_BITS: 64
CL_DEVICE_MAX_MEM_ALLOC_SIZE: 1975 MByte
CL_DEVICE_GLOBAL_MEM_SIZE: 7900 MByte
CL_DEVICE_ERROR_CORRECTION_SUPPORT: no
CL_DEVICE_LOCAL_MEM_TYPE: global
CL_DEVICE_LOCAL_MEM_SIZE: 32 KByte
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 128 KByte
CL_DEVICE_QUEUE_PROPERTIES: CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE
CL_DEVICE_QUEUE_PROPERTIES: CL_QUEUE_PROFILING_ENABLE
CL_DEVICE_IMAGE_SUPPORT: 1
CL_DEVICE_MAX_READ_IMAGE_ARGS: 128
CL_DEVICE_MAX_WRITE_IMAGE_ARGS: 128
CL_DEVICE_SINGLE_FP_CONFIG: denorms INF-quietNaNs round-to-nearest
CL_DEVICE_IMAGE <dim> 2D_MAX_WIDTH 8192
2D_MAX_HEIGHT 8192
3D_MAX_WIDTH 2048
3D_MAX_HEIGHT 2048
3D_MAX_DEPTH 2048
CL_DEVICE_EXTENSIONS: cl_khr_fp64
cl_khr_global_int32_base_atomics
cl_khr_global_int32_extended_atomics
cl_khr_local_int32_base_atomics
cl_khr_local_int32_extended_atomics
cl_khr_byte_addressable_store
cl_intel_printf
cl_ext_device_fission
CL_DEVICE_PREFERRED_VECTOR_WIDTH_<t> CHAR 16, SHORT 8, INT 4, LONG 2, FLOAT 4, DOUBLE 2
---------------------------------
2D Image Formats Supported (13)
---------------------------------
# Channel Order Channel Type
1 CL_RGBA CL_UNORM_INT8
2 CL_RGBA CL_UNORM_INT16
3 CL_RGBA CL_SIGNED_INT8
4 CL_RGBA CL_SIGNED_INT16
5 CL_RGBA CL_SIGNED_INT32
6 CL_RGBA CL_UNSIGNED_INT8
7 CL_RGBA CL_UNSIGNED_INT16
8 CL_RGBA CL_UNSIGNED_INT32
9 CL_RGBA CL_HALF_FLOAT
10 CL_RGBA CL_FLOAT
11 CL_BGRA CL_UNORM_INT8
12 CL_INTENSITY CL_FLOAT
13 CL_LUMINANCE CL_FLOAT
---------------------------------
3D Image Formats Supported (13)
---------------------------------
# Channel Order Channel Type
1 CL_RGBA CL_UNORM_INT8
2 CL_RGBA CL_UNORM_INT16
3 CL_RGBA CL_SIGNED_INT8
4 CL_RGBA CL_SIGNED_INT16
5 CL_RGBA CL_SIGNED_INT32
6 CL_RGBA CL_UNSIGNED_INT8
7 CL_RGBA CL_UNSIGNED_INT16
8 CL_RGBA CL_UNSIGNED_INT32
9 CL_RGBA CL_HALF_FLOAT
10 CL_RGBA CL_FLOAT
11 CL_BGRA CL_UNORM_INT8
12 CL_INTENSITY CL_FLOAT
13 CL_LUMINANCE CL_FLOAT
oclDeviceQuery, Platform Name = Intel® OpenCL, Platform Version = OpenCL 1.1 LINUX, SDK Revision = 7027912, NumDevs = 1, Device = Intel® Core i7-2670QM CPU @ 2.20GHz
System Info:
Local Time/Date = 14:07:10, 02/11/2012
CPU Name: Intel® Core i7-2670QM CPU @ 2.20GHz
# of CPU processors: 8
Linux version 3.2.5-1-ARCH (tobias@T-POWA-LX) (gcc version 4.6.2 20120120 (prerelease) (GCC) ) #1 SMP PREEMPT Tue Feb 7 08:34:36 CET 2012
[oclDeviceQuery] test results...
PASSED
Press ENTER to exit...
need compile wine with opencl support
if use archlinux (i look you first post, the link is archwiki, i suposed uses this distro, like me xd) install libcl, opencl-headers, and lib32-nvidia-utils. and build wine from the GIT
result:
sl1pkn07@sL1pKn07 flaccl04 $ wine CUETools.FLACCL.cmd.exe --opencl-type CPU test.wav
FLACCL#0.4, Copyright (C) 2010 Grigory Chudov.
This is free software under the GNU GPLv3+ license; There is NO WARRANTY, to
the extent permitted by law. <http://www.gnu.org/licenses/> for details.
Filename : test.wav
File Info : 44100kHz; 2 channel; 16 bit; 00:04:08.0930000
Error : CreateDefaultContext: No OpenCL devices found that matched filter criteria.
sl1pkn07@sL1pKn07 flaccl04 $ wine CUETools.FLACCL.cmd.exe --opencl-type GPU test.wav
FLACCL#0.4, Copyright (C) 2010 Grigory Chudov.
This is free software under the GNU GPLv3+ license; There is NO WARRANTY, to
the extent permitted by law. <http://www.gnu.org/licenses/> for details.
Filename : test.wav
File Info : 44100kHz; 2 channel; 16 bit; 00:04:08.0930000
Results : 157.74x; 26892210 bytes in 00:00:01.5727500 seconds;
sl1pkn07@sL1pKn07 flaccl04 $ wine CUETools.FLACCL.cmd.exe --opencl-type GPU --opencl-platform 'NVIDIA CUDA' test.wav
FLACCL#0.4, Copyright (C) 2010 Grigory Chudov.
This is free software under the GNU GPLv3+ license; There is NO WARRANTY, to
the extent permitted by law. <http://www.gnu.org/licenses/> for details.
Filename : test.wav
File Info : 44100kHz; 2 channel; 16 bit; 00:04:08.0930000
Results : 159.96x; 26892210 bytes in 00:00:01.5509400 seconds;
sl1pkn07@sL1pKn07 flaccl04 $
greetings