Hi Jan, thank you very much for your detailed email including suggestions for fixing the issues you encountered.
> 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. argl, Boost again. Our roadmap for the next 1.8.0 release has an explicit "get rid of uBLAS" included, because supporting multiple versions of Boost turned out to be virtually impossible. I consider this to be a general failure of the C++ header-only model, but I'll stop my rant for now :-) > 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. I agree and created an issue on GitHub to make sure this is not forgotten: https://github.com/viennacl/viennacl-dev/issues/213 > Tests: > Some opencl fail with CL_OUT_OF_RESOURCES. The corresponding cpu and > cuda versions pass. This might have to do with your hardware setup and is - unfortunately - hard to track down remotely. Any chance that you can provide more information? > I got a "Sparsity pattern mismatch detected" error on all > sparse_prod-test versions. > 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). Thanks! This should explain other failures some users have reported on Windows but which I failed to reproduce... > The out of resources thing may be specific to the Nvidia implementation. > Nvidia driver version is 376.19. Memory is 2 GB. I'd think so... > 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 > <http://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 further. Ok, I'll look into these on my Windows machine. > 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. Ok, maybe these latest versions are the culprit. I've got a Win 7 machine with older versions of CMake and friends. Time for an upgrade :-) Best regards, Karli ------------------------------------------------------------------------------ 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 ViennaCL-support@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/viennacl-support