All times are UTC - 6 hours




Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 47 posts ]  Go to page 1, 2, 3, 4  Next

What software would you like to be optimized for AltiVec/Cell?
Poll ended at Tue Mar 04, 2008 6:15 am
PostgreSQL (Database) 0%  0%  [ 0 ]
MySQL (Database) 19%  19%  [ 12 ]
Blender3D (Raytracer/Renderer) 5%  5%  [ 3 ]
Ogre3D (3D game engine) 6%  6%  [ 4 ]
ODE/Open Dynamics Engine (physics engine, used in 3D games) 5%  5%  [ 3 ]
C++ STL (macstl exists, maybe continue development, merge with main C++ STL) 17%  17%  [ 11 ]
libmcrypt, UMAC (in general crypto/hashing stuff) 3%  3%  [ 2 ]
X.org (XRENDER) 33%  33%  [ 21 ]
gmp (multi precision libray) 0%  0%  [ 0 ]
SSL (plus mod_ssl, etc) 13%  13%  [ 8 ]
Total votes : 64
Author Message
PostPosted: Tue Oct 23, 2007 7:07 am 
Offline


Wed Oct 13, 2004 7:26 am

342

Nafplion
Hello everyone,

Ok, a couple of collegues and myself have started our own company here in Nafplion and amongst other activities, one of our main targets will be SIMD optimizations (mainly AltiVec and Cell). We have managed to get funding to work for 8 months on optimizing some software of choice for AltiVec or Cell (or both), but before deciding which software to work on, we would like to do a poll first here on this site. We have a list of software that we could work, and 8 months is not a small period, but this is going to be used as proof of concept, so that we can get more corporate clients, requesting AltiVec/Cell stuff :-)

We will work of course only on FOSS projects, and all our code will be contributed upstream. But we would like to know exactly what do the users want to see? So, if you see your software in this list in the poll click on it, otherwise, reply with your comments and we will consider everything very seriously! Please, include only software that hasn't been already vectorized (eg. mplayer, ffmpeg, etc). Also, please note that the software suggested might not even benefit at all from vectorization (eg. a text editor). The poll will stay on for 30 days, we will decide shortly after that.

Konstantinos
CODEX

PS. our site is not yet ready, we're too busy doing our clients' projects, so no url yet :-)
PS2. All development will be done on and for PowerPC/Linux. So NO MorphOS, or other OSes.
PS3. The Linux kernel is immediately ruled out, it would require much more than 8 months and very experienced kernel developers (like BenH, etc), to even locate the points in the kernel that might require/benefit optimization.
PS4. The libfreevec will be also finished in that period, even if a little late. The project needs some finishing up, as some functions are buggy, and the library just cannot be used as a replacement. However it's going to be priority #2.


Top
 Profile  
 
PostPosted: Tue Oct 23, 2007 9:43 am 
Offline


Tue Jan 31, 2006 1:18 am

49

Bialystok, Poland
markos wrote:
All development will be done on and for PowerPC/Linux. So NO MorphOS, or other OSes.

Thank you for leaving MorphOS for me ;-). I must admit my latest activity turned my attention to AROS as well, so I will look at SSE soon.


Top
 Profile  
 
PostPosted: Tue Oct 23, 2007 10:17 am 
Offline


Tue Nov 02, 2004 2:11 am

161
Hi Markos,

I think your work is great!
Its good that you found time to work on this!

Would TPC/IP checksum header calculation make sense to use ALTIVEC for?

Cheers
Gunnar


Top
 Profile  
 
PostPosted: Tue Oct 23, 2007 10:31 am 
Offline


Wed Oct 13, 2004 7:26 am

342

Nafplion
gunnar wrote:
Hi Markos,

I think your work is great!
Its good that you found time to work on this!

Would TPC/IP checksum header calculation make sense to use ALTIVEC for?


Thank you Gunnar for your nice words :-)
Well, I thought about this initially, but I've learned that Freescale already did it in the past (I have the url somewhere if you're interested) and submitted it to the linux kernel guys, but they rejected it for various reasons. This is the problem, getting something in the kernel is much more difficult than some other project, and it needs a much more serious approach than my small company would be ever possible to achieve, we're just a startup after all. Unless some big company really wants to push SIMD (Freescale) and really shove money in such an effort, I can't really expect to have a big impact from AltiVec optimizations. But we can make a difference in small target groups, eg. Blender rendering.

Ideally, I'd have an OS where every major component (libC, STL, Qt, etc) would be optimized to take advantage of the hardware (much like Amiga was once). Of course I can't achieve that, but if I can optimize some key software with my efforts, I'd be happy :-)

Konstantinos


Top
 Profile  
 
 Post subject:
PostPosted: Tue Oct 23, 2007 11:20 am 
Offline


Sun Jan 14, 2007 8:01 am

187
coulde mesa for opengl be in the list also? Or is that considered to be part of x.org


Top
 Profile  
 
 Post subject:
PostPosted: Tue Oct 23, 2007 3:13 pm 
Offline


Wed Oct 13, 2004 7:26 am

342

Nafplion
mvdhoning wrote:
coulde mesa for opengl be in the list also? Or is that considered to be part of x.org


yeah, good idea, and i forgot also that perhaps it would be nice to check if one of the scripting languages would be worthy optimizing:

php
perl
python

(pick one only please :-)

Though it might be seem too difficult, a serious approach will probably show some good results. With lots of profiling and testing, it's firstly a matter of finding those functions where most of the cpu time is spent. Then it's a matter of optimizing them, so yeah, in theory everything can be potentially optimized :-)

Konstantinos


Top
 Profile  
 
 Post subject:
PostPosted: Wed Oct 24, 2007 1:33 am 
Offline


Tue Nov 02, 2004 2:11 am

161
markos wrote:
[
yeah, good idea, and i forgot also that perhaps it would be nice to check if one of the scripting languages would be worthy optimizing:

php
perl
python

Konstantinos


Markos,

While ALTIVEC optimizing of PHP, Perl, Python etc or MySQL, other database might be possible - I fear that the benefits will be very low compared to the amount of invested work.

There are some computer tasks where Altivec can give you a 10% performance increase and there are tasks where Altivec
might be able to give a 1000% performance increase.

I would recommend to focus on something that
will give the user a WOW - this is fast experience.

Maybe something like Matlab?
http://en.wikipedia.org/wiki/MATLAB

Or GNU Octave
http://en.wikipedia.org/wiki/GNU_Octave

Or A finite Element software?
http://en.wikipedia.org/wiki/Finite_element_analysis

Or very interesting would be optimizing "Monte Carlo"
http://en.wikipedia.org/wiki/Monte_Carlo_method


Finite elements simulation is used by the industry and they buy walls full of computers to run these jobs.
The same is true for Monte Carlo. Banks even use similar algorythms to estimate the development of Wall street courses.
Optimizing these jobs for Altivec might be wise as - Altivec is very good in these tasks and the people needed this software have real budgets to spend - They have the budget to easely buy 100 or 1000 PPC/CELL systems for such a task.

Cheers
Gunnar



Cheers
Gunnar


Top
 Profile  
 
 Post subject:
PostPosted: Wed Oct 24, 2007 2:24 am 
Offline


Wed Oct 13, 2004 7:26 am

342

Nafplion
gunnar wrote:
Markos,

While ALTIVEC optimizing of PHP, Perl, Python etc or MySQL, other database might be possible - I fear that the benefits will be very low compared to the amount of invested work.


You may be right, but I thought that for example what if I replaced the hashing algorithm in MySQL/PostgreSQL with an optimized one, or what if I finished that Levenshtein algorithm? Wouldn't that be worth the effort and warrant a more than 10% speed increase? Perhaps you're right and it might not be worth it, but at least I have to consider the possibility :-)

Quote:
There are some computer tasks where Altivec can give you a 10% performance increase and there are tasks where Altivec
might be able to give a 1000% performance increase.

I would recommend to focus on something that
will give the user a WOW - this is fast experience.

Maybe something like Matlab?
http://en.wikipedia.org/wiki/MATLAB

Or GNU Octave
http://en.wikipedia.org/wiki/GNU_Octave

Or A finite Element software?
http://en.wikipedia.org/wiki/Finite_element_analysis

Or very interesting would be optimizing "Monte Carlo"
http://en.wikipedia.org/wiki/Monte_Carlo_method

Finite elements simulation is used by the industry and they buy walls full of computers to run these jobs.
The same is true for Monte Carlo. Banks even use similar algorythms to estimate the development of Wall street courses.
Optimizing these jobs for Altivec might be wise as - Altivec is very good in these tasks and the people needed this software have real budgets to spend - They have the budget to easely buy 100 or 1000 PPC/CELL systems for such a task.


Exactly right. But scientific software like the ones you mentioned (MatLab, Octave) is orders of magnitute more complicated than the other software I mentioned. To scientists, it doesn't matter if it runs faster, they need scientific proof that the faster method is *equivalent* to the older one. I'd need to provide a mathematical paper for each of the routines optimized. If the 8th decimal digit is wrong they will not accept the newer method, period. I know I've done scientific simulations years ago. And of course I have to consider the time involvement. 8 months might seem like a lot, but in reality it's not. It's going to take much more for optimizing eg MatLab. The rest you mention are methods and I'd still have to find the respective software that implements these methods.

I have to find some software that fits right between the two extremes that you mentioned, but is much more popular. (Don't forget that it's going to be a proof of concept project, so that I can hunt afterwards the bigger projects you mentioned :-)
So, I need software that will benefit the majority of users, will have a strong WOW-factor, and will be possible to implement in the 8 months. If I can find 2-3 like these that are smaller but are equally important/popular, so much the better :-)

Konstantinos


Top
 Profile  
 
 Post subject:
PostPosted: Wed Oct 24, 2007 6:28 am 
Offline


Mon Feb 20, 2006 4:35 am

1
What about vectorizing the 'libc' ? Is it possible?


Top
 Profile  
 
 Post subject:
PostPosted: Wed Oct 24, 2007 6:36 am 
Offline


Wed Oct 13, 2004 7:26 am

342

Nafplion
rbertran wrote:
What about vectorizing the 'libc' ? Is it possible?


check previous comment about libfreevec and http://www.freevec.org :-)


Top
 Profile  
 
 Post subject:
PostPosted: Sat Oct 27, 2007 5:07 am 
Offline


Sat Aug 12, 2006 1:08 pm

99

Germany
http://www.alphaworks.ibm.com/tech/irt
:-D


Top
 Profile  
 
 Post subject:
PostPosted: Sat Oct 27, 2007 7:46 am 
Offline


Wed Oct 13, 2004 7:26 am

342

Nafplion
Karl wrote:
http://www.alphaworks.ibm.com/tech/irt
:-D


closed source :-/
plus wouldn't it much better if sth like blender3d (which is much more popular) would be optimized for AltiVec/Cell?


Top
 Profile  
 
 Post subject:
PostPosted: Sat Oct 27, 2007 1:04 pm 
Offline


Mon Mar 27, 2006 12:16 pm

79
If you're thinking about databases then MonetDB might be another interesting target for some altivec love.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Oct 28, 2007 5:02 am 
Offline


Wed Oct 13, 2004 7:26 am

342

Nafplion
nixnut wrote:
If you're thinking about databases then MonetDB might be another interesting target for some altivec love.


I'll check this out, thanks. Though to be frank, and despite the poll results, I think I tend towards some 3d software (ogre3d, blender) or some physics engine (ODE, bulletphysics, etc). The rest are not going to show much of an improvement (perhaps X.org will along with Mesa). Anyway, we still have some time till the poll expires and the decision will be made then :-)


Top
 Profile  
 
 Post subject:
PostPosted: Fri Nov 02, 2007 12:40 pm 
Offline
Genesi


Fri Sep 24, 2004 1:39 am

1412
Hi Konstantinos, the Poll only worked for a day (we will check with Matt), but whatever you decide we will support the effort in some way.

R&B :)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 47 posts ]  Go to page 1, 2, 3, 4  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group