Your Software Faster, Better, Sooner
The Easy, Low Risk Path to Modernize Software
for Multicore Computer Platforms
"The way the processor industry is going is to add more and more cores, but nobody knows how to program those things. I mean, two, yeah; four, not really; eight, forget it." - Steve Jobs
Software is in nearly every device we use and will only increase due to the proliferation of more powerful computers, cognitive systems, mobile devices, and embedded systems that make up the Internet of Things (IoT). The complexity of the software that drives them already sets the critical path of most product development. If nothing new is done, software cycle times will continue to stretch out as these new technologies require more functionality, security, and for the software to actually use the performance potential of modern hardware platforms.
This last part is perhaps the biggest technical challenge. Advancement in modern processor design since 2004 has focused on delivering an ever-increasing number and variety of processing cores, putting the challenge on software developers to effectively use these cores. This adds incredible complexity, requiring true parallel programming, which has been reserved for only the most demanding HPC applications because programming tools have not fundamentally changed since 1980.
It is critical we find a way to address these challenges. History has repeatedly shown we must work smarter, not harder.
It's Time to Change the Game (Again)
Texas Multicore Technologies (TMT) recognizes this and has a breakthrough solution that is proven to address all these challenges. Based on over 20 years of university research in partnership with NASA, TMT's SequenceL technology delivers a complete, automated and agile solution to speed time to market with high performance and quality.
Humans have always dealt with complexity by abstracting away low-level details. SequenceL does just that for programmers, allowing them to quickly write software in an easy to use language that self-parallelizes for maximum performance on modern hardware platforms. SequenceL exposes even fine-grained parallelisms, often where a programmer wouldn't think they may exist or be worth the effort to code and test, for maximum performance. This allows the programmer to focus on problem solving rather than worrying about parallelizing, race conditions, or target hardware details.
This results in 10X faster time to market with robust, high performance software that can run on a variety of modern hardware platforms.
Faster Performance: Uses All Cores, GPUs
When run on multicore machines, SequenceL programs automatically identify how many cores are available, allocate the workload appropriately to each core, and adjust those allocations as the program runs to ensure all cores are being fully utilized. This results in dramatically faster application operation and more efficient computing utilization. In fact, the more cores available, the more effective the SequenceL approach is compared to traditional approaches, which become increasingly difficult and error-prone to program (and test) as the number and type of cores increases. With SequenceL, the number of cores to execute on can even be controlled at runtime, without recompiling or changing the program itself!
10X Faster Time to Market
Because programs (or libraries) written in SequenceL are in "Engineering Terms", programs are dramatically simplified and faster to write. This allows developers to focus on problem solving, innovation, and getting the program right the first time, rather than concerning themselves with parallelization, race conditions, and low-level target hardware details. Nor is there a need to hire specialized "parallel ninjas" with detailed knowledge of parallel programming and various multicore and GPU architectures, or to learn and incorporate special low-level GPU languages like CUDA or OpenCL.
Quickly Leverage New Multicore Platforms
SequenceL delivers true application portability with full performance. TMT has worked with our technology partners to do all the low level, platform-specific optimizations so you don't have to. Applications written in SequenceL will run on different implementations of a given architecture (e.g.- x86, 4-16-64 core) by virtue of the SequenceL Runtime Environment. Or if retargeting to a new architecture, GPU, etc., SequenceL applications can simply be recompiled and automatically optimized for other multicore platforms without rewrite.
The Right Tool for the Multicore Programming Job
The days of programming in a one-size-fits-all language are quickly becoming a thing of the past, especially for multicore and many-core systems. SequenceL is the right tool for the multicore and many-core programming job. SequenceL is a compact, powerful functional programming language and auto-parallelizing toolset that quickly and easily converts algorithms to robust, massively parallel code.
Best of all, SequenceL was designed to work in concert with existing programming languages, legacy code and libraries. SequenceL is additive to current design flows, tools, and training. It extends these investments with plug-ins for industry standard IDE's (Eclipse, Visual Studio) and support for popular programming languages (C/C++, C#, Fortran, Java, Python, etc.). SequenceL can be thought of as adding a true "multicore power tool" to the programmer's toolbox, one unlike all other manual, brute-force parallel programming approaches. This makes SequenceL the perfect tool to create multicore libraries (or DLLs) and provides an easy, low risk path to modernize portions of existing programs for modern multicore platforms.
The Right Tool When Security, Correctness and Time To Market Count
SequenceL is not just for multicore performance, it's also the best choice when software security & correctness count, and for overall fastest time to market. This is because algorithms written in SequenceL often match their definition. This is not by accident; the origins of SequenceL go back to NASA's need for an executable specification language. It is easy to get programs correct the first time compared to traditional imperative programming approaches (C/C++, Java, Python, Fortran, etc.) and obvious to spot a line of malicious code in a SequenceL program. Researchers, engineers, and applied mathematicians find SequenceL a powerful tool to explore different algorithms, then quickly convert them to robust, performant production code that runs on a multitude of platforms.
Built Upon Open Industry Standards
SequenceL is built upon open industry standards to work with existing methodologies, frameworks, training, and tools. The output of the SequenceL compiler is parallelized C++ (and optionally OpenCL) to leverage these investments. The automatic OpenCL generation makes it quick and easy to explore whether your algorithms can benefit from GPU acceleration without learning special low-level GPU languages like CUDA or OpenCL.
The SequenceL Approach
Since this game-changing technology is unlike other "Band Aid" multicore or manual parallel programming tools, many people find it helpful to start with this analogy or this SequenceL introductory video to understand this breakthrough technology and the industry-wide problem it solves. Explore further to discover how Texas Multicore Technologies can unleash the multicore performance for your existing software applications and accelerate the time to market on your next development project.
Faster Performance and Even Faster Time to Market™