-
- Downloads
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
Loading
Please register or sign in to comment