High performance parallelism
no longer requires
low-level programming.
High performance parallelism in
pure .NET or Java with
Parallel Template Library (PTL)™.
Parallel Template Library (PTL)™
Software developers have many options to add parallelism to C/C++ applications
(e.g. OpenMP, Intel TBB, Boost), but high performance parallelism can also be
achieved in pure .NET and Java with Parallel Template Library
(PTL)™.
Gain Performance Without Losing Productivity
Developers can quickly add parallelism to their applications by maintaining their
sequential thinking and use of high-level programming languages. PTL is 100% C#
and Java, so developers don't need to learn or use new syntax or code annotations.
Gain Performance Without Parallel Programming Expertise
PTL obtains maximum performance for the current system and does not depend on the
developer’s skills. PTL isolates developers from the complexity of the parallel
programming (e.g. dealing with threads, locking, synchronization).
Continue to Gain Performance on Future Processors
Prepare your application to automatically take advantage of future multicore and
many-core processors. PTL's innovative load balancing techniques allow it to scale
dynamically with the number of available processor cores.
PTL Features
- 700+ ready-to-use, bug-free parallel functions.
- 32-bit and 64-bit data containers optimized for parallelism
(e.g. Vector, Map, Set, Queue, Stack, Matrix).
- Java Parallel For and Invoke for data and task parallelism.
- Parallel versions of many common algorithms
(e.g. Transform, Compare, Accumulate, Find, Sort).
- Parallel versions of sequential algorithms that are extremely
difficult to parallelize (e.g. Union, Intersect, Difference).
- Generic functions that work with any type of data.
- Can be extended for more specific needs by writing custom algorithms
for existing PTL data containers and vice versa.
- Designed for testability and thoroughly tested by internal
tools (30,000+ test cases, 100% pass rate, 99.9% code
coverage).