Mitrionics
Accelerate applications in FPGAs without FPGA design skills.
The core of the Mitrion Platform is the Mitrion Virtual Processor, a fine-grain massively parallel soft-core processor that is adapted to the algorithm being implemented. Software written in the Mitrion-C language is compiled into a configuration of the processor, which is then downloaded to the FPGA. This completely removes any hardware design issues from the process of writing software to run on the FPGA.
Below are more facts about Mitrionics:
Technology Brief
Overview of the technology
- The Mitrion Virtual Processor is a fine-grain massively parallel soft-core processor that is adapted to the algorithm being implemented. The processor is then instantiated on the FPGA
- Mitrion-C is an intrinsically parallel programming language that makes it easy to write massively parallel programs for the Mitrion Virtual processor
- Out of the box, the Mitrion Platform supports the Cray XD1™ Supercomputer, SGI RASC Technology™ and Nallatech BenDATA™ PCI Boards. Programs written in Mitrion-C are portable between all platforms that support the Mitrion Virtual Processor
History of the company and origins of the technology
- Founded 2000 by Stefan Möhl and Pontus Borg
- Successfully launched its first version of the Mitrion Platform in 2005 and was then already tested and selected by numerous supercomputing industry leaders, such as Ohio Supercomputer Center, Oak Ridge National Laboratory and Stockholm Bioinformatics Center
- The Mitrion Platform is based on unique, proprietary technology. The combination of the Mitrion Virtual Processor, the Mitrion SDK and the Mitrion-C programming language makes supercomputing performance acceleration accessible to an entire new market of scientists and developers
- The Mitrion Virtual Processor is a fine-grain massively parallel soft-core processor that is adapted to the algorithm being implemented. The processor is then instantiated on the FPGA
- Mitrion-C is an intrinsically parallel programming language that makes it easy to write massively parallel programs for the Mitrion Virtual processor
- Out of the box, the Mitrion Platform supports the Cray XD1™ Supercomputer, SGI RASC Technology™ and Nallatech BenDATA™ PCI Boards. Programs written in Mitrion-C are portable between all platforms that support the Mitrion Virtual Processor
Language Backgrounder
Which languages are supported?
- Mitrion-C is a fully parallel language with an easy to learn C-family syntax
- Implicitly parallel – no need for the programmer to manage and specify parallelism manually
- Mitrion-C is used to program the Mitrion Virtual Processor
How is parallelization achieved?
- Mitrion-C is intrinsically parallel
- The Mitrion-C syntax is specifically designed to support parallel programming
- The syntax makes all design decisions regarding parallelism clear
- Parallelism is automatically derived through a full data-dependency analysis of the program
- Parallelization across nodes is done by usual techniques, such as MPI or OpenMP
Are multiple clock domains supported?
- Since the Mitrion Virtual Processor is programmed on a true software level, the developer does not need to care about clock domains
Level of Abstraction - How different is it from coding in HDL?
- The Mitrion Platform offers true software programming for FPGAs. Mitrion-C is as different from HDL as C and Fortran are different from HDL
- Mitrionics’ technology allows software to be developed with an effort comparable to developing applications for OpenMP or MPI. This allows development time to encompass a matter of days or weeks rather than months or years as with other solutions
- A Mitrion-C program is typically a few hundred lines of code, implemented in a few days - compared to months or years in RTL
Is floating point operation supported?
- Yes, the Mitrion Virtual Processor supports floating point operations with free precision and range (up to double precision)
Is an interface to MATLAB® supported?
Are standalone function libraries available?
- No, not at this time. However, Mitrion-C code examples are available, covering a wide range of problems, such as gene sequencing, biocomputing, and oil and gas exploration
What format is the synthesis output?
- The configured Mitrion Virtual Processor is output as an IP-block in standard RTL (VHDL) for XST synthesis.
- Xilinx XST and ISE™ are run stand-alone
Quality of results / Optimization scenarios
- The Mitrion Virtual Processor design has been optimized by Mitrionics
- No manual tweaking of an adapted Mitrion Virtual Processor that is output by the processor configurator is necessary
- Mitrion is used for computational algorithms for which no other company has invested the man years it takes to implement them in RTL
Simulation and debugging flows
- The application is simulated and debugged at the software level using the graphical Mitrion-C simulator and debugger. This ensures a fast debugging cycle without any delay for circuit simulation or synthesis and place & route
- The Mitrion-C simulator and debugger offers advanced profiling features that immediately show the bottlenecks and parallelism of your program
- The Mitrion Virtual Processor that is output by the Mitrion Platform does not need any further simulation or debugging
- As part of the Mitrion Software Development Kit, Mitrionics supplies a diagnostics utility that will help users without any hardware design experience understand the results of synthesis and place & route to verify that these steps have been completed without problems
- The Mitrion Processor Configurator gives size information for the adapted processor before synthesis and place & route stages are initiated
What is the learning curve?
- A software engineer will need about one week to learn Mitrion-C and get started using the tools
- On-site training is available on request
- Contact training@mitrionics.com for details
Skill pre-requisite
- To write efficient Mitrion-C programs, skills in parallel programming methods such as MPI or OpenMP are an advantage
- Prior experience with C is an advantage
- Using the Mitrion Platform on any of the supported systems does not require any circuit design experience or knowledge of Verilog/VHDL
- Using the Mitrion Platform only requires a small team of two people, the scientist (application engineer) and, if needed, an assisting software engineer. The hardware expertise and FPGA experts are already accounted for by the Mitrion Virtual Processor
Suitability and Fit
Who is the target audience?
- Application engineers developing supercomputing applications on any of the supported systems
Which applications segments are targeted by this product?
- Scientific computations. Key application areas include genomics, pharmaceutical, oil and gas, manufacturing, aerospace, and financial
What are the characteristics of the target application?
- Computationally intensive
- Typical execution times of hours, days or more on CPU-based systems, where users want to do a larger number of calculations, or run the application on larger datasets
- Computation can be run at single precision or is integer dominated
- Data oriented algorithms rather than control oriented algorithms
Main value proposition?
- Magnitudes higher performance in your supercomputer without increasing the number of nodes or power consumption
- FPGA algorithm acceleration is made accessible to software developers without any Verilog/VHDL or other circuit design skills
- Fully portable code between FPGA generations and systems
How can you find out if your application is a good candidate for this tool methodology?
- Applications with identifiable computationally intensive inner loops are likely candidates for major performance increases by the Mitrion Platform
- Algorithm is dominated by integer and fixed-point operations or single precision floating point operations are sufficient for correct execution
- Data oriented rather than control oriented algorithms
Language and methodology limitations
- The Mitrion Platform is targeted specifically at accelerating computational algorithms. It is not a hardware design tool-chain and does not enable rapid circuit design
Successful deployment examples
- Gene sequence analyses application accelerated 15x using Mitrion Virtual Processor running on Xilinx Virtex™-II FPGA.
- Pharmaceutical image analyses application accelerated 10.5x using Mitrion Virtual Processor running on Xilinx Virtex-II FPGA
Customer testimonials
Pricing
Xilinx Integration
Which Xilinx devices/architectures are supported?
- Virtex-4 FPGAs
- Virtex-II Pro FPGAs
- Virtex-II FPGAs
Which Xilinx boards are supported?
- Cray XD1
- Nallatech BenDATA
- Silicon Graphics RASC
Which Xilinx CPUs are supported?
- No Xilinx CPUs (hard or soft) are used
Inference of Xilinx Library components
- Extensive use of Xilinx macros
- Access to Core Generator functions in Mitrion SDK 1.2 and later as external library functions
- The user will not have to invoke the Xilinx Core Generator manually
Benchmark studies targeting Xilinx
- See deployment examples above
Flow integration with EDK/XPS, ISE, System Generator (Implementation)
- Mitrion-C -> Mitrion-C compiler -> Mitrion Virtual Processor configurator -> RTL-VHDL -> Xilinx XST/ISE
- Cross platform portable integration with main program through Mitrion Host Abstraction Layer (mithal)
- Xilinx ISE™ with XST needs to be installed. One single make statement runs the complete flow
Flow integration with EDK/XPS, ISE, System Generator (Simulation)
- With the Mitrion platform, there is no need for circuit simulations
How much Xilinx expertise is needed to get a design from concept to final implementation?
- No Xilinx expertise is needed to get a design from concept to final implementation
Getting Started
How to get started
Design examples for various Xilinx boards
- Accelerator for “Gravit” gravity simulator runs on SGI RASC and Nallatech BenDATA
- Mandelbrot explorer runs on Nallatech BenDATA
- n-body calculations runs on Cray XD-1, SGI RASC and Nallatech BenDATA
Request for evaluation
- Contact sales@mitrionics.com to request an evaluation version. To reach Mitrionics US office please call 310-558-9495. To contact the Swedish Headquarters call +46-46-286-2590
Sales kits available?
(i.e. bundling of boards, software, examples for an integration out of the box experience)
- An evaluation version of the Mitrion Platform is available for any of the supported platforms
Design services / consultancy available?
How to get design services
|