Ateji PX for Java - Benefits
Using library-based techniques, parallel programs are hard to develop and maintain, and almost impossible to test and debug. With more than a handful of threads, you'll soon find yourself spending months debugging an application. Multi-threaded applications require a thorough manual inspection of the whole application code in order to guarantee the correct behaviour of programs.
By offering parallelism at the language level, Ateji® PX makes parallel programming simple and intuitive. The parallelism model is compositional, meaning that testing and debugging can be done incrementally.
Because parallelism at the language level is simple and intuitive, it can be mastered in less than a day. Ateji PX is compatible with your favorite programming language, IDE and development tools. It requires no change in the development process, and developers do not need to go back to school.
Parallelizing legacy code
Using Ateji PX, legacy code does not need to be rewritten, translated or instrumented. Parallelizing legacy code usually amounts to adding a few || and checking compiler messages.
There is no point writing a parallel program for performance, if the program crashes or starts to behave in an unintended way. Unfortunately this is what happens most of the time.
Ateji PX is designed upon a sound theoretical model, and the compiler helps making sure that parallelism does not introduce additional bugs.
Ateji PX makes the best use of available hardware, independently of the number of cores, and adds little or no overhead compared to current library approach.
Because parallel programs are considerably faster to write and easier to understand, developers can concentrate their time and talent on algorithm design and fine performance tuning. This is why given a fixed development time, programs developed with Ateji PX tend to be more performant at run time.
With Ateji PX, parallelizing an application can be as simple as inserting a || operator in the source code. The whitepaper Matrix Multiplication with Ateji PX illustrates this process on a standard example, achieving a 12.5x speedup on a 16-core server:
We just completed an evaluation of Ateji's product, and it does everything it promises… this is a very smart idea
Ateji PX allows quicker and easier Java parallel programming without several of the pain-points of multithreading coming in the way
Ateji PX is a dream for Java™ developers, enabling all kinds of applications to take better advantage of NVIDIA’s multicore processors.
Thank you for this brilliant piece of engineering