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 classpath some
how:
[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.
________________________________
From: Trevor Grant <[email protected]>
Sent: Sunday, October 16, 2016 11:04:46 PM
To: [email protected]
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.
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 <
[email protected]> wrote:
> 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.
>