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 <trevor.d.gr...@gmail.com>
Sent: Sunday, October 16, 2016 11:04:46 PM
To: dev@mahout.apache.org
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 <
andrew.mussel...@gmail.com> 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.
>

Reply via email to