Dear ViennaCL users, ViennaCL 1.5.0 is finally out and available for download at http://viennacl.sourceforge.net/ It introduces a couple of new convenience routines, performance improvements, and higher code quality. Most important changes from the changelogs:
- Vectors and matrices can be instantiated with integer template types (long, int, short, char). - Added support for element_prod() and element_div() for dense matrices. - Added element_pow() for vectors and matrices. - Added norm_frobenius() for computing the Frobenius norm of dense matrices. - Added unary element-wise operations for vectors and dense matrices: element_sin(), element_sqrt(), etc. - Multiple OpenCL contexts can now be used in a multi-threaded setting (one thread per context). - Multiple inner products with a common vector can now be computed efficiently via e.g.~inner_prod(x, tie(y, z)); - Added support for prod(A, B), where A is a sparse matrix type and B is a dense matrix (thanks to Albert Zaharovits for providing parts of the implementation). - Added diag() function for extracting the diagonal of a vector to a matrix, or for generating a square matrix from a vector with the vector elements on a diagonal (similar to MATLAB). - Added row() and column() functions for extracting a certain row or column of a matrix to a vector. - Certain BLAS functionality in ViennaCL is now also available through a shared library (libviennacl). - API-change: User-provided OpenCL kernels extract their kernels automatically. A call to add_kernel() is now obsolete, hence the function was removed. - API-change: Device class has been extend and supports all informations defined in the OpenCL 1.1 standard through member functions. Duplicate compute_units() and max_work_group_size() have been removed (thanks for Shantanu Agarwal for the input). - API-change: viennacl::copy() from a ViennaCL object to an object of non-ViennaCL type no longer tries to resize the object accordingly. An assertion is thrown if the sizes are incorrect in order to provide a consistent behavior across many different types. - Datastructure change: Vectors and matrices are now padded with zeros by default, resulting in higher performance particularly for matrix operations. This padding needs to be taken into account when using fast_copy(), particularly for matrices. The full change logs can be found at http://viennacl.sourceforge.net/changelog.txt Thanks to all contributors :-) Best regards and best wishes for 2014, Karl Rupp ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ ViennaCL-devel mailing list ViennaCL-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/viennacl-devel