[Numpy-discussion] Matlab/Numeric/numarray benchmarks

Perry Greenfield perry at stsci.edu
Thu Jan 20 07:34:00 EST 2005


Could you at least give enough information to understand the what the
benchmark is? (Size of arrays, what the 3 columns are, etc). What is
the benchmark code? I see references to benchmark.py but there doesn't
appear to be any attachment.

Thanks, Perry

On Jan 20, 2005, at 10:24 AM, Jason Rennie wrote:

> I have access to a variety of intel machines running Debian Sarge, and
> I'm trying to decide between numarray and Numeric for some experiments
> I'm about to run, so I thought I'd try out this benchmark.  I need
> fast matrix multipliation and element-wise operations.  Here are the
> results I see:
>
> Celeron/2.8GHz
> --------------
> Matlab:		0.0475	1.44	5.78
> Numeric:	0.0842	1.19	6.28
> numarray:	7.62	9.78	Floating point exception
>
> Pentium4/2.8GHz
> ---------------
> Matlab:		0.0143  1.00    3.08
> Numeric:	0.0653	1.19	6.26
> numarray:	3.46	8.30	Floating point exception
>
> DualXeon/3.06GHz
> ----------------
> Matlab:		0.0102  0.886   2.71
> Numeric:	0.0272	10.2	2.46
> numarray:	2.23	3.43	Floating point exception
>
> Numarray performance is pitiful.  Numeric ain't bad, except for that
> matrixmultiply on the Xeon.  As luck would have it, our
> cpu-cycle-servers are all Xeons, and the main big computations I have
> to do are matrix multiplies...  Grrr...
>
> All three machines are Debian Sarge with atlas3-sse2 plus all the
> python2.3 packages installed.  I had to include /usr/lib/atlas/sse2 in
> my LD_LIBRARY_PATH.  Anyone have any clue why the Xeon would balk at
> the Numeric matrixmultiply?  Thinking it might be an atlas3-sse2
> issue, I tried atlas-sse:
>
> Xeon/atlas3-sse/Numeric:	0.0269	10.2	2.44
> Xeon/atlas3-sse/numarray:	2.24	3.41	2.48
>
> Apparently, there's a bug in the sse2 libraries that numarry is
> tripping...  Still horrible Numeric/matrixmultiply
> performance... Interesting that sse2 doesn't provide a performance
> boost over sse.  I tried it on another Xeon machine... same bad
> Numeric/matrixmultiply performance.  I tried atlas3-base (386
> instructions only):
>
> Xeon/atlas3-base/Numeric:	0.0269	10.2	2.60
> Xeon/atlas3-base/numarray:	2.23	3.41	2.54
>
> Sheesh!  No worse than the libraries w/ sse instructions...  But
> still, no improvement in the Numeric/matrixmultiply test.  Next,
> refblas3/lapack3:
>
> Xeon/Numeric:			0.0271	3.45	2.72
> Xeon/numarray:			2.24	3.42	2.62
>
> Progress!  Though, the Numeric/matrixmultiply is still four times
> slower than Matlab...
>
> As far as I can tell, I'm out of (Debian Sarge) libraries to
> try... Any ideas as to why the Numeric matrixmultiply would be so slow
> on the Xeon?
>
> Thanks,
>
> Jason
>
> P.S. I had to move the import statements to the top of the file to get
> benchmark.py to work.  As a sanity check, I tried only importing sys,
> time, Numeric, and RandomArray, defining test10.  I then called
> test10().  Same results as above.
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
> Tool for open source databases. Create drag-&-drop reports. Save time
> by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
> Download a FREE copy at http://www.intelliview.com/go/osdn_nl
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/numpy-discussion





More information about the NumPy-Discussion mailing list