Discussion:
Trying out PR 261
Andrew Musselman
2016-10-16 23:59:55 UTC
Permalink
I'm not sure my setup is correct; on Ubuntu 16.04 I'm getting a firehose of
infos and warns about not finding the GPUMMul and OMPMMul classes. I've
installed libviennacl-dev 1.7.1 through apt-get. Any ideas?

Here's repro:
$ git fetch origin pull/261/head:viennacl-opmmul-a
$ mvn clean install -Pviennacl -Phadoop2

Infos and warns (these are littered consistently throughout test logs):
%*% B mapBlock {}
- C = A %*% B incompatible B keys
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- Spark-specific C = At %*% B , join
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = At %*% B , join, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = At %*% B , zippable, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = A %*% B.t
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}
- C = A %*% inCoreB
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}

Output of `clinfo`:
$ clinfo
Number of platforms 1
Platform Name NVIDIA CUDA
Platform Vendor NVIDIA Corporation
Platform Version OpenCL 1.2 CUDA 8.0.0
Platform Profile FULL_PROFILE
Platform Extensions
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_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_nv_copy_opts
Platform Extensions function suffix NV

Platform Name NVIDIA CUDA
Number of devices 1
Device Name GeForce GTX 750 Ti
Device Vendor NVIDIA Corporation
Device Vendor ID 0x10de
Device Version OpenCL 1.2 CUDA
Driver Version 367.44
Device OpenCL C Version OpenCL C 1.2
Device Type GPU
Device Profile FULL_PROFILE
Device Topology (NV) PCI-E, 01:00.0
Max compute units 5
Max clock frequency 1150MHz
Compute Capability (NV) 5.0
Device Partition (core)
Max number of sub-devices 1
Supported partition types None
Max work item dimensions 3
Max work item sizes 1024x1024x64
Max work group size 1024
Preferred work group size multiple 32
Warp size (NV) 32
Preferred / native vector sizes
char 1 / 1
short 1 / 1
int 1 / 1
long 1 / 1
half 0 / 0 (n/a)
float 1 / 1
double 1 / 1
(cl_khr_fp64)
Half-precision Floating-point support (n/a)
Single-precision Floating-point support (core)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations Yes
Double-precision Floating-point support (cl_khr_fp64)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations No
Address bits 64, Little-Endian
Global memory size 2095841280 (1.952GiB)
Error Correction support No
Max memory allocation 523960320 (499.7MiB)
Unified memory for Host and Device No
Integrated memory (NV) No
Minimum alignment for any data type 128 bytes
Alignment of base address 4096 bits (512 bytes)
Global Memory cache type Read/Write
Global Memory cache size 81920
Global Memory cache line 128 bytes
Image support Yes
Max number of samplers per kernel 32
Max size for 1D images from buffer 134217728 pixels
Max 1D or 2D image array size 2048 images
Max 2D image size 16384x16384 pixels
Max 3D image size 4096x4096x4096 pixels
Max number of read image args 256
Max number of write image args 16
Local memory type Local
Local memory size 49152 (48KiB)
Registers per block (NV) 65536
Max constant buffer size 65536 (64KiB)
Max number of constant args 9
Max size of kernel argument 4352 (4.25KiB)
Queue properties
Out-of-order execution Yes
Profiling Yes
Prefer user sync for interop No
Profiling timer resolution 1000ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Kernel execution timeout (NV) Yes
Concurrent copy and kernel execution (NV) Yes
Number of async copy engines 1
printf() buffer size 1048576 (1024KiB)
Built-in kernels
Device Available Yes
Compiler Available Yes
Linker Available Yes
Device Extensions
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_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_nv_copy_opts

NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) NVIDIA CUDA
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [NV]
clCreateContext(NULL, ...) [default] Success [NV]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in
platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No 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) No platform

ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.8
ICD loader Profile OpenCL 1.2
NOTE: your OpenCL library declares to support OpenCL 1.2,
but it seems to support up to OpenCL 2.1 too.
Trevor Grant
2016-10-17 03:04:46 UTC
Permalink
Having similar issues-

Running 14.04 (I know, supposed to be 16.04, but whatever bear with me)

Downloaded viennacl source, unzipped tar-dir/viennacl to
/usr/include/viennacl (e.g. 'installed' viennacl 1.7.1)

Updated gcc (though I don't think this was neccessary, now that I see
Andrew M was having the same issues)
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5 g++-5

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 0
--slave /usr/bin/g++ g++ /usr/bin/g++-5


System / GPU info
+------------------------------------------------------+

| NVIDIA-SMI 352.63 Driver Version: 352.63 |

|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr.
ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute
M. |
|===============================+======================+======================|
| 0 GeForce GT 740 Off | 0000:02:00.0 N/A |
N/A |
| 33% 34C P8 N/A / N/A | 411MiB / 1021MiB | N/A
Default |
+-------------------------------+----------------------+----------------------+




Build was successful- no problems there.

Still getting a slew of:

[32mMatlabLikeMatrixOpsSuite: [0m
[32m- multiplication [0m
[32m- Hadamard [0m
[32mRLikeVectorOpsSuite: [0m
[32m- Hadamard [0m
19489 [ScalaTest-main-running-RLikeVectorOpsSuite] DEBUG
org.apache.mahout.math.scalabindings.RLikeVectorOpsSuite - dense vector
dots:127.00 ms.
19489 [ScalaTest-main-running-RLikeVectorOpsSuite] DEBUG
org.apache.mahout.math.scalabindings.RLikeVectorOpsSuite - dense view
dots:201.00 ms.
[32m- dot-view performance [0m
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
19491 [ScalaTest-main-running-MathSuite] DEBUG
org.apache.mahout.math.scalabindings.MMul$ - AAt computation detected.
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
... goes on like that for a long long time



Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org

*"Fortunate is he, who is able to know the causes of things." -Virgil*


On Sun, Oct 16, 2016 at 6:59 PM, Andrew Musselman <
Post by Andrew Musselman
I'm not sure my setup is correct; on Ubuntu 16.04 I'm getting a firehose of
infos and warns about not finding the GPUMMul and OMPMMul classes. I've
installed libviennacl-dev 1.7.1 through apt-get. Any ideas?
$ git fetch origin pull/261/head:viennacl-opmmul-a
$ mvn clean install -Pviennacl -Phadoop2
%*% B mapBlock {}
- C = A %*% B incompatible B keys
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- Spark-specific C = At %*% B , join
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = At %*% B , join, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = At %*% B , zippable, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = A %*% B.t
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}
- C = A %*% inCoreB
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}
$ clinfo
Number of platforms 1
Platform Name NVIDIA CUDA
Platform Vendor NVIDIA Corporation
Platform Version OpenCL 1.2 CUDA 8.0.0
Platform Profile FULL_PROFILE
Platform Extensions
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_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_nv_copy_opts
Platform Extensions function suffix NV
Platform Name NVIDIA CUDA
Number of devices 1
Device Name GeForce GTX 750 Ti
Device Vendor NVIDIA Corporation
Device Vendor ID 0x10de
Device Version OpenCL 1.2 CUDA
Driver Version 367.44
Device OpenCL C Version OpenCL C 1.2
Device Type GPU
Device Profile FULL_PROFILE
Device Topology (NV) PCI-E, 01:00.0
Max compute units 5
Max clock frequency 1150MHz
Compute Capability (NV) 5.0
Device Partition (core)
Max number of sub-devices 1
Supported partition types None
Max work item dimensions 3
Max work item sizes 1024x1024x64
Max work group size 1024
Preferred work group size multiple 32
Warp size (NV) 32
Preferred / native vector sizes
char 1 / 1
short 1 / 1
int 1 / 1
long 1 / 1
half 0 / 0 (n/a)
float 1 / 1
double 1 / 1
(cl_khr_fp64)
Half-precision Floating-point support (n/a)
Single-precision Floating-point support (core)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations Yes
Double-precision Floating-point support (cl_khr_fp64)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations No
Address bits 64, Little-Endian
Global memory size 2095841280 (1.952GiB)
Error Correction support No
Max memory allocation 523960320 (499.7MiB)
Unified memory for Host and Device No
Integrated memory (NV) No
Minimum alignment for any data type 128 bytes
Alignment of base address 4096 bits (512 bytes)
Global Memory cache type Read/Write
Global Memory cache size 81920
Global Memory cache line 128 bytes
Image support Yes
Max number of samplers per kernel 32
Max size for 1D images from buffer 134217728 pixels
Max 1D or 2D image array size 2048 images
Max 2D image size 16384x16384 pixels
Max 3D image size 4096x4096x4096 pixels
Max number of read image args 256
Max number of write image args 16
Local memory type Local
Local memory size 49152 (48KiB)
Registers per block (NV) 65536
Max constant buffer size 65536 (64KiB)
Max number of constant args 9
Max size of kernel argument 4352 (4.25KiB)
Queue properties
Out-of-order execution Yes
Profiling Yes
Prefer user sync for interop No
Profiling timer resolution 1000ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Kernel execution timeout (NV) Yes
Concurrent copy and kernel execution (NV) Yes
Number of async copy engines 1
printf() buffer size 1048576 (1024KiB)
Built-in kernels
Device Available Yes
Compiler Available Yes
Linker Available Yes
Device Extensions
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_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_nv_copy_opts
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) NVIDIA CUDA
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [NV]
clCreateContext(NULL, ...) [default] Success [NV]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in
platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No 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) No platform
ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.8
ICD loader Profile OpenCL 1.2
NOTE: your OpenCL library declares to support OpenCL 1.2,
but it seems to support up to OpenCL 2.1 too.
Trevor Grant
2016-10-17 04:29:40 UTC
Permalink
Maybe not the long term fix, but adding

<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-native-viennacl_${scala.compat.version}</artifactId>
<scope>test</scope>
</dependency>

to math-scala/pom.xml seems to fix the afore mentioned errors


Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org

*"Fortunate is he, who is able to know the causes of things." -Virgil*
Thanks Trevor and Andrew- I think that both of your environments are
fine.. (Ubuntu 16.04 was just to recommended because ViennaCL 1.7.1 is
easily installed with sudo-apt-get install. As logn as you have 1.7.1 on
the correct path, you should be fine.
I'm getting these errors now also, and by viewing the stack trace, I can
see that the mahout_native_vienniacl*.jars did not make it onto the
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
java.lang.ClassNotFoundException: org.apache.mahout.viennacl.
opencl.GPUMMul$
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.mahout.math.scalabindings.SolverFactory$.
getOperator(SolverFactory.scala:50)
I think that i might have merged some conflicts badly when I rebased last
week, because I was not seeing these errors. I'll tey to get this worked
out in the next couple of days.
________________________________
Sent: Sunday, October 16, 2016 11:04:46 PM
Subject: Re: Trying out PR 261
Having similar issues-
Running 14.04 (I know, supposed to be 16.04, but whatever bear with me)
Downloaded viennacl source, unzipped tar-dir/viennacl to
/usr/include/viennacl (e.g. 'installed' viennacl 1.7.1)
Updated gcc (though I don't think this was neccessary, now that I see
Andrew M was having the same issues)
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5 g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 0
--slave /usr/bin/g++ g++ /usr/bin/g++-5
System / GPU info
+------------------------------------------------------+
| NVIDIA-SMI 352.63 Driver Version: 352.63 |
|-------------------------------+----------------------+----
------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr.
ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute
M. |
|===============================+======================+====
==================|
| 0 GeForce GT 740 Off | 0000:02:00.0 N/A |
N/A |
| 33% 34C P8 N/A / N/A | 411MiB / 1021MiB | N/A
Default |
+-------------------------------+----------------------+----
------------------+
Build was successful- no problems there.
[32mMatlabLikeMatrixOpsSuite: [0m
[32m- multiplication [0m
[32m- Hadamard [0m
[32mRLikeVectorOpsSuite: [0m
[32m- Hadamard [0m
19489 [ScalaTest-main-running-RLikeVectorOpsSuite] DEBUG
org.apache.mahout.math.scalabindings.RLikeVectorOpsSuite - dense vector
dots:127.00 ms.
19489 [ScalaTest-main-running-RLikeVectorOpsSuite] DEBUG
org.apache.mahout.math.scalabindings.RLikeVectorOpsSuite - dense view
dots:201.00 ms.
[32m- dot-view performance [0m
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
19491 [ScalaTest-main-running-MathSuite] DEBUG
org.apache.mahout.math.scalabindings.MMul$ - AAt computation detected.
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
... goes on like that for a long long time
Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org
*"Fortunate is he, who is able to know the causes of things." -Virgil*
On Sun, Oct 16, 2016 at 6:59 PM, Andrew Musselman <
Post by Andrew Musselman
I'm not sure my setup is correct; on Ubuntu 16.04 I'm getting a firehose
of
Post by Andrew Musselman
infos and warns about not finding the GPUMMul and OMPMMul classes. I've
installed libviennacl-dev 1.7.1 through apt-get. Any ideas?
$ git fetch origin pull/261/head:viennacl-opmmul-a
$ mvn clean install -Pviennacl -Phadoop2
%*% B mapBlock {}
- C = A %*% B incompatible B keys
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- Spark-specific C = At %*% B , join
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = At %*% B , join, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = At %*% B , zippable, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = A %*% B.t
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}
- C = A %*% inCoreB
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}
$ clinfo
Number of platforms 1
Platform Name NVIDIA CUDA
Platform Vendor NVIDIA Corporation
Platform Version OpenCL 1.2 CUDA 8.0.0
Platform Profile FULL_PROFILE
Platform Extensions
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_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_nv_copy_opts
Platform Extensions function suffix NV
Platform Name NVIDIA CUDA
Number of devices 1
Device Name GeForce GTX 750 Ti
Device Vendor NVIDIA Corporation
Device Vendor ID 0x10de
Device Version OpenCL 1.2 CUDA
Driver Version 367.44
Device OpenCL C Version OpenCL C 1.2
Device Type GPU
Device Profile FULL_PROFILE
Device Topology (NV) PCI-E, 01:00.0
Max compute units 5
Max clock frequency 1150MHz
Compute Capability (NV) 5.0
Device Partition (core)
Max number of sub-devices 1
Supported partition types None
Max work item dimensions 3
Max work item sizes 1024x1024x64
Max work group size 1024
Preferred work group size multiple 32
Warp size (NV) 32
Preferred / native vector sizes
char 1 / 1
short 1 / 1
int 1 / 1
long 1 / 1
half 0 / 0
(n/a)
Post by Andrew Musselman
float 1 / 1
double 1 / 1
(cl_khr_fp64)
Half-precision Floating-point support (n/a)
Single-precision Floating-point support (core)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations Yes
Double-precision Floating-point support (cl_khr_fp64)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations No
Address bits 64, Little-Endian
Global memory size 2095841280 (1.952GiB)
Error Correction support No
Max memory allocation 523960320 (499.7MiB)
Unified memory for Host and Device No
Integrated memory (NV) No
Minimum alignment for any data type 128 bytes
Alignment of base address 4096 bits (512 bytes)
Global Memory cache type Read/Write
Global Memory cache size 81920
Global Memory cache line 128 bytes
Image support Yes
Max number of samplers per kernel 32
Max size for 1D images from buffer 134217728 pixels
Max 1D or 2D image array size 2048 images
Max 2D image size 16384x16384 pixels
Max 3D image size 4096x4096x4096 pixels
Max number of read image args 256
Max number of write image args 16
Local memory type Local
Local memory size 49152 (48KiB)
Registers per block (NV) 65536
Max constant buffer size 65536 (64KiB)
Max number of constant args 9
Max size of kernel argument 4352 (4.25KiB)
Queue properties
Out-of-order execution Yes
Profiling Yes
Prefer user sync for interop No
Profiling timer resolution 1000ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Kernel execution timeout (NV) Yes
Concurrent copy and kernel execution (NV) Yes
Number of async copy engines 1
printf() buffer size 1048576 (1024KiB)
Built-in kernels
Device Available Yes
Compiler Available Yes
Linker Available Yes
Device Extensions
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_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_nv_copy_opts
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) NVIDIA CUDA
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [NV]
clCreateContext(NULL, ...) [default] Success [NV]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in
platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices
found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found
in
Post by Andrew Musselman
platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) No platform
ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.8
ICD loader Profile OpenCL 1.2
NOTE: your OpenCL library declares to support OpenCL 1.2,
but it seems to support up to OpenCL 2.1 too.
Trevor Grant
2016-10-17 04:43:32 UTC
Permalink
NOTE:

The last solution creates a cyclical dependency-

The way I made it work was happen-stance.

1)
mvn clean install -Pviennacl -Phadoop2 -DskipTests

2)
update the pom as described previously

3)
cd math-scala

4)
mvn test

that will make it work- hacky but POC.

Next how to do this 'right'.

tg



Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org

*"Fortunate is he, who is able to know the causes of things." -Virgil*
Post by Trevor Grant
Maybe not the long term fix, but adding
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-native-viennacl_${scala.compat.
version}</artifactId>
<scope>test</scope>
</dependency>
to math-scala/pom.xml seems to fix the afore mentioned errors
Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org
*"Fortunate is he, who is able to know the causes of things." -Virgil*
Thanks Trevor and Andrew- I think that both of your environments are
fine.. (Ubuntu 16.04 was just to recommended because ViennaCL 1.7.1 is
easily installed with sudo-apt-get install. As logn as you have 1.7.1 on
the correct path, you should be fine.
I'm getting these errors now also, and by viewing the stack trace, I can
see that the mahout_native_vienniacl*.jars did not make it onto the
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
java.lang.ClassNotFoundException: org.apache.mahout.viennacl.ope
ncl.GPUMMul$
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.mahout.math.scalabindings.SolverFactory$.getOpera
tor(SolverFactory.scala:50)
I think that i might have merged some conflicts badly when I rebased last
week, because I was not seeing these errors. I'll tey to get this worked
out in the next couple of days.
________________________________
Sent: Sunday, October 16, 2016 11:04:46 PM
Subject: Re: Trying out PR 261
Having similar issues-
Running 14.04 (I know, supposed to be 16.04, but whatever bear with me)
Downloaded viennacl source, unzipped tar-dir/viennacl to
/usr/include/viennacl (e.g. 'installed' viennacl 1.7.1)
Updated gcc (though I don't think this was neccessary, now that I see
Andrew M was having the same issues)
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5 g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 0
--slave /usr/bin/g++ g++ /usr/bin/g++-5
System / GPU info
+------------------------------------------------------+
| NVIDIA-SMI 352.63 Driver Version: 352.63 |
|-------------------------------+----------------------+----
------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr.
ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute
M. |
|===============================+======================+====
==================|
| 0 GeForce GT 740 Off | 0000:02:00.0 N/A |
N/A |
| 33% 34C P8 N/A / N/A | 411MiB / 1021MiB | N/A
Default |
+-------------------------------+----------------------+----
------------------+
Build was successful- no problems there.
[32mMatlabLikeMatrixOpsSuite: [0m
[32m- multiplication [0m
[32m- Hadamard [0m
[32mRLikeVectorOpsSuite: [0m
[32m- Hadamard [0m
19489 [ScalaTest-main-running-RLikeVectorOpsSuite] DEBUG
org.apache.mahout.math.scalabindings.RLikeVectorOpsSuite - dense vector
dots:127.00 ms.
19489 [ScalaTest-main-running-RLikeVectorOpsSuite] DEBUG
org.apache.mahout.math.scalabindings.RLikeVectorOpsSuite - dense view
dots:201.00 ms.
[32m- dot-view performance [0m
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
19491 [ScalaTest-main-running-MathSuite] DEBUG
org.apache.mahout.math.scalabindings.MMul$ - AAt computation detected.
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
... goes on like that for a long long time
Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org
*"Fortunate is he, who is able to know the causes of things." -Virgil*
On Sun, Oct 16, 2016 at 6:59 PM, Andrew Musselman <
Post by Andrew Musselman
I'm not sure my setup is correct; on Ubuntu 16.04 I'm getting a
firehose of
Post by Andrew Musselman
infos and warns about not finding the GPUMMul and OMPMMul classes. I've
installed libviennacl-dev 1.7.1 through apt-get. Any ideas?
$ git fetch origin pull/261/head:viennacl-opmmul-a
$ mvn clean install -Pviennacl -Phadoop2
%*% B mapBlock {}
- C = A %*% B incompatible B keys
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- Spark-specific C = At %*% B , join
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = At %*% B , join, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = At %*% B , zippable, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = A %*% B.t
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}
- C = A %*% inCoreB
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}
$ clinfo
Number of platforms 1
Platform Name NVIDIA CUDA
Platform Vendor NVIDIA Corporation
Platform Version OpenCL 1.2 CUDA 8.0.0
Platform Profile FULL_PROFILE
Platform Extensions
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_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_nv_copy_opts
Platform Extensions function suffix NV
Platform Name NVIDIA CUDA
Number of devices 1
Device Name GeForce GTX 750 Ti
Device Vendor NVIDIA Corporation
Device Vendor ID 0x10de
Device Version OpenCL 1.2 CUDA
Driver Version 367.44
Device OpenCL C Version OpenCL C 1.2
Device Type GPU
Device Profile FULL_PROFILE
Device Topology (NV) PCI-E, 01:00.0
Max compute units 5
Max clock frequency 1150MHz
Compute Capability (NV) 5.0
Device Partition (core)
Max number of sub-devices 1
Supported partition types None
Max work item dimensions 3
Max work item sizes 1024x1024x64
Max work group size 1024
Preferred work group size multiple 32
Warp size (NV) 32
Preferred / native vector sizes
char 1 / 1
short 1 / 1
int 1 / 1
long 1 / 1
half 0 / 0
(n/a)
Post by Andrew Musselman
float 1 / 1
double 1 / 1
(cl_khr_fp64)
Half-precision Floating-point support (n/a)
Single-precision Floating-point support (core)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations Yes
Double-precision Floating-point support (cl_khr_fp64)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations No
Address bits 64, Little-Endian
Global memory size 2095841280 (1.952GiB)
Error Correction support No
Max memory allocation 523960320 (499.7MiB)
Unified memory for Host and Device No
Integrated memory (NV) No
Minimum alignment for any data type 128 bytes
Alignment of base address 4096 bits (512 bytes)
Global Memory cache type Read/Write
Global Memory cache size 81920
Global Memory cache line 128 bytes
Image support Yes
Max number of samplers per kernel 32
Max size for 1D images from buffer 134217728 pixels
Max 1D or 2D image array size 2048 images
Max 2D image size 16384x16384 pixels
Max 3D image size 4096x4096x4096 pixels
Max number of read image args 256
Max number of write image args 16
Local memory type Local
Local memory size 49152 (48KiB)
Registers per block (NV) 65536
Max constant buffer size 65536 (64KiB)
Max number of constant args 9
Max size of kernel argument 4352 (4.25KiB)
Queue properties
Out-of-order execution Yes
Profiling Yes
Prefer user sync for interop No
Profiling timer resolution 1000ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Kernel execution timeout (NV) Yes
Concurrent copy and kernel execution (NV) Yes
Number of async copy engines 1
printf() buffer size 1048576 (1024KiB)
Built-in kernels
Device Available Yes
Compiler Available Yes
Linker Available Yes
Device Extensions
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_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_nv_copy_opts
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) NVIDIA CUDA
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [NV]
clCreateContext(NULL, ...) [default] Success [NV]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in
platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices
found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices
found in
Post by Andrew Musselman
platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) No platform
ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.8
ICD loader Profile OpenCL 1.2
NOTE: your OpenCL library declares to support OpenCL 1.2,
but it seems to support up to OpenCL 2.1 too.
Andrew Musselman
2016-10-17 16:47:00 UTC
Permalink
Using the viennacl-omp profile I'm getting an out of memory error even with
Xmx set in MAHOUT_OPTS to 1g:

- mmul microbenchmark
+ Mahout multiplication time: 8920 ms.
+ ViennaCL/cpu/OpenMP multiplication time: 616 ms.
- trans
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
*** RUN ABORTED ***
java.lang.OutOfMemoryError: Java heap space
at
it.unimi.dsi.fastutil.ints.Int2DoubleOpenHashMap.rehash(Int2DoubleOpenHashMap.java:1059)
at
it.unimi.dsi.fastutil.ints.Int2DoubleOpenHashMap.insert(Int2DoubleOpenHashMap.java:295)
at
it.unimi.dsi.fastutil.ints.Int2DoubleOpenHashMap.put(Int2DoubleOpenHashMap.java:301)
at
org.apache.mahout.math.RandomAccessSparseVector.setQuick(RandomAccessSparseVector.java:130)
at
org.apache.mahout.math.SparseRowMatrix.setQuick(SparseRowMatrix.java:105)
at org.apache.mahout.math.AbstractMatrix.assign(AbstractMatrix.java:256)
at
org.apache.mahout.math.scalabindings.MatrixOps.$colon$eq(MatrixOps.scala:192)
at
org.apache.mahout.math.scalabindings.MatrixOps.cloned(MatrixOps.scala:260)
at
org.apache.mahout.math.scalabindings.MatrixOps.$minus(MatrixOps.scala:66)
at
org.apache.mahout.viennacl.openmp.ViennaCLSuiteOMP$$anonfun$4.apply$mcV$sp(ViennaCLSuiteOMP.scala:152)
...
[INFO]
------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Mahout Build Tools ................................. SUCCESS [
1.131 s]
[INFO] Apache Mahout ...................................... SUCCESS [
0.023 s]
[INFO] Mahout Math ........................................ SUCCESS [
31.439 s]
[INFO] Mahout HDFS ........................................ SUCCESS [
2.151 s]
[INFO] Mahout Math Scala bindings ......................... SUCCESS [02:30
min]
[INFO] Mahout Spark bindings .............................. SUCCESS [
43.884 s]
[INFO] Mahout Flink bindings .............................. SUCCESS [04:13
min]
[INFO] Mahout Spark bindings shell ........................ SUCCESS [
4.071 s]
[INFO] Mahout Release Package ............................. SUCCESS [
1.311 s]
[INFO] Mahout H2O backend ................................. SUCCESS [02:50
min]
[INFO] Mahout Native VienniaCL OpenMP Bindings ............ FAILURE [
36.106 s]
Post by Trevor Grant
The last solution creates a cyclical dependency-
The way I made it work was happen-stance.
1)
mvn clean install -Pviennacl -Phadoop2 -DskipTests
2)
update the pom as described previously
3)
cd math-scala
4)
mvn test
that will make it work- hacky but POC.
Next how to do this 'right'.
tg
Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org
*"Fortunate is he, who is able to know the causes of things." -Virgil*
Post by Trevor Grant
Maybe not the long term fix, but adding
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-native-viennacl_${scala.compat.
version}</artifactId>
<scope>test</scope>
</dependency>
to math-scala/pom.xml seems to fix the afore mentioned errors
Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org
*"Fortunate is he, who is able to know the causes of things." -Virgil*
Thanks Trevor and Andrew- I think that both of your environments are
fine.. (Ubuntu 16.04 was just to recommended because ViennaCL 1.7.1 is
easily installed with sudo-apt-get install. As logn as you have 1.7.1
on
Post by Trevor Grant
the correct path, you should be fine.
I'm getting these errors now also, and by viewing the stack trace, I can
see that the mahout_native_vienniacl*.jars did not make it onto the
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
java.lang.ClassNotFoundException: org.apache.mahout.viennacl.ope
ncl.GPUMMul$
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.mahout.math.scalabindings.SolverFactory$.getOpera
tor(SolverFactory.scala:50)
I think that i might have merged some conflicts badly when I rebased
last
Post by Trevor Grant
week, because I was not seeing these errors. I'll tey to get this
worked
Post by Trevor Grant
out in the next couple of days.
________________________________
Sent: Sunday, October 16, 2016 11:04:46 PM
Subject: Re: Trying out PR 261
Having similar issues-
Running 14.04 (I know, supposed to be 16.04, but whatever bear with me)
Downloaded viennacl source, unzipped tar-dir/viennacl to
/usr/include/viennacl (e.g. 'installed' viennacl 1.7.1)
Updated gcc (though I don't think this was neccessary, now that I see
Andrew M was having the same issues)
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5 g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 0
--slave /usr/bin/g++ g++ /usr/bin/g++-5
System / GPU info
+------------------------------------------------------+
| NVIDIA-SMI 352.63 Driver Version: 352.63 |
|-------------------------------+----------------------+----
------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile
Uncorr.
Post by Trevor Grant
ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util
Compute
Post by Trevor Grant
M. |
|===============================+======================+====
==================|
| 0 GeForce GT 740 Off | 0000:02:00.0 N/A |
N/A |
| 33% 34C P8 N/A / N/A | 411MiB / 1021MiB | N/A
Default |
+-------------------------------+----------------------+----
------------------+
Build was successful- no problems there.
[32mMatlabLikeMatrixOpsSuite: [0m
[32m- multiplication [0m
[32m- Hadamard [0m
[32mRLikeVectorOpsSuite: [0m
[32m- Hadamard [0m
19489 [ScalaTest-main-running-RLikeVectorOpsSuite] DEBUG
org.apache.mahout.math.scalabindings.RLikeVectorOpsSuite - dense
vector
Post by Trevor Grant
dots:127.00 ms.
19489 [ScalaTest-main-running-RLikeVectorOpsSuite] DEBUG
org.apache.mahout.math.scalabindings.RLikeVectorOpsSuite - dense view
dots:201.00 ms.
[32m- dot-view performance [0m
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
19491 [ScalaTest-main-running-MathSuite] DEBUG
org.apache.mahout.math.scalabindings.MMul$ - AAt computation detected.
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
... goes on like that for a long long time
Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org
*"Fortunate is he, who is able to know the causes of things." -Virgil*
On Sun, Oct 16, 2016 at 6:59 PM, Andrew Musselman <
Post by Andrew Musselman
I'm not sure my setup is correct; on Ubuntu 16.04 I'm getting a
firehose of
Post by Andrew Musselman
infos and warns about not finding the GPUMMul and OMPMMul classes.
I've
Post by Trevor Grant
Post by Andrew Musselman
installed libviennacl-dev 1.7.1 through apt-get. Any ideas?
$ git fetch origin pull/261/head:viennacl-opmmul-a
$ mvn clean install -Pviennacl -Phadoop2
Infos and warns (these are littered consistently throughout test
%*% B mapBlock {}
- C = A %*% B incompatible B keys
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- Spark-specific C = At %*% B , join
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = At %*% B , join, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = At %*% B , zippable, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = A %*% B.t
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}
- C = A %*% inCoreB
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}
$ clinfo
Number of platforms 1
Platform Name NVIDIA CUDA
Platform Vendor NVIDIA Corporation
Platform Version OpenCL 1.2 CUDA
8.0.0
Post by Trevor Grant
Post by Andrew Musselman
Platform Profile FULL_PROFILE
Platform Extensions
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_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing
cl_nv_compiler_options cl_nv_device_attribute_query
cl_nv_pragma_unroll
Post by Trevor Grant
Post by Andrew Musselman
cl_nv_copy_opts
Platform Extensions function suffix NV
Platform Name NVIDIA CUDA
Number of devices 1
Device Name GeForce GTX 750 Ti
Device Vendor NVIDIA Corporation
Device Vendor ID 0x10de
Device Version OpenCL 1.2 CUDA
Driver Version 367.44
Device OpenCL C Version OpenCL C 1.2
Device Type GPU
Device Profile FULL_PROFILE
Device Topology (NV) PCI-E, 01:00.0
Max compute units 5
Max clock frequency 1150MHz
Compute Capability (NV) 5.0
Device Partition (core)
Max number of sub-devices 1
Supported partition types None
Max work item dimensions 3
Max work item sizes 1024x1024x64
Max work group size 1024
Preferred work group size multiple 32
Warp size (NV) 32
Preferred / native vector sizes
char 1 / 1
short 1 / 1
int 1 / 1
long 1 / 1
half 0 / 0
(n/a)
Post by Andrew Musselman
float 1 / 1
double 1 / 1
(cl_khr_fp64)
Half-precision Floating-point support (n/a)
Single-precision Floating-point support (core)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations Yes
Double-precision Floating-point support (cl_khr_fp64)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations No
Address bits 64, Little-Endian
Global memory size 2095841280
(1.952GiB)
Post by Trevor Grant
Post by Andrew Musselman
Error Correction support No
Max memory allocation 523960320 (499.7MiB)
Unified memory for Host and Device No
Integrated memory (NV) No
Minimum alignment for any data type 128 bytes
Alignment of base address 4096 bits (512
bytes)
Post by Trevor Grant
Post by Andrew Musselman
Global Memory cache type Read/Write
Global Memory cache size 81920
Global Memory cache line 128 bytes
Image support Yes
Max number of samplers per kernel 32
Max size for 1D images from buffer 134217728 pixels
Max 1D or 2D image array size 2048 images
Max 2D image size 16384x16384 pixels
Max 3D image size 4096x4096x4096
pixels
Post by Trevor Grant
Post by Andrew Musselman
Max number of read image args 256
Max number of write image args 16
Local memory type Local
Local memory size 49152 (48KiB)
Registers per block (NV) 65536
Max constant buffer size 65536 (64KiB)
Max number of constant args 9
Max size of kernel argument 4352 (4.25KiB)
Queue properties
Out-of-order execution Yes
Profiling Yes
Prefer user sync for interop No
Profiling timer resolution 1000ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Kernel execution timeout (NV) Yes
Concurrent copy and kernel execution (NV) Yes
Number of async copy engines 1
printf() buffer size 1048576 (1024KiB)
Built-in kernels
Device Available Yes
Compiler Available Yes
Linker Available Yes
Device Extensions
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_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing
cl_nv_compiler_options cl_nv_device_attribute_query
cl_nv_pragma_unroll
Post by Trevor Grant
Post by Andrew Musselman
cl_nv_copy_opts
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) NVIDIA CUDA
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [NV]
clCreateContext(NULL, ...) [default] Success [NV]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found
in
Post by Trevor Grant
Post by Andrew Musselman
platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No
devices
Post by Trevor Grant
Post by Andrew Musselman
found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices
found in
Post by Andrew Musselman
platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) No platform
ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free
software
Post by Trevor Grant
Post by Andrew Musselman
ICD loader Version 2.2.8
ICD loader Profile OpenCL 1.2
NOTE: your OpenCL library declares to support OpenCL 1.2,
but it seems to support up to OpenCL 2.1 too.
Andrew Musselman
2016-10-17 17:10:33 UTC
Permalink
I got the error before setting Xmx however.
I think that the memory should be set to 3 or 4G in the tests in
pom.xml.. maybe you're o erring that setting?
Sent from my Verizon Wireless 4G LTE smartphone
-------- Original message --------
Date: 10/17/2016 9:47 AM (GMT-08:00)
Subject: Re: Trying out PR 261
Using the viennacl-omp profile I'm getting an out of memory error even with
- mmul microbenchmark
+ Mahout multiplication time: 8920 ms.
+ ViennaCL/cpu/OpenMP multiplication time: 616 ms.
- trans
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
*** RUN ABORTED ***
java.lang.OutOfMemoryError: Java heap space
at
it.unimi.dsi.fastutil.ints.Int2DoubleOpenHashMap.rehash(
Int2DoubleOpenHashMap.java:1059)
at
it.unimi.dsi.fastutil.ints.Int2DoubleOpenHashMap.insert(
Int2DoubleOpenHashMap.java:295)
at
it.unimi.dsi.fastutil.ints.Int2DoubleOpenHashMap.put(
Int2DoubleOpenHashMap.java:301)
at
org.apache.mahout.math.RandomAccessSparseVector.setQuick(
RandomAccessSparseVector.java:130)
at
org.apache.mahout.math.SparseRowMatrix.setQuick(SparseRowMatrix.java:105)
at org.apache.mahout.math.AbstractMatrix.assign(AbstractMatrix.java:256)
at
org.apache.mahout.math.scalabindings.MatrixOps.$
colon$eq(MatrixOps.scala:192)
at
org.apache.mahout.math.scalabindings.MatrixOps.cloned(MatrixOps.scala:260)
at
org.apache.mahout.math.scalabindings.MatrixOps.$minus(MatrixOps.scala:66)
at
org.apache.mahout.viennacl.openmp.ViennaCLSuiteOMP$$
anonfun$4.apply$mcV$sp(ViennaCLSuiteOMP.scala:152)
...
[INFO]
------------------------------------------------------------------------
[INFO]
[INFO] Mahout Build Tools ................................. SUCCESS [
1.131 s]
[INFO] Apache Mahout ...................................... SUCCESS [
0.023 s]
[INFO] Mahout Math ........................................ SUCCESS [
31.439 s]
[INFO] Mahout HDFS ........................................ SUCCESS [
2.151 s]
[INFO] Mahout Math Scala bindings ......................... SUCCESS [02:30
min]
[INFO] Mahout Spark bindings .............................. SUCCESS [
43.884 s]
[INFO] Mahout Flink bindings .............................. SUCCESS [04:13
min]
[INFO] Mahout Spark bindings shell ........................ SUCCESS [
4.071 s]
[INFO] Mahout Release Package ............................. SUCCESS [
1.311 s]
[INFO] Mahout H2O backend ................................. SUCCESS [02:50
min]
[INFO] Mahout Native VienniaCL OpenMP Bindings ............ FAILURE [
36.106 s]
Post by Trevor Grant
The last solution creates a cyclical dependency-
The way I made it work was happen-stance.
1)
mvn clean install -Pviennacl -Phadoop2 -DskipTests
2)
update the pom as described previously
3)
cd math-scala
4)
mvn test
that will make it work- hacky but POC.
Next how to do this 'right'.
tg
Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org
*"Fortunate is he, who is able to know the causes of things." -Virgil*
Post by Trevor Grant
Maybe not the long term fix, but adding
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-native-viennacl_${scala.compat.
version}</artifactId>
<scope>test</scope>
</dependency>
to math-scala/pom.xml seems to fix the afore mentioned errors
Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org
*"Fortunate is he, who is able to know the causes of things." -Virgil*
Thanks Trevor and Andrew- I think that both of your environments are
fine.. (Ubuntu 16.04 was just to recommended because ViennaCL 1.7.1 is
easily installed with sudo-apt-get install. As logn as you have 1.7.1
on
Post by Trevor Grant
the correct path, you should be fine.
I'm getting these errors now also, and by viewing the stack trace, I
can
Post by Trevor Grant
Post by Trevor Grant
see that the mahout_native_vienniacl*.jars did not make it onto the
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
java.lang.ClassNotFoundException: org.apache.mahout.viennacl.ope
ncl.GPUMMul$
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.mahout.math.scalabindings.SolverFactory$.getOpera
tor(SolverFactory.scala:50)
I think that i might have merged some conflicts badly when I rebased
last
Post by Trevor Grant
week, because I was not seeing these errors. I'll tey to get this
worked
Post by Trevor Grant
out in the next couple of days.
________________________________
Sent: Sunday, October 16, 2016 11:04:46 PM
Subject: Re: Trying out PR 261
Having similar issues-
Running 14.04 (I know, supposed to be 16.04, but whatever bear with
me)
Post by Trevor Grant
Post by Trevor Grant
Downloaded viennacl source, unzipped tar-dir/viennacl to
/usr/include/viennacl (e.g. 'installed' viennacl 1.7.1)
Updated gcc (though I don't think this was neccessary, now that I see
Andrew M was having the same issues)
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5 g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 0
--slave /usr/bin/g++ g++ /usr/bin/g++-5
System / GPU info
+------------------------------------------------------+
| NVIDIA-SMI 352.63 Driver Version: 352.63 |
|-------------------------------+----------------------+----
------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile
Uncorr.
Post by Trevor Grant
ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util
Compute
Post by Trevor Grant
M. |
|===============================+======================+====
==================|
| 0 GeForce GT 740 Off | 0000:02:00.0 N/A |
N/A |
| 33% 34C P8 N/A / N/A | 411MiB / 1021MiB | N/A
Default |
+-------------------------------+----------------------+----
------------------+
Build was successful- no problems there.
[32mMatlabLikeMatrixOpsSuite: [0m
[32m- multiplication [0m
[32m- Hadamard [0m
[32mRLikeVectorOpsSuite: [0m
[32m- Hadamard [0m
19489 [ScalaTest-main-running-RLikeVectorOpsSuite] DEBUG
org.apache.mahout.math.scalabindings.RLikeVectorOpsSuite - dense
vector
Post by Trevor Grant
dots:127.00 ms.
19489 [ScalaTest-main-running-RLikeVectorOpsSuite] DEBUG
org.apache.mahout.math.scalabindings.RLikeVectorOpsSuite - dense
view
Post by Trevor Grant
Post by Trevor Grant
dots:201.00 ms.
[32m- dot-view performance [0m
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
19491 [ScalaTest-main-running-MathSuite] DEBUG
org.apache.mahout.math.scalabindings.MMul$ - AAt computation
detected.
Post by Trevor Grant
Post by Trevor Grant
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
... goes on like that for a long long time
Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org
*"Fortunate is he, who is able to know the causes of things."
-Virgil*
Post by Trevor Grant
Post by Trevor Grant
On Sun, Oct 16, 2016 at 6:59 PM, Andrew Musselman <
Post by Andrew Musselman
I'm not sure my setup is correct; on Ubuntu 16.04 I'm getting a
firehose of
Post by Andrew Musselman
infos and warns about not finding the GPUMMul and OMPMMul classes.
I've
Post by Trevor Grant
Post by Andrew Musselman
installed libviennacl-dev 1.7.1 through apt-get. Any ideas?
$ git fetch origin pull/261/head:viennacl-opmmul-a
$ mvn clean install -Pviennacl -Phadoop2
Infos and warns (these are littered consistently throughout test
%*% B mapBlock {}
- C = A %*% B incompatible B keys
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- Spark-specific C = At %*% B , join
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = At %*% B , join, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = At %*% B , zippable, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
- C = A %*% B.t
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}
- C = A %*% inCoreB
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}
$ clinfo
Number of platforms 1
Platform Name NVIDIA CUDA
Platform Vendor NVIDIA Corporation
Platform Version OpenCL 1.2 CUDA
8.0.0
Post by Trevor Grant
Post by Andrew Musselman
Platform Profile FULL_PROFILE
Platform Extensions
cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_
atomics
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics
cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd
cl_khr_gl_sharing
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_nv_compiler_options cl_nv_device_attribute_query
cl_nv_pragma_unroll
Post by Trevor Grant
Post by Andrew Musselman
cl_nv_copy_opts
Platform Extensions function suffix NV
Platform Name NVIDIA CUDA
Number of devices 1
Device Name GeForce GTX 750 Ti
Device Vendor NVIDIA Corporation
Device Vendor ID 0x10de
Device Version OpenCL 1.2 CUDA
Driver Version 367.44
Device OpenCL C Version OpenCL C 1.2
Device Type GPU
Device Profile FULL_PROFILE
Device Topology (NV) PCI-E, 01:00.0
Max compute units 5
Max clock frequency 1150MHz
Compute Capability (NV) 5.0
Device Partition (core)
Max number of sub-devices 1
Supported partition types None
Max work item dimensions 3
Max work item sizes 1024x1024x64
Max work group size 1024
Preferred work group size multiple 32
Warp size (NV) 32
Preferred / native vector sizes
char 1 / 1
short 1 / 1
int 1 / 1
long 1 / 1
half 0 / 0
(n/a)
Post by Andrew Musselman
float 1 / 1
double 1 / 1
(cl_khr_fp64)
Half-precision Floating-point support (n/a)
Single-precision Floating-point support (core)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations Yes
Double-precision Floating-point support (cl_khr_fp64)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations No
Address bits 64, Little-Endian
Global memory size 2095841280
(1.952GiB)
Post by Trevor Grant
Post by Andrew Musselman
Error Correction support No
Max memory allocation 523960320
(499.7MiB)
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Unified memory for Host and Device No
Integrated memory (NV) No
Minimum alignment for any data type 128 bytes
Alignment of base address 4096 bits (512
bytes)
Post by Trevor Grant
Post by Andrew Musselman
Global Memory cache type Read/Write
Global Memory cache size 81920
Global Memory cache line 128 bytes
Image support Yes
Max number of samplers per kernel 32
Max size for 1D images from buffer 134217728 pixels
Max 1D or 2D image array size 2048 images
Max 2D image size 16384x16384 pixels
Max 3D image size 4096x4096x4096
pixels
Post by Trevor Grant
Post by Andrew Musselman
Max number of read image args 256
Max number of write image args 16
Local memory type Local
Local memory size 49152 (48KiB)
Registers per block (NV) 65536
Max constant buffer size 65536 (64KiB)
Max number of constant args 9
Max size of kernel argument 4352 (4.25KiB)
Queue properties
Out-of-order execution Yes
Profiling Yes
Prefer user sync for interop No
Profiling timer resolution 1000ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Kernel execution timeout (NV) Yes
Concurrent copy and kernel execution (NV) Yes
Number of async copy engines 1
printf() buffer size 1048576 (1024KiB)
Built-in kernels
Device Available Yes
Compiler Available Yes
Linker Available Yes
Device Extensions
cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_
atomics
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics
cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd
cl_khr_gl_sharing
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_nv_compiler_options cl_nv_device_attribute_query
cl_nv_pragma_unroll
Post by Trevor Grant
Post by Andrew Musselman
cl_nv_copy_opts
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) NVIDIA CUDA
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [NV]
clCreateContext(NULL, ...) [default] Success [NV]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices
found
Post by Trevor Grant
in
Post by Trevor Grant
Post by Andrew Musselman
platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No
devices
Post by Trevor Grant
Post by Andrew Musselman
found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices
found in
Post by Andrew Musselman
platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) No platform
ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free
software
Post by Trevor Grant
Post by Andrew Musselman
ICD loader Version 2.2.8
ICD loader Profile OpenCL 1.2
NOTE: your OpenCL library declares to support OpenCL 1.2,
but it seems to support up to OpenCL 2.1 too.
Andrew Musselman
2016-10-17 17:41:28 UTC
Permalink
No this was with the -omp profile; I'm going to try out his hack now for
non-omp.
That is weird.. did u tried it with Trevor's fix?
Sent from my Verizon Wireless 4G LTE smartphone
-------- Original message --------
Date: 10/17/2016 10:11 AM (GMT-08:00)
Subject: Re: Trying out PR 261
I got the error before setting Xmx however.
I think that the memory should be set to 3 or 4G in the tests in
pom.xml.. maybe you're o erring that setting?
Sent from my Verizon Wireless 4G LTE smartphone
-------- Original message --------
Date: 10/17/2016 9:47 AM (GMT-08:00)
Subject: Re: Trying out PR 261
Using the viennacl-omp profile I'm getting an out of memory error even
with
- mmul microbenchmark
+ Mahout multiplication time: 8920 ms.
+ ViennaCL/cpu/OpenMP multiplication time: 616 ms.
- trans
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
*** RUN ABORTED ***
java.lang.OutOfMemoryError: Java heap space
at
it.unimi.dsi.fastutil.ints.Int2DoubleOpenHashMap.rehash(
Int2DoubleOpenHashMap.java:1059)
at
it.unimi.dsi.fastutil.ints.Int2DoubleOpenHashMap.insert(
Int2DoubleOpenHashMap.java:295)
at
it.unimi.dsi.fastutil.ints.Int2DoubleOpenHashMap.put(
Int2DoubleOpenHashMap.java:301)
at
org.apache.mahout.math.RandomAccessSparseVector.setQuick(
RandomAccessSparseVector.java:130)
at
org.apache.mahout.math.SparseRowMatrix.setQuick(
SparseRowMatrix.java:105)
at org.apache.mahout.math.AbstractMatrix.assign(
AbstractMatrix.java:256)
at
org.apache.mahout.math.scalabindings.MatrixOps.$
colon$eq(MatrixOps.scala:192)
at
org.apache.mahout.math.scalabindings.MatrixOps.
cloned(MatrixOps.scala:260)
at
org.apache.mahout.math.scalabindings.MatrixOps.$
minus(MatrixOps.scala:66)
at
org.apache.mahout.viennacl.openmp.ViennaCLSuiteOMP$$
anonfun$4.apply$mcV$sp(ViennaCLSuiteOMP.scala:152)
...
[INFO]
------------------------------------------------------------------------
[INFO]
[INFO] Mahout Build Tools ................................. SUCCESS [
1.131 s]
[INFO] Apache Mahout ...................................... SUCCESS [
0.023 s]
[INFO] Mahout Math ........................................ SUCCESS [
31.439 s]
[INFO] Mahout HDFS ........................................ SUCCESS [
2.151 s]
[INFO] Mahout Math Scala bindings ......................... SUCCESS
[02:30
min]
[INFO] Mahout Spark bindings .............................. SUCCESS [
43.884 s]
[INFO] Mahout Flink bindings .............................. SUCCESS
[04:13
min]
[INFO] Mahout Spark bindings shell ........................ SUCCESS [
4.071 s]
[INFO] Mahout Release Package ............................. SUCCESS [
1.311 s]
[INFO] Mahout H2O backend ................................. SUCCESS
[02:50
min]
[INFO] Mahout Native VienniaCL OpenMP Bindings ............ FAILURE [
36.106 s]
Post by Trevor Grant
The last solution creates a cyclical dependency-
The way I made it work was happen-stance.
1)
mvn clean install -Pviennacl -Phadoop2 -DskipTests
2)
update the pom as described previously
3)
cd math-scala
4)
mvn test
that will make it work- hacky but POC.
Next how to do this 'right'.
tg
Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org
*"Fortunate is he, who is able to know the causes of things." -Virgil*
On Sun, Oct 16, 2016 at 11:29 PM, Trevor Grant <
Post by Trevor Grant
Maybe not the long term fix, but adding
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-native-viennacl_${scala.compat.
version}</artifactId>
<scope>test</scope>
</dependency>
to math-scala/pom.xml seems to fix the afore mentioned errors
Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org
*"Fortunate is he, who is able to know the causes of things."
-Virgil*
Post by Trevor Grant
Post by Trevor Grant
Thanks Trevor and Andrew- I think that both of your environments are
fine.. (Ubuntu 16.04 was just to recommended because ViennaCL 1.7.1
is
Post by Trevor Grant
Post by Trevor Grant
easily installed with sudo-apt-get install. As logn as you have
1.7.1
Post by Trevor Grant
on
Post by Trevor Grant
the correct path, you should be fine.
I'm getting these errors now also, and by viewing the stack trace, I
can
Post by Trevor Grant
Post by Trevor Grant
see that the mahout_native_vienniacl*.jars did not make it onto the
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
java.lang.ClassNotFoundException: org.apache.mahout.viennacl.ope
ncl.GPUMMul$
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(
Launcher.java:331)
Post by Trevor Grant
Post by Trevor Grant
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.mahout.math.scalabindings.SolverFactory$.getOpera
tor(SolverFactory.scala:50)
I think that i might have merged some conflicts badly when I rebased
last
Post by Trevor Grant
week, because I was not seeing these errors. I'll tey to get this
worked
Post by Trevor Grant
out in the next couple of days.
________________________________
Sent: Sunday, October 16, 2016 11:04:46 PM
Subject: Re: Trying out PR 261
Having similar issues-
Running 14.04 (I know, supposed to be 16.04, but whatever bear with
me)
Post by Trevor Grant
Post by Trevor Grant
Downloaded viennacl source, unzipped tar-dir/viennacl to
/usr/include/viennacl (e.g. 'installed' viennacl 1.7.1)
Updated gcc (though I don't think this was neccessary, now that I
see
Post by Trevor Grant
Post by Trevor Grant
Andrew M was having the same issues)
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5 g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 0
--slave /usr/bin/g++ g++ /usr/bin/g++-5
System / GPU info
+------------------------------------------------------+
| NVIDIA-SMI 352.63 Driver Version: 352.63 |
|-------------------------------+----------------------+----
------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile
Uncorr.
Post by Trevor Grant
ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util
Compute
Post by Trevor Grant
M. |
|===============================+======================+====
==================|
| 0 GeForce GT 740 Off | 0000:02:00.0 N/A |
N/A |
| 33% 34C P8 N/A / N/A | 411MiB / 1021MiB | N/A
Default |
+-------------------------------+----------------------+----
------------------+
Build was successful- no problems there.
[32mMatlabLikeMatrixOpsSuite: [0m
[32m- multiplication [0m
[32m- Hadamard [0m
[32mRLikeVectorOpsSuite: [0m
[32m- Hadamard [0m
19489 [ScalaTest-main-running-RLikeVectorOpsSuite] DEBUG
org.apache.mahout.math.scalabindings.RLikeVectorOpsSuite - dense
vector
Post by Trevor Grant
dots:127.00 ms.
19489 [ScalaTest-main-running-RLikeVectorOpsSuite] DEBUG
org.apache.mahout.math.scalabindings.RLikeVectorOpsSuite - dense
view
Post by Trevor Grant
Post by Trevor Grant
dots:201.00 ms.
[32m- dot-view performance [0m
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
19491 [ScalaTest-main-running-MathSuite] DEBUG
org.apache.mahout.math.scalabindings.MMul$ - AAt computation
detected.
Post by Trevor Grant
Post by Trevor Grant
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
... goes on like that for a long long time
Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org
*"Fortunate is he, who is able to know the causes of things."
-Virgil*
Post by Trevor Grant
Post by Trevor Grant
On Sun, Oct 16, 2016 at 6:59 PM, Andrew Musselman <
Post by Andrew Musselman
I'm not sure my setup is correct; on Ubuntu 16.04 I'm getting a
firehose of
Post by Andrew Musselman
infos and warns about not finding the GPUMMul and OMPMMul classes.
I've
Post by Trevor Grant
Post by Andrew Musselman
installed libviennacl-dev 1.7.1 through apt-get. Any ideas?
$ git fetch origin pull/261/head:viennacl-opmmul-a
$ mvn clean install -Pviennacl -Phadoop2
Infos and warns (these are littered consistently throughout test
%*% B mapBlock {}
- C = A %*% B incompatible B keys
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java
version
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
- Spark-specific C = At %*% B , join
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java
version
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
- C = At %*% B , join, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java
version
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
- C = At %*% B , zippable, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java
version
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
- C = A %*% B.t
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java
version
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}
- C = A %*% inCoreB
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java
version
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}
$ clinfo
Number of platforms 1
Platform Name NVIDIA CUDA
Platform Vendor NVIDIA
Corporation
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Platform Version OpenCL 1.2 CUDA
8.0.0
Post by Trevor Grant
Post by Andrew Musselman
Platform Profile FULL_PROFILE
Platform Extensions
cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_
atomics
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_
atomics
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd
cl_khr_gl_sharing
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_nv_compiler_options cl_nv_device_attribute_query
cl_nv_pragma_unroll
Post by Trevor Grant
Post by Andrew Musselman
cl_nv_copy_opts
Platform Extensions function suffix NV
Platform Name NVIDIA CUDA
Number of devices 1
Device Name GeForce GTX 750
Ti
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Device Vendor NVIDIA
Corporation
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Device Vendor ID 0x10de
Device Version OpenCL 1.2 CUDA
Driver Version 367.44
Device OpenCL C Version OpenCL C 1.2
Device Type GPU
Device Profile FULL_PROFILE
Device Topology (NV) PCI-E, 01:00.0
Max compute units 5
Max clock frequency 1150MHz
Compute Capability (NV) 5.0
Device Partition (core)
Max number of sub-devices 1
Supported partition types None
Max work item dimensions 3
Max work item sizes 1024x1024x64
Max work group size 1024
Preferred work group size multiple 32
Warp size (NV) 32
Preferred / native vector sizes
char 1 / 1
short 1 / 1
int 1 / 1
long 1 / 1
half 0 / 0
(n/a)
Post by Andrew Musselman
float 1 / 1
double 1 / 1
(cl_khr_fp64)
Half-precision Floating-point support (n/a)
Single-precision Floating-point support (core)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations Yes
Double-precision Floating-point support (cl_khr_fp64)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations No
Address bits 64,
Little-Endian
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Global memory size 2095841280
(1.952GiB)
Post by Trevor Grant
Post by Andrew Musselman
Error Correction support No
Max memory allocation 523960320
(499.7MiB)
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Unified memory for Host and Device No
Integrated memory (NV) No
Minimum alignment for any data type 128 bytes
Alignment of base address 4096 bits (512
bytes)
Post by Trevor Grant
Post by Andrew Musselman
Global Memory cache type Read/Write
Global Memory cache size 81920
Global Memory cache line 128 bytes
Image support Yes
Max number of samplers per kernel 32
Max size for 1D images from buffer 134217728 pixels
Max 1D or 2D image array size 2048 images
Max 2D image size 16384x16384
pixels
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Max 3D image size 4096x4096x4096
pixels
Post by Trevor Grant
Post by Andrew Musselman
Max number of read image args 256
Max number of write image args 16
Local memory type Local
Local memory size 49152 (48KiB)
Registers per block (NV) 65536
Max constant buffer size 65536 (64KiB)
Max number of constant args 9
Max size of kernel argument 4352 (4.25KiB)
Queue properties
Out-of-order execution Yes
Profiling Yes
Prefer user sync for interop No
Profiling timer resolution 1000ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Kernel execution timeout (NV) Yes
Concurrent copy and kernel execution (NV) Yes
Number of async copy engines 1
printf() buffer size 1048576
(1024KiB)
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Built-in kernels
Device Available Yes
Compiler Available Yes
Linker Available Yes
Device Extensions
cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_
atomics
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_
atomics
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd
cl_khr_gl_sharing
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_nv_compiler_options cl_nv_device_attribute_query
cl_nv_pragma_unroll
Post by Trevor Grant
Post by Andrew Musselman
cl_nv_copy_opts
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) NVIDIA CUDA
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [NV]
clCreateContext(NULL, ...) [default] Success [NV]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices
found
Post by Trevor Grant
in
Post by Trevor Grant
Post by Andrew Musselman
platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No
devices
Post by Trevor Grant
Post by Andrew Musselman
found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices
found in
Post by Andrew Musselman
platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) No platform
ICD loader properties
ICD loader Name OpenCL ICD
Loader
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
ICD loader Vendor OCL Icd free
software
Post by Trevor Grant
Post by Andrew Musselman
ICD loader Version 2.2.8
ICD loader Profile OpenCL 1.2
NOTE: your OpenCL library declares to support OpenCL 1.2,
but it seems to support up to OpenCL 2.1 too.
Andrew Musselman
2016-10-17 17:52:03 UTC
Permalink
"Works" doing that pom hack but agreed need to make it work without it.

On Mon, Oct 17, 2016 at 10:41 AM, Andrew Musselman <
Post by Andrew Musselman
No this was with the -omp profile; I'm going to try out his hack now for
non-omp.
That is weird.. did u tried it with Trevor's fix?
Sent from my Verizon Wireless 4G LTE smartphone
-------- Original message --------
Date: 10/17/2016 10:11 AM (GMT-08:00)
Subject: Re: Trying out PR 261
I got the error before setting Xmx however.
I think that the memory should be set to 3 or 4G in the tests in
pom.xml.. maybe you're o erring that setting?
Sent from my Verizon Wireless 4G LTE smartphone
-------- Original message --------
Date: 10/17/2016 9:47 AM (GMT-08:00)
Subject: Re: Trying out PR 261
Using the viennacl-omp profile I'm getting an out of memory error even
with
- mmul microbenchmark
+ Mahout multiplication time: 8920 ms.
+ ViennaCL/cpu/OpenMP multiplication time: 616 ms.
- trans
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
*** RUN ABORTED ***
java.lang.OutOfMemoryError: Java heap space
at
it.unimi.dsi.fastutil.ints.Int2DoubleOpenHashMap.rehash(
Int2DoubleOpenHashMap.java:1059)
at
it.unimi.dsi.fastutil.ints.Int2DoubleOpenHashMap.insert(
Int2DoubleOpenHashMap.java:295)
at
it.unimi.dsi.fastutil.ints.Int2DoubleOpenHashMap.put(
Int2DoubleOpenHashMap.java:301)
at
org.apache.mahout.math.RandomAccessSparseVector.setQuick(
RandomAccessSparseVector.java:130)
at
org.apache.mahout.math.SparseRowMatrix.setQuick(SparseRowMat
rix.java:105)
at org.apache.mahout.math.AbstractMatrix.assign(AbstractMatrix.
java:256)
at
org.apache.mahout.math.scalabindings.MatrixOps.$
colon$eq(MatrixOps.scala:192)
at
org.apache.mahout.math.scalabindings.MatrixOps.cloned(
MatrixOps.scala:260)
at
org.apache.mahout.math.scalabindings.MatrixOps.$minus(
MatrixOps.scala:66)
at
org.apache.mahout.viennacl.openmp.ViennaCLSuiteOMP$$
anonfun$4.apply$mcV$sp(ViennaCLSuiteOMP.scala:152)
...
[INFO]
------------------------------------------------------------
------------
[INFO]
[INFO] Mahout Build Tools ................................. SUCCESS [
1.131 s]
[INFO] Apache Mahout ...................................... SUCCESS [
0.023 s]
[INFO] Mahout Math ........................................ SUCCESS [
31.439 s]
[INFO] Mahout HDFS ........................................ SUCCESS [
2.151 s]
[INFO] Mahout Math Scala bindings ......................... SUCCESS
[02:30
min]
[INFO] Mahout Spark bindings .............................. SUCCESS [
43.884 s]
[INFO] Mahout Flink bindings .............................. SUCCESS
[04:13
min]
[INFO] Mahout Spark bindings shell ........................ SUCCESS [
4.071 s]
[INFO] Mahout Release Package ............................. SUCCESS [
1.311 s]
[INFO] Mahout H2O backend ................................. SUCCESS
[02:50
min]
[INFO] Mahout Native VienniaCL OpenMP Bindings ............ FAILURE [
36.106 s]
Post by Trevor Grant
The last solution creates a cyclical dependency-
The way I made it work was happen-stance.
1)
mvn clean install -Pviennacl -Phadoop2 -DskipTests
2)
update the pom as described previously
3)
cd math-scala
4)
mvn test
that will make it work- hacky but POC.
Next how to do this 'right'.
tg
Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org
*"Fortunate is he, who is able to know the causes of things."
-Virgil*
Post by Trevor Grant
On Sun, Oct 16, 2016 at 11:29 PM, Trevor Grant <
Post by Trevor Grant
Maybe not the long term fix, but adding
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-native-viennacl_${scala.compat.
version}</artifactId>
<scope>test</scope>
</dependency>
to math-scala/pom.xml seems to fix the afore mentioned errors
Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org
*"Fortunate is he, who is able to know the causes of things."
-Virgil*
Post by Trevor Grant
Post by Trevor Grant
On Sun, Oct 16, 2016 at 10:23 PM, Andrew Palumbo <
Thanks Trevor and Andrew- I think that both of your environments
are
Post by Trevor Grant
Post by Trevor Grant
fine.. (Ubuntu 16.04 was just to recommended because ViennaCL
1.7.1 is
Post by Trevor Grant
Post by Trevor Grant
easily installed with sudo-apt-get install. As logn as you have
1.7.1
Post by Trevor Grant
on
Post by Trevor Grant
the correct path, you should be fine.
I'm getting these errors now also, and by viewing the stack trace,
I
can
Post by Trevor Grant
Post by Trevor Grant
see that the mahout_native_vienniacl*.jars did not make it onto the
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
java.lang.ClassNotFoundException: org.apache.mahout.viennacl.ope
ncl.GPUMMul$
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
331)
Post by Trevor Grant
Post by Trevor Grant
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.mahout.math.scalabi
ndings.SolverFactory$.getOpera
Post by Trevor Grant
Post by Trevor Grant
tor(SolverFactory.scala:50)
I think that i might have merged some conflicts badly when I
rebased
Post by Trevor Grant
last
Post by Trevor Grant
week, because I was not seeing these errors. I'll tey to get this
worked
Post by Trevor Grant
out in the next couple of days.
________________________________
Sent: Sunday, October 16, 2016 11:04:46 PM
Subject: Re: Trying out PR 261
Having similar issues-
Running 14.04 (I know, supposed to be 16.04, but whatever bear with
me)
Post by Trevor Grant
Post by Trevor Grant
Downloaded viennacl source, unzipped tar-dir/viennacl to
/usr/include/viennacl (e.g. 'installed' viennacl 1.7.1)
Updated gcc (though I don't think this was neccessary, now that I
see
Post by Trevor Grant
Post by Trevor Grant
Andrew M was having the same issues)
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5 g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5
0
Post by Trevor Grant
Post by Trevor Grant
--slave /usr/bin/g++ g++ /usr/bin/g++-5
System / GPU info
+------------------------------------------------------+
| NVIDIA-SMI 352.63 Driver Version: 352.63 |
|-------------------------------+----------------------+----
------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile
Uncorr.
Post by Trevor Grant
ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util
Compute
Post by Trevor Grant
M. |
|===============================+======================+====
==================|
| 0 GeForce GT 740 Off | 0000:02:00.0 N/A |
N/A |
| 33% 34C P8 N/A / N/A | 411MiB / 1021MiB | N/A
Default |
+-------------------------------+----------------------+----
------------------+
Build was successful- no problems there.
[32mMatlabLikeMatrixOpsSuite: [0m
[32m- multiplication [0m
[32m- Hadamard [0m
[32mRLikeVectorOpsSuite: [0m
[32m- Hadamard [0m
19489 [ScalaTest-main-running-RLikeVectorOpsSuite] DEBUG
org.apache.mahout.math.scalabindings.RLikeVectorOpsSuite - dense
vector
Post by Trevor Grant
dots:127.00 ms.
19489 [ScalaTest-main-running-RLikeVectorOpsSuite] DEBUG
org.apache.mahout.math.scalabindings.RLikeVectorOpsSuite - dense
view
Post by Trevor Grant
Post by Trevor Grant
dots:201.00 ms.
[32m- dot-view performance [0m
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
19491 [ScalaTest-main-running-MathSuite] DEBUG
org.apache.mahout.math.scalabindings.MMul$ - AAt computation
detected.
Post by Trevor Grant
Post by Trevor Grant
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java version
... goes on like that for a long long time
Trevor Grant
Data Scientist
https://github.com/rawkintrevo
http://stackexchange.com/users/3002022/rawkintrevo
http://trevorgrant.org
*"Fortunate is he, who is able to know the causes of things."
-Virgil*
Post by Trevor Grant
Post by Trevor Grant
On Sun, Oct 16, 2016 at 6:59 PM, Andrew Musselman <
Post by Andrew Musselman
I'm not sure my setup is correct; on Ubuntu 16.04 I'm getting a
firehose of
Post by Andrew Musselman
infos and warns about not finding the GPUMMul and OMPMMul
classes.
Post by Trevor Grant
I've
Post by Trevor Grant
Post by Andrew Musselman
installed libviennacl-dev 1.7.1 through apt-get. Any ideas?
$ git fetch origin pull/261/head:viennacl-opmmul-a
$ mvn clean install -Pviennacl -Phadoop2
Infos and warns (these are littered consistently throughout test
%*% B mapBlock {}
- C = A %*% B incompatible B keys
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java
version
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
- Spark-specific C = At %*% B , join
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java
version
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
- C = At %*% B , join, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java
version
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
- C = At %*% B , zippable, String-keyed
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java
version
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
- C = A %*% B.t
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java
version
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}
- C = A %*% inCoreB
[INFO] Creating org.apache.mahout.viennacl.opencl.GPUMMul solver
[WARN] Unable to create class GPUMMul: attempting OpenMP version
[INFO] Creating org.apache.mahout.viennacl.openmp.OMPMMul solver
[INFO] Unable to create class OMPMMul: falling back to java
version
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
{
0 => {0:26.0,1:35.0,2:46.0,3:51.0}
1 => {0:50.0,1:69.0,2:92.0,3:105.0}
2 => {0:62.0,1:86.0,2:115.0,3:132.0}
3 => {0:74.0,1:103.0,2:138.0,3:159.0}
}
$ clinfo
Number of platforms 1
Platform Name NVIDIA CUDA
Platform Vendor NVIDIA
Corporation
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Platform Version OpenCL 1.2 CUDA
8.0.0
Post by Trevor Grant
Post by Andrew Musselman
Platform Profile FULL_PROFILE
Platform Extensions
cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_
atomics
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_at
omics
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd
cl_khr_gl_sharing
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_nv_compiler_options cl_nv_device_attribute_query
cl_nv_pragma_unroll
Post by Trevor Grant
Post by Andrew Musselman
cl_nv_copy_opts
Platform Extensions function suffix NV
Platform Name NVIDIA CUDA
Number of devices 1
Device Name GeForce GTX
750 Ti
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Device Vendor NVIDIA
Corporation
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Device Vendor ID 0x10de
Device Version OpenCL 1.2 CUDA
Driver Version 367.44
Device OpenCL C Version OpenCL C 1.2
Device Type GPU
Device Profile FULL_PROFILE
Device Topology (NV) PCI-E, 01:00.0
Max compute units 5
Max clock frequency 1150MHz
Compute Capability (NV) 5.0
Device Partition (core)
Max number of sub-devices 1
Supported partition types None
Max work item dimensions 3
Max work item sizes 1024x1024x64
Max work group size 1024
Preferred work group size multiple 32
Warp size (NV) 32
Preferred / native vector sizes
char 1 / 1
short 1 / 1
int 1 / 1
long 1 / 1
half 0 / 0
(n/a)
Post by Andrew Musselman
float 1 / 1
double 1 / 1
(cl_khr_fp64)
Half-precision Floating-point support (n/a)
Single-precision Floating-point support (core)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations Yes
Double-precision Floating-point support (cl_khr_fp64)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations No
Address bits 64,
Little-Endian
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Global memory size 2095841280
(1.952GiB)
Post by Trevor Grant
Post by Andrew Musselman
Error Correction support No
Max memory allocation 523960320
(499.7MiB)
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Unified memory for Host and Device No
Integrated memory (NV) No
Minimum alignment for any data type 128 bytes
Alignment of base address 4096 bits (512
bytes)
Post by Trevor Grant
Post by Andrew Musselman
Global Memory cache type Read/Write
Global Memory cache size 81920
Global Memory cache line 128 bytes
Image support Yes
Max number of samplers per kernel 32
Max size for 1D images from buffer 134217728
pixels
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Max 1D or 2D image array size 2048 images
Max 2D image size 16384x16384
pixels
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Max 3D image size 4096x4096x4096
pixels
Post by Trevor Grant
Post by Andrew Musselman
Max number of read image args 256
Max number of write image args 16
Local memory type Local
Local memory size 49152 (48KiB)
Registers per block (NV) 65536
Max constant buffer size 65536 (64KiB)
Max number of constant args 9
Max size of kernel argument 4352 (4.25KiB)
Queue properties
Out-of-order execution Yes
Profiling Yes
Prefer user sync for interop No
Profiling timer resolution 1000ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Kernel execution timeout (NV) Yes
Concurrent copy and kernel execution (NV) Yes
Number of async copy engines 1
printf() buffer size 1048576
(1024KiB)
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
Built-in kernels
Device Available Yes
Compiler Available Yes
Linker Available Yes
Device Extensions
cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_
atomics
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_at
omics
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd
cl_khr_gl_sharing
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
cl_nv_compiler_options cl_nv_device_attribute_query
cl_nv_pragma_unroll
Post by Trevor Grant
Post by Andrew Musselman
cl_nv_copy_opts
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) NVIDIA CUDA
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [NV]
clCreateContext(NULL, ...) [default] Success [NV]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices
found
Post by Trevor Grant
in
Post by Trevor Grant
Post by Andrew Musselman
platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No
devices
Post by Trevor Grant
Post by Andrew Musselman
found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No
devices
Post by Trevor Grant
Post by Trevor Grant
found in
Post by Andrew Musselman
platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) No platform
ICD loader properties
ICD loader Name OpenCL ICD
Loader
Post by Trevor Grant
Post by Trevor Grant
Post by Andrew Musselman
ICD loader Vendor OCL Icd free
software
Post by Trevor Grant
Post by Andrew Musselman
ICD loader Version 2.2.8
ICD loader Profile OpenCL 1.2
NOTE: your OpenCL library declares to support OpenCL 1.2,
but it seems to support up to OpenCL 2.1 too.
Loading...