Home FAQs General FAQ What makes 3L Diamond different?

What makes 3L Diamond different?

E-mail Print PDF
User Rating: / 0
PoorBest 
There are many features that make Diamond significantly different from other tools that developers try to use for multiprocessor applications. Some of the more significant features are:
  • Diamond was designed from the beginning for highly-optimised multiprocessor applications and has been used successfully on platforms with from one to over one thousand processors. It is not a single-processor system that makes claims to support multiprocessors or one that has been stretched to try to do things that far exceed its original constraints.

  • Diamond has a coherent model that is used to describe multiprocessor systems and transparently supports heterogeneous systems made from differing processor types. It is not an ad hoc collection of bits and pieces that you have to fit together as best you can.

  • The Diamond model works equally well on DSPs and FPGAs. Even users with little or no knowledge of FPGAs can use the impressive parallel performance they offer to accelerate parts of their applications.

  • The Diamond multiprocessor compiler is unique. It constructs your application after having been presented with all of the required components and so can gather information from them to detect many opportunities for in-processor and system-wide optimisations.

  • Diamond loads the whole of the processor network for you; you do not have to struggle loading each processor individually.

  • Diamond's flexibility is unsurpassed. You can easily change your hardware, the number and type of the processors, and the topology of your system without needing to change your code. Building variant applications with tasks moved from one processor to another, even from DSPs to FPGAs, is truly trivial.

  • Diamond takes over many of the boring and error-prone housekeeping operations that are of little real interest to you but essential to get a multiprocessor application working. That leaves you free to concentrate on your core skills and algorithms.

 

Try Diamond Now!

DemoSystem1

Did You Know?

You can use K (for 1024) and M (for 1024*1024) when you specify sizes of memory areas such as a task's stack.