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
[email protected]
https://lists.sourceforge.net/lists/listinfo/viennacl-devel