Products
Transparent Multicore Programming Solutions
TMT applies innovative compiler technology to create a uniquely valuable solution - a multicore compiler that automatically extracts parallelisms from non-threaded algorithmic code to deliver optimized application performance. With the SequenceL™ compiler, there is no longer any need for developers to express parallel constructs or to write hardware-specific code. The SequenceL™ compiler provides an automated path from simple code directly to optimized parallel C++ multicore implementations.
SequenceL™ Compiler description:
The SequenceL™ compiler is a unique technology generating parallel C++ implementations from compact high-level language application code. Starting from general-purpose functional descriptions of the application, the SequenceL™ compiler automatically extracts parallel implementations and inserts controls to optimize system synchronization. The SequenceL™ compiler produces high-performance, architecture-independent C++ multicore implementations.
SequenceL™ Features
- Compiles functional descriptions in high-level SequenceL™ language
- Simple algorithmic coding
- Compact language (12 grammar rules)
- Semantics based on two computational laws
- Consume-Simplify-Produce
- Normalize-Transpose-Distribute
- No need for users to specify parallelisms
- Easy for engineers and scientists to understand and audit
- Prevents typical sequential coding errors
- Compiler automatically finds and implements parallelism
- Shortens lead time for multi-core programming
- Descriptions frequently can be used as software documentation
- Generated parallel C++ easily inserted into legacy code
- Simple algorithmic coding
- Automated parallel programming solution
- Ideally suited to multi-core processors
- Transportable across any number of cores, OS's and architectures
- Libraries of pre-accelerated IP for specialized functions available
- Compiler available for Windows and Linux systems
- Multi-core performance optimization functions
- Synchronization engine optimizes for specific multicore architectures
- Inserts proper controls to ensure proper system synchronization
- Optimizes memory access
- Distributes load across multiple processors
- Eliminates communication bottlenecks across cores
- Optimizes accelerated performance for applications on any target
- Compatible with heterogeneous many-core architectures (e.g. CPU, GPU, DSP)
- Works with any number of processor cores
SequenceL™ Benefits
- Enables transparent multicore programming solution
- No need to identify parallel opportunities in advance
- No need to write parallelizing algorithms
- Enables code transportability across multicore architectures
- No need to re-write code for new multicore architectures
- Delivers maximum performance from parallelization
- Taps parallelisms intrinsically available in the application
- Renews correlation between new processor releases and "automatic" performance improvements for the application
- Adding cores results in performance improvements without recoding
- Improved software quality
- Dramatically reduces number of lines of code
- Represents functions in simplest "engineering terms"
- Simplifies and speeds software verification and debug
- Reduces development costs for multicore acceleration
- Compiles application to familiar C++
- Code can be parallelized in segments and integrated with existing code
- Fits easily with existing coding methodologies