CUDA Nonnegative Tensor Factorization Library

Authors :

Jukka Antikainen, Ji Havel, Radovan Joth, Adam Herout
University of Eastern Finland, Finland
Graph@FIT, Brno University of Technology, Czech Republic

Description :

This library uses GPU for fast NTF calculation. The package contains also a matlab plugin with the same functionality. This implementation runs over 20 times faster, than the plain C version. This package contains only binary versions. The method and source code will be published in corresonding paper.

The interface of cuntf.dll consists of functions cuntfFloat and cuntfDouble. The double version uses single precision too, but performs the conversion in page locked memory, thus slightly speeds up communication with GPU.

Function parameters :

G - input tensor with dimensions R*S*T
rank - rank of the method
iterations - iteration count
init - initial value guess - either random or provided in output arrays
U,V,W - output arrays with dimensions R*rank, S*rank, T*rank

Matlab function :

[U, V, W] = ntf(G, rank, niter)
random values are used as an initial guess

Further reading :

Friedlander, Michael P. and Hatz, Kathrin, Computing non-negative tensor factorizations, Optimization Methods Software, 2008
