Power Developer https://powerdeveloper.org/forums/ |
|
AltiVec/Cell optimizations poll? https://powerdeveloper.org/forums/viewtopic.php?f=23&t=1410 |
Page 1 of 4 |
Author: | markos [ Tue Oct 23, 2007 7:07 am ] |
Post subject: | AltiVec/Cell optimizations poll? |
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. |
Author: | Grzegorz Kraszewski [ Tue Oct 23, 2007 9:43 am ] |
Post subject: | Re: AltiVec/Cell optimizations poll? |
Quote: 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.
|
Author: | gunnar [ Tue Oct 23, 2007 10:17 am ] |
Post subject: | Re: AltiVec/Cell optimizations poll? |
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 |
Author: | markos [ Tue Oct 23, 2007 10:31 am ] |
Post subject: | Re: AltiVec/Cell optimizations poll? |
Quote: Hi Markos,
Thank you Gunnar for your nice words :-)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? 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 |
Author: | mvdhoning [ Tue Oct 23, 2007 11:20 am ] |
Post subject: | |
coulde mesa for opengl be in the list also? Or is that considered to be part of x.org |
Author: | markos [ Tue Oct 23, 2007 3:13 pm ] |
Post subject: | |
Quote: 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 |
Author: | gunnar [ Wed Oct 24, 2007 1:33 am ] |
Post subject: | |
Quote: [
Markos,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 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 |
Author: | markos [ Wed Oct 24, 2007 2:24 am ] |
Post subject: | |
Quote:
Markos,
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 :-)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. Quote:
There are some computer tasks where Altivec can give you a 10% performance increase and there are tasks where Altivec
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. 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. 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 |
Author: | rbertran [ Wed Oct 24, 2007 6:28 am ] |
Post subject: | |
What about vectorizing the 'libc' ? Is it possible? |
Author: | markos [ Wed Oct 24, 2007 6:36 am ] |
Post subject: | |
Quote: What about vectorizing the 'libc' ? Is it possible?
check previous comment about libfreevec and http://www.freevec.org :-)
|
Author: | Karl [ Sat Oct 27, 2007 5:07 am ] |
Post subject: | |
http://www.alphaworks.ibm.com/tech/irt :-D |
Author: | markos [ Sat Oct 27, 2007 7:46 am ] |
Post subject: | |
Quote:
closed source :-/plus wouldn't it much better if sth like blender3d (which is much more popular) would be optimized for AltiVec/Cell? |
Author: | nixnut [ Sat Oct 27, 2007 1:04 pm ] |
Post subject: | |
If you're thinking about databases then MonetDB might be another interesting target for some altivec love. |
Author: | markos [ Sun Oct 28, 2007 5:02 am ] |
Post subject: | |
Quote: 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 :-)
|
Author: | bbrv [ Fri Nov 02, 2007 12:40 pm ] |
Post subject: | |
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 :) |
Page 1 of 4 | All times are UTC-06:00 |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |