calculating MIPS in a application

Started by mia December 8, 2003
hi all,
     i want to know as to how a product engg calcuates MIPS in a
application.well we have a algorithm(image compression) which we plan
to implement it in a dsp processor.in the process of  choosing the 
processor,the main criteria which is been asked is ...whats the MIPS
of ur application????
   how can one calculate that..???

thanks 
miadsp
mia wrote:

> how can one calculate that..???
At first, it depends on the CPU in use. At second, it depends on the optimisation level you can achieve (it very easy to increase needed MIPS). As alternate solution, you can decompose your algorithm in simple operation (add, mul, logic, mov, etc.) and count them. This will give a reasonable result, but it will not account for CPU specific feature (SIMD, just to make an example). bye, -- Piergiorgio Sartor
"mia" <miadsp@rediffmail.com> wrote in message
news:a1877ce6.0312080131.45cd7a61@posting.google.com...
> hi all, > i want to know as to how a product engg calcuates MIPS in a > application.well we have a algorithm(image compression) which we plan > to implement it in a dsp processor.in the process of choosing the > processor,the main criteria which is been asked is ...whats the MIPS > of ur application???? > how can one calculate that..???
I suspect the one asking that question is a sales/FAE type person from a DSP vendor. I think we've had numerous discussions in the past where we pretty much concluded that a MIPS calculation is pretty useless other than to serve a *very* approximate measure of a processors capability (there is also a wide range of definitions for this measure which doesn't help). So you have an algorithm. Identify the 'real-time' needs of your algorithm/application. In your case, image compression, you may for example have a need to process an image every X secs. So your 'real-time' need is to run your algorithm on an image every X secs. Study your algorithm to estimate how many 'operations' you need to perform. This 'operations' parameter will vary widely from processor to processor depending on it's capabilities. Some can do dual multiplies in a single instruction (SIMD type), etc. This gives you a starting point on what your needs are. You can then try and study various processors to see if it will meet your needs. If you expect others to tell you what processor to use, then you will end up with something that isn't optimized for your needs.
> thanks > miadsp
In article <a1877ce6.0312080131.45cd7a61@posting.google.com>,
mia <miadsp@rediffmail.com> wrote:
> i want to know as to how a product engg calcuates MIPS in a >application.well we have a algorithm(image compression) which we plan >to implement it in a dsp processor.in the process of choosing the >processor,the main criteria which is been asked is ...whats the MIPS >of ur application????
"MIPS" means something like "meaningless indication of processor speed", or perhaps, "marketing indication of product speed". The way to get this number is for the marketing department do decide what number, say X, that they need to convince customers to buy their CPU, then to find some applications and develop or find a compiler that will run these applications X times faster than some vintage computer (say a VAX 11/780 or IBM 370/158, which happened to be marketed as 1 "MIP" machines, even though they didn't execute a million anythings per second) running a much more primative compiler.
> how can one calculate that..???
Do the same as these marketing departments. First compile and run your application on a VAX 11/780, then on the various DSP CPU's you are choosing among using your preferred compilers. If your app runs X times faster, then that's the MIPS rating of your application on that particular DSP architecture and implementation. Note that this will most likely not produce only a single number, and unless your image compresssion algorthim has very similar execution characteristics to Dhrystones, or SPEC or EEMBC applications, these numbers may or may not have any correlation with the MIPS rating given by various marketing entities. IMHO. YMMV. -- Ron Nicholson rhn AT nicholson DOT com http://www.nicholson.com/rhn/ #include <canonical.disclaimer> // only my own opinions, etc.
MIPS is a useless metric. A secretary applying for a job say that her speed
is 300 words per minute. Ure impressed!
BUT little did u know all she type is the word "I"
Thats what the MIPS is.
Normally a product of actual power * time to implement a certain algo is a
good metric. Try to see which benchmarks ure appln is close to
(DHrystone/Whetstone )benchmarks. one of these is for scientific
calculations

"mia" <miadsp@rediffmail.com> wrote in message
news:a1877ce6.0312080131.45cd7a61@posting.google.com...
> hi all, > i want to know as to how a product engg calcuates MIPS in a > application.well we have a algorithm(image compression) which we plan > to implement it in a dsp processor.in the process of choosing the > processor,the main criteria which is been asked is ...whats the MIPS > of ur application???? > how can one calculate that..??? > > thanks > miadsp