Technical discussions related to Analog Devices DSPs (including Blackfin, TigerSHARC, SHARC and ADSP-21xx DSPs).
In order to reduce the execution time of my program I need to use both processors. I just don't know how to do that? I'm using VisualDSP++. What are the instructions, how much is to be gained by that. The program is multiplying matrices, and I figured one processor to multiply one part, and the other some other part, and then to exchange results. ------------------------------------
On Mon, 24 Mar 2008 d...@yahoo.com wrote: > In order to reduce the execution time of my program I need to use both >processors. I just don't know how to do that? > I'm using VisualDSP++. > What are the instructions, how much is to be gained by that. Finding a good split is not simple, but it can be useful if the tasks are compute bound rather than memory bound. > The program is multiplying matrices, and I figured one processor to >multiply one part, and the other some other part, and then to exchange >results. If you can split the problem into different regions so one processor does all the decision making and the other does most of the computations you will probably have a better solution. You have to figure out the amount of time it takes to transfer data between devices along with the time it takes to compute the answer - this bandwidth is not present in a single processor solution. As the number of processors increases the amount of communication bandwidth needed grows as n! so it is important for the amount of data to be communicated to be small and the amount of data to be crunched to be high. There are lots of ways to glue processors together. Think about how your problem can be split up and add up the MIPS for com-link vs crunching for all the different ideas you come up with. You'll be supprised - sometimes the dumbest sounding idea turns out the be optimal! Patience, persistence, truth, Dr. mike ------------------------------------