Oberon Community Platform Forum
December 16, 2019, 03:07:45 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Benchmarking  (Read 6814 times)
sage
Full Member
***
Posts: 170



WWW
« on: September 09, 2008, 01:09:12 PM »

I've made benchmark based on lesson's source code (lesson6b.cpp) from www.scratchapixel.com.
There are separate modules for 3 test modes:
1. Computing using ordinary procedures - lesson6bench.Mod
2. Computing using built-in matrix compiler feature - lesson6benchMatrix.Mod
3. Computing using ordinary procedures, but two procedures (cross product and dot product computation) implemented using SSE - lesson6benchSSE.Mod

All test results obtained on Intel Pentium dual core E2160 @ 1.8 GHz, WinAos rev. 1578.

1:
Quote
Bucket size:    32 Time elapsed:   640
Bucket size:    64 Time elapsed:   329
Bucket size:   128 Time elapsed:   187
Bucket size:   256 Time elapsed:   109
Bucket size:   512 Time elapsed:    79
Bucket size:  1024 Time elapsed:    93
2:
Quote
ArrayBase: setting runtime library (semi-optimized) default methods.
ArrayBaseOptimized: installing runtime library optimizations:ASM SSE SSE2  done.
Bucket size:    32 Time elapsed:  6344
Bucket size:    64 Time elapsed:  3250
Bucket size:   128 Time elapsed:  1765
Bucket size:   256 Time elapsed:  1078
Bucket size:   512 Time elapsed:   813
Bucket size:  1024 Time elapsed:   828
3:
Quote
Bucket size:    32 Time elapsed:   672
Bucket size:    64 Time elapsed:   344
Bucket size:   128 Time elapsed:   187
Bucket size:   256 Time elapsed:   109
Bucket size:   512 Time elapsed:    94
Bucket size:  1024 Time elapsed:    78

* lesson6bench.Mod (13.38 KB - downloaded 495 times.)
* lesson6benchMatrix.Mod (12.93 KB - downloaded 501 times.)
* lesson6benchSSE.Mod (13.76 KB - downloaded 531 times.)
« Last Edit: September 09, 2008, 05:00:05 PM by sage » Logged
Pat
Moderator
Jr. Member
*****
Posts: 69


« Reply #1 on: September 20, 2008, 08:33:28 AM »

The current math compiler implementation by Felix achieves several goals
- deliver a elegant formulation for mathematical problems
- deliver speed for computational applications on a high level
- there should be no need for the user to handle SIMD, alignment questions etc to achieve high performance.

The first goal has been achieved with great success.
The second goal has been achieved for large matrices and datasets;
and also in graphics and fluid dynamics implementations, we have seen high performance.
There is a particular remaining implementation limitation, and that is small matrices/small vectors:
this has not at all been implemented for speed up to now, due to manpower restrictions.

We hope that as soon the new compiler design is ready, the topic of high performance computation of small matrices and vectors will be tackled, too.
Logged
sage
Full Member
***
Posts: 170



WWW
« Reply #2 on: September 20, 2008, 08:51:36 AM »

We hope that as soon the new compiler design is ready, the topic of high performance computation of small matrices and vectors will be tackled, too.
Thanks for reply!
It will be really nice if computation of small matrices and vectors will be powered up!  Wink
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!