Boost logo

Ublas :

Subject: [ublas] [boost] [gsoc18] Mentor Request for uBLAS (prefer support for tensors)
From: Cem Bassoy (cem.bassoy_at_[hidden])
Date: 2018-03-15 12:56:52


Hello,

my name is Cem. I am a PhD candidate working at the Fraunhofer Institute of
Optronics, System Technologies and Image Exploitation.

I am a passionate programmer in C++ since I am student that I intensively
use on a daily basis. My PhD thesis is about implementing fast tensor
operations on shared memory systems using C++ (C++14) and OpenCL for GPUs.
By tensor operations I mean those that are relevant in the realm of
numerical multilinear algebra. I have already implemented tensor
contractions and elementwise tensor operations for tensors and tensor views
with arbitrary number of dimensions where the rank can be compile-time or
runtime variable. For testing purposes I have implemented tensor data
structures that allow to set the rank, dimensions and the layout at runtime
(They could also be changed to be compile-time parameters).

I also want to implement common tensor algorithms such as the higher-order
singular value decomposition, orthogonal iterator in order to support new
algorithms for different types of applications. Using my library I have
generalized and implemented the biconjugate gradient and Jacobi methods for
multilinear systems that are described in
"Solving Multilinear Systems via Tensor Inversion
M. Brazell, N. Li, C. Navasca, and C. Tamon
SIAM Journal on Matrix Analysis and Applications201334:2, 542-570"

I presented the implementation and design of tensor template functions
using iterators in MeetingC++ in Berlin 2017: https://youtu.be/8P-sDH9XJAc

If your are interested in the details of my current implementation, please
have a look at https://arxiv.org/abs/1711.10912

I would love to contribute to uBlas and to adjust the data structures
according to the needs of the Boost community.

Best regards,

Cem