Solve: Viva’ s functional process of utilizing the components of the above... |
|
Viva cannot be described as simply a "compiler" or a cross-compiler. Viva ultimately is a solver, creating the most efficient execution environment possible as "custom architecture in hardware" for running your program.
With the algorithms, numerical methods, and/or behaviors expressed in the (Implementation Independent Algorithm Description Language) IIADL editor in Viva, and the target system described as a "System Description" Viva is now ready to solve.
Viva then goes through the following steps to solve for the most efficient execution environment:
Compile – Viva takes the user defined algorithm or function fn(x) combined with user defined library objects, system implementer objects, and system libraries, and compiles them … ultimately flattening all components to their most basic (or atomic) level. Viva then performs the partitioning of these elements to the appropriate execution candidate. Such processes as translation, run image creation, placing and routing, and initialization take place at this time.
The Starbridge Hypercomputer system currently can have data passed to and from it through driver calls from Windows and Linux environments. Other reconfigurable HPC systems employing Viva have a similar API scheme. In this sense, it can act as a computational co-processor used to accelerate computation kernels for a multitude of applications. Because the hardware is "reconfigurable" and is not burned in for a specific application, Viva enables its re-use, which becomes one of its many benefits. Likewise, for those looking to boost the computational power of a cluster, but don't have the necessary power, space, or air conditioning to support massive expansion, a Viva enabled Hypercomputer for running those computationally expensive application components becomes a very viable and cost effective option.
Here are some of the main features of Viva:
Data Flow Centric Programming Model
Parallel Component Object Oriented Language
Recursive Algorithm/Topology
Unlimited Operator overloading
Data Set Polymorphism (multi-precise operators)
Information Rate Polymorphism (multi-rate operators)
Context sensitive operator synthesis (System Target and Usage Context)
Strong Types
Data Set Decomposition / Decomposition Operators
Constant Folding with user extensible algorithm
Dynamic Data Set Creation
Timing Driven partitioning / co-synthesis
Local and Global Label resolution
Operating System Kernel
Event Driven Real-time Mixed-Mode (Serial and Parallel) Execution Kernel
Multi-process Hierarchical Thread creation and lifetime management operators
Dynamic default interface creation and execution
Inter-process communication and processor side memory management
Full COM (Common Object Model) Execution implementation including Late bound Dynamic object
creation and interface marshaling across process and machine boundaries
Stand alone Executable Creation for Application Distribution
Dynamic Reconfiguration Support
For more information, or for a supported Viva test drive, please contact the Starbridge sales department at 801-984-444, or email us at: sales@starbridgesystems.com.