I have installed Viennacl 1.7.1 on 2 machines, details below. Thank you for
a great piece of work!
To plunge right in, here are the issues I found:
Compilation (VS 2015 rev 3, 64 bits release), using Boost to compile tests
(and ublas) as well:
Boost: compiler runs out of steam, needed to define BOOST_NO_CXX11_ALLOCATOR
for smart_ptr/detail/array_allocator.hpp; VS (rightly) complained about
invalid friend declarations in numeric/ublas/vector.hpp which I commented
out to avoid compilation errors. 3 lines in
..ublas::vector<T,A>::const_iterator, fixed_vectir<T.N.A>::const_iterator
and c_vector<T,A>::const_iterator.
Then a peculiarity of the VS IDE: when executing from the IDE, the cwd is
by default set to the directory of the project file (.vcxproj) as written
by CMake. For the tests this means that either the cwd or the datapath
needs to be adapted omitting /examples. In some cases incorrect paths
caused segfaults instead of reports, which is not an issue of the greatest
importance, but might need looking into.

Some opencl fail with CL_OUT_OF_RESOURCES. The corresponding cpu and cuda
versions pass.
I got a "Sparsity pattern mismatch detected" error on all sparse_prod-test
Playing with the dimensions of the test matrices, I noticed that the error
occurs only rarely.
This led me eventually to random.hpp which decides the rows to be
non-zeroed by returning rand()/RAND_MAX 🐞. This can occasionally return 1,
and so effectively produce an out of bounds in the sparse arrays. I solved
this in my copy by using RAND_MAX+1 as the divisor (you might want to use a
smaller offset, or a check on the return value, perhaps).

The out of resources thing may be specific to the Nvidia implementation.
Nvidia driver version is 376.19. Memory is 2 GB. Matrix_col-int-test-opencl
will be almost finished before the exception occurs.
Matrix_col-float-test-opencl and Matrix_col-double-test-opencl pass. The
libviennacl-blas tests all fail immediately (ASUM in blas1) on opencl. The
opencl blas bench programs (not using the library/backend) work fine,
though. Debugging libviennacl-blas1.cu gives a CL_INVALID_MEM_OBJECT. After
catching this exception, another is thrown when the program exits
(atexit backend<0> destructor).
Since I am not a regular opencl user, I do not (yet) have other tests which
might show resource leakage due to the driver. The library may have issues
of its own with regard to VS/windows, but I don't know how to proceed

System information:

Win 7 64 SP1 and Win 10 64 up to date. Both 16 GB main memory. No
difference in outcomes.
AMD K10 (phenom II 945) and I7 6700HQ
Nvidia 560 Ti and Nvidia 960M, both with 2 GB (dedicated) memory. (Need a
new desktop, but fear the installation proces...)
Visual Studio 2015 update 3. Boost 1.60 and 1.62.
Cmake 3.7. Enable Cuda, OpenCL, OpenMP and UBLAS.

Yours truly,
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
ViennaCL-support mailing list

Reply via email to