PETSc vs Matlab Performance

Joshua L. Adelman jadelman at OCF.Berkeley.EDU
Thu May 18 10:31:00 CDT 2006


Having just finished writing my first modest PETSc-based application,  
I was amazed how much faster the code was than my Matlab prototype,  
even running in sequentially on a single processor. The code  
basically involves propagating a time series using Backward Euler,  
where the rate matrix K, is static. Granted I might be doing  
something horribly inefficient in my Matlab code, since I had code  
the Backward Euler, but given that the bulk of the time is spent in  
the matlab solver (either qmr or gmres), it seems that seems  
unlikely. Running with a single processor, the actual solver part of  
my PETSc code runs 15-25x faster than the equivalent part in my  
matlab code, and this is without using any optimization flags on the  
compiler and having compiled PETSc with debugger options on (the - 
log_summary output says that that would slow things down by a factor  
of 2-3x).  I had always been told that for doing any sort of Linear  
Algebra sort of stuff, like inverting a matrix, Matlab's algorithms  
were as fast as anything you could hand code in C or Fortran  
(although when they say 'you', they might mean 'me' specifically and  
not the people who write PETSc).

Have there been any official benchmarks, pitting PETSc again Matlab?   
And for the CS novice, what is the underlying reason for the difference?

Thanks,
Josh


------------------------------------------------------------------------ 
------------------------------
Joshua L. Adelman
Biophysics Graduate Group              Lab: 510.643.2159
218 Wellman Hall                                Fax: 510.642.7428
University of California, Berkeley     http://www.ocf.berkeley.edu/ 
~jadelman
Berkeley, CA 94720 USA                   jadelman at ocf.berkeley.edu
------------------------------------------------------------------------ 
------------------------------






More information about the petsc-users mailing list