Ateji PX for Java: Training & Consulting in Parallel programming with Ateji PX
Ateji PX is easily accessible to all Java application developers with minimal training. In short, it extends Java with a handful of cleverly chosen syntactic constructs, that make it possible to express within a single language a wide range of patterns, including
-data-, task-, recursive- and speculative parallelism,
-on shared-memory or distributed architectures,
-paradigms such as data flow, stream programming, MapReduce and the Actor model
All these examples are available in the Ateji PX distribution. It targets today multicore systems. The grid/cloud and GPU version will be available soon. For more info, visit www.ateji.com.
Ateji PX is designed as an extension of Java and comes integrated within Eclipse. This makes it compatible with existing source code, development tools and processes. Learning is especially easy : experience has shown that Java developers on their own were able to compile and run their first parallel programs within a couple of hours.
Additional features include synchronous message-passing at the language level and very powerful parallel comprehension expressions ("parallel reductions" in OpenMP lingo). The language design makes it possible to statically guarantee properties such as the absence of data-races and deadlocks.
Training
Training URLHalf-day and full-day training sessions are available for beginners and experienced developpers. On-site training sessions can be organized on request.
The one-day session is organized as follows:
Introduction to Ateji PX for Java ... and to parallelism
- Parallelims: why, where and how?
- First contact with Ateji PX for Java
- Parallelism made simple: parallel branches and loops
Expressing parallelism in Ateji PX for Java
- Synchronization and communication between parallel branches
- Reductions and comprehensions, or 'computing in parallel on sets of interesting data'
Parallelism and dynamic behaviors
- 'select' and handling of external events
- Speculative parallelism - trying multiple alternatives in parallel
- On-demand creation of parallel branches
Porting, debugging and optimizing code with Ateji PX for Java
- Porting applications to Ateji PX for Java
- Pitfalls and traps of the beginner (and how to avoid them!)
- Debugging of parallel programs
- Performance optimization
Interactive study of participants' projects
- A quick-start for parallelizing your own projects with Ateji PX for Java
Consulting
Consulting URLMulticore processors are now mainstream but parallel programming expertise required to effectively exploit these devices is not yet widespread.
Since parallel programming is in our DNA, we have decided to offer our expertise to help our customers unleash quickly the full performance of the latest multicore platforms.
Specific areas of expertise include Java parallel algorithm development, Java performance tuning, support of heterogeneous architecture.
A network of certified consultants is available worldwide for all your projects around Ateji PX.
Our past projects have included:
- Biotech Industry Assisted development of parallel algorithms
- Multicore + GPU Performance evaluation on different hardware and migration to heterogeneous architecture
- Finance Sector Performance improvements of computing intensive back office applications
- Data Mining Troubleshooting parallel programming issues
If you would like to find out more then please contact us to discuss your individual requirements or check our website.
Additional Details
- Date Created: 09/03/2011
- Date Updated: 13/07/2011
- Submitted by: Patrick Viry
- Locations:

