Now All Programmers Can Be Code Ninjas
Use the right tools to work Smarter, not Harder
"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
Advancement in modern processor design since 2004 has focused on delivering an ever-increasing number of 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. This gap in programming technology means the majority of software applications have yet to truly take advantage of the processing and energy efficiency potential of modern multicore and many-core systems.
It's Time to Move Up Again
Texas Multicore Technologies (TMT) unlocks the potential of today's multicore and many-core systems with breakthrough parallel programming solutions. Based on over 20 years of university research in partnership with NASA, TMT's innovative SequenceL™ technology delivers a complete, automated and agile solution to the multicore programming problem.
Humans have always dealt with complexity by abstracting away low-level details. SequenceL does just that for programmers, allowing them to quickly write high performance programs in an easy to use language that self-parallelizes. 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. With SequenceL, all programmers can become Code Ninjas.
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!
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. It is a simple yet powerful functional programming language and auto-parallelizing tool set that quickly and easily converts algorithms to robust, massively parallel C++ (and optionally OpenCL) code, averting the need to specify parallelisms or implementation structures in the code.
Best of all, even though SequenceL is disruptive technology, it does not disrupt your current design flow, methodology, tools, and training. SequenceL extends these investments, with plug-ins for industry standard IDE's (Eclipse, Visual Studio) and support for popular programming languages (C/C++, C#, 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. SequenceL is 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 systems.
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, 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™