Your Software: Faster, Better, Sooner
"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. But while most computer systems today use multicore CPUs and powerful GPUs, the software programming technology to utilize these many cores had not evolved, remaining largely unchanged since 1980. Nor is this problem solved by the operating system or virtualization technology - it must be dealt with in the applications themselves. 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.
The State of the Art in Multicore Programming
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. Unlike manual brute-force parallel coding methodologies, or multicore development tools that merely provide feedback but leave the hard work to the user, TMT provides a comprehensive programming solution that quickly and easily addresses the root issues facing application developers targeting multicore systems.
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, OpenCL). 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 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™