Prism is an embedded multicore programming system developed by CriticalBlue. The platform lets software engineers realize the full potential of multicore processors without significant change to their development flow. As a rich, graphical and environmental plug-in, Prism augments existing tool flows and is portable across various multicore processor platforms. It lets engineers take their existing sequential code and, without changing it, explore and analyze opportunities for concurrency, implement parallel structures, and verify efficient and safe operation.
The starting input of the Prism-based design flow can be existing sequential software or code that already includes threading constructs. Because no code changes are required to commence analysis, software developers can learn about their existing software while understanding the nuances of programming in the multicore world. The tool's flexibility permits an iterative development strategy where concurrency may be gradually added, thus accelerating an engineer's progress.
Prism allows the exploration of various operating scenarios for the code in a multicore environment. The tool's what-if analysis capabilities can be used to rapidly explore the impact of different threading strategies, numbers of cores, dependency removal, and scheduling policies. It augments existing compilers and integrated development environments (IDEs) with all the capability needed to target code effectively in a multicore environment. Once the user has decided on the necessary code changes that deliver the required performance on the multicore architecture, Prism can verify that the changes produce safe, efficient code. By including up-front verification, potential latent bugs due to data races and other common issues are eliminated early in the design process.
Prism is available today and can be downloaded from www.criticalblue.com for immediate evaluation.