The Right Tools to Work Smarter, Not Harder
SequenceL is a modern, declarative, functional programming language and auto-parallelizing compiler ideal for software modernization projects. The most well known declarative language is perhaps the SQL database language. Declarative languages instruct the computer only “what” to do, instead of both “what and how” to do it like common procedural programming languages that mimic old single step CPU hardware, (e.g.- C/C++, C#, Java, Python, Fortran). Rather than write simple and clear SQL commands, people could write their own database programs in lower level languages like C++. The reason nobody does is it would be terribly unproductive, error-prone, and still not perform as well compared to a high performance commercial SQL database. The same is true for applications using SequenceL vs. these lower level languages. Thus, each case below will include SQL comparisons to SequenceL to aid in understanding why SequenceL achieves the results it does.
Faster Performance: Uses All Cores, GPUs
Just as database programmers trust their SQL programs to be optimized by their SQL database engine, algorithmic SequenceL programs are highly optimized by the SequenceL technology. When run on multicore platforms, the SequenceL Runtime Environment will automatically identify how many cores are available, allocate the work load appropriately to each core, and adjust those allocations as the program runs to ensure all cores are being fully utilized. The result is dramatically faster application performance 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 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, faster to write, with far fewer lines of code. Just as with SQL, this allows developers to focus on problem solving, innovation, and getting the program right the first time, then allowing the software engine to optimally map it to the target hardware. Many say they can now “focus on the forest instead of the trees,” no longer concerning themselves with parallelization, special libraries, race conditions, and low-level target hardware details.
Further saving time, there is no need to hand the code off to a software engineering group to re-engineer it for performance. The SequenceL is simply compiled into robust, race-free, parallel C++ (and optionally OpenCL). The prototype tool truly is the production tool!
Get It Right the First Time, Spot Malicious Code
Just as database developers can quickly look at an SQL query and know it is correct, algorithms written in SequenceL are very clear and concise, often matching their definition. This is by design; the origins of SequenceL go back to NASA’s need for an executable specification language. This makes it easy to get programs correct the first time compared to traditional procedural programming approaches. In addition, an attempt to inject malicious code into a SequenceL program becomes significantly easier to spot. With much less code than is required in procedural languages, and the resulting code being essentially self-documenting, it becomes much easier to understand code intent and find potential problems.
Portability+Optimization: Quickly Leverage New Compute Platforms
SequenceL delivers true application portability with high performance. SequenceL programs take maximum advantage of multicore systems, now and in the future, without recompile. TMT has done the hard platform-specific work so you don’t have to, working closely with our partners to create optimized versions of the SequenceL Runtime Environment for each platform. This automatically identifies cache sizes, how many cores are available, etc., then allocates the workload appropriately to each core and adjusts those allocations as the program runs to ensure all cores are being fully utilized. The number of cores to execute on and ability to leverage GPU for computation can even be controlled at runtime, also without recompilation.
Fast Return on Investment (ROI)
With SequenceL the actual innovators — engineers, scientists, and mathematicians — can now directly develop robust, high performance software. This speeds your cycles of innovation, and thus time to market, and also means there is no need to hire specialized “parallel ninjas” with detailed knowledge of parallel programming and various multicore and GPU architectures (if you can find them!).
Built Upon Open Industry Standards
SequenceL is built upon open industry standards to integrate with your existing software, languages, tools, training, and methodology. Industry standard parallel C++ and OpenCL output leverages all these investments while providing an easy, low risk path to modernize portions of existing programs. This also makes it quick and easy to explore if your algorithms can benefit from (GP)GPU acceleration without learning special low-level GPU languages like CUDA or OpenCL.