Continue to Site

# MATLAB number of operations

Status
Not open for further replies.

#### grit_fire

##### Member level 5
Hi, all

Not sure if I am posting at the right place. Anyway here my question is:

I am trying to count the number of operations in a MATLAB program. Say it has 5 additions and 5 multiplications. Of course the time/hardware resource consumed by multiplication won't be the same with addition. Does anyone know how o convert number of multiplication to equivalent number of addition?

Thanks a lot!

Maybe you must evaliate it, not deterministically, but empirically .
Take a look on that function, wich coud help in this task :

Elapsed CPU time - MATLAB

+++

Maybe you must evaliate it, not deterministically, but empirically .
Take a look on that function, wich coud help in this task :

Elapsed CPU time - MATLAB

+++

Thanks a lot!

Will that imply the connection with energy consumption? i.e. 1.5 times faster = 1.5 times less energy consumed for this operation?

The reason of that research is not clear to me.
Do you mean to energy, "CPU processing" in microinstructions time ?

If so, the answer could be yes ( with some restrictions ), due MPLAB is not a full-compiled language, but a language wich interprets comands.
But, performing a test with a big amount of operations, I believe that result is very close to time consummed by each operation.

+++

grit_fire

### grit_fire

Points: 2
I am trying to count the number of operations in a MATLAB program. Say it has 5 additions and 5 multiplications. Of course the time/hardware resource consumed by multiplication won't be the same with addition. Does anyone know how o convert number of multiplication to equivalent number of addition?

Unlike a RISC processor, the CISC processor in your desktop running MATLAB lacks a direct correlation between a multiply and an equivalent number of addition operations. The time or the number of cycles for your desktop system's processor to care out a multiply operation depends largely on the type of multiplication.

Are the operands integer or floating point for instance?

Also, as Andre pointed out, you have the additional complexity of MATLAB not being a full-compiled language.
You may have to do as Andre suggested and time your actual MATLAB routines and base your calculations on these findings.

Ciao

grit_fire

### grit_fire

Points: 2
Thank you very much!

The purpose is to basically evaluate the power efficiency of two algorithms by counting the total number of operations. I hence need to relate multiplication/division and addition/subtraction and then obtain one number to represent the number of operations for each algorithm, not to obtain numbers of multiplications and numbers of additions separately.

The reason of that research is not clear to me.
Do you mean to energy, "CPU processing" in microinstructions time ?

If so, the answer could be yes ( with some restrictions ), due MPLAB is not a full-compiled language, but a language wich interprets comands.
But, performing a test with a big amount of operations, I believe that result is very close to time consummed by each operation.

+++

---------- Post added at 16:15 ---------- Previous post was at 16:13 ----------

Unlike a RISC processor, the CISC processor in your desktop running MATLAB lacks a direct correlation between a multiply and an equivalent number of addition operations. The time or the number of cycles for your desktop system's processor to care out a multiply operation depends largely on the type of multiplication.

Are the operands integer or floating point for instance?

Also, as Andre pointed out, you have the additional complexity of MATLAB not being a full-compiled language.
You may have to do as Andre suggested and time your actual MATLAB routines and base your calculations on these findings.

Ciao

Thanks very much. I am aware of the complication involved. I was wondering if there is a conventional way to connect multiplication/division to addition. It seems that the only estimation is to compare the time elapsed on multiplication and addition.

I found another link discussing the use of the MATLAB Profiler:

The use of the Profiler should be able to give you clear indications of the usage of CPU resources required by various routines in your program.

I'm hope the info helps you in your endeavors.

grit_fire

### grit_fire

Points: 2
I found another link discussing the use of the MATLAB Profiler:

The use of the Profiler should be able to give you clear indications of the usage of CPU resources required by various routines in your program.

I'm hope the info helps you in your endeavors.

The Profiler seems to give me the percentages of CPU usage of different statements within the same program. I don't think that can be used to compare two programs.

In order to evaluate performance of each command, you should take this account at same program.
Take in mind that, once MATLAB runs at a multithread operational system, this segregation will affect analysis and probably will give not faithful result.

+++

Status
Not open for further replies.