Mentions légales du service

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

Fix two bugs in c5496442 (pyfaust.poly.poly extension to avoid round trips...

Fix two bugs in c5496442 (pyfaust.poly.poly extension to avoid round trips between wrapper and C++ core when computing the exp action on multiple tau/coeffs in expm_multiply) and manage missing case when X is a vector.

It enhances the performance on GPU: (benchmarks ran on GPU with the new extension -- group_coeffs == True, then on CPU, and finally on GPU with group_coeffs=False).

(test_pyfaust) hhadjdji@v100alpha:~$ python ~/benchmark_expm_multiply.py 10000 5000 1024 150 100 pyfaust_gpu group_coeffs
generating a symmetric sparse matrix...
L.shape (10000, 10000)
L.nnz: 5000
L.density: 5e-05
K= 150
X.shape[1]: 1024
number of tau: 100
group_coeffs= True
expm_multiply poly_meth: 2
FaustCoreCpp polyCoeffsSeq
poly Seq GPU
pyfaust gpu time: 74.51493524294347
expm_multiply poly_meth: 2
FaustCoreCpp polyCoeffsSeq
poly Seq GPU

(test_pyfaust) hhadjdji@x5570node2:~$ python3 benchmark_expm_multiply.py 10000 5000 1024 150 100 pyfaust
generating a symmetric sparse matrix...
L.shape (10000, 10000)
L.nnz: 4997
L.density: 4.997e-05
K= 150
X.shape[1]: 1024
number of tau: 100
group_coeffs= False
expm_multiply poly_meth: 2
pyfaust time: 123.20772746193688
expm_multiply poly_meth: 2

(test_pyfaust) hhadjdji@v100alpha:~$ python ~/benchmark_expm_multiply.py 10000 5000 1024 150 100 pyfaust_gpu
generating a symmetric sparse matrix...
L.shape (10000, 10000)
L.nnz: 4999
L.density: 4.999e-05
K= 150
X.shape[1]: 1024
number of tau: 100
group_coeffs= False
expm_multiply poly_meth: 2
pyfaust gpu time: 380.94207076495513
expm_multiply poly_meth: 2

https://gitlab.inria.fr/faustgrp/faust/-/snippets/714
parent 299bda95
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment