Mentions légales du service

Skip to content
Snippets Groups Projects
Commit ee48d360 authored by hhakim's avatar hhakim
Browse files

Add optimize_memory to the GPU pyfaust wrapper and update many dependent C++...

Add optimize_memory to the GPU pyfaust wrapper and update many dependent C++ functions behind (details below).

Changes in Cpu and GPU2 Vect classes:
- Vect<FPP,Cpu>: new set_coeff() alias of operator[] to have the same API as Vect<,FPP,GPU2> that can't return a reference on a GPU buffer scalar (which is necessary to define operator[] for writing operations; vec[i] = value, instead this is vec.set_coeff(i, value)).
- Vect<FPP,GPU2>::multiplyLeft(MatSparse<FPP,GPU2> const& S, const char transS)

Changes in MatDense<FPP,GPU2>:
- support of tranpose/adjoint options in multiply (by dense/sparse mat) member functions.

Changes in MatSparse<FPP,GPU2>:
- function multiply by a vector.
- copy ctor.

Changes in MatGeneric<FPP,GPU2>:
- Adding Clone() function signature (implemented in MatDense/MatSparse subclasses) to be conform to Cpu MatGenirc hierarchy.
- density() member function.
- non-member function char2gm_op() to handle transpose/adjoint format (represented by char-s in Faust core and by gm_Op enumeration in gpu_mod).

Changes in src/faust_linear_operator/faust_MatGeneric.hpp:
- the optimize function (used by MatGeneric Cpu or GPU2 Clone() functions) is now device agnostic (FDevice template value parameter, instead of Cpu instantiation).

TransformHelper<FPP,Cpu>: moving up optimize_storage in TransformHelperGen (code factorization with TransformHelper<FPP,GPU2>).
New function to multiply by a vector in Transform<FPP,GPU2> and a wrapper function in TransformHelper<FPP,GPU2>.
parent 560f8cf9
No related branches found
No related tags found
Loading
Showing
with 306 additions and 108 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment