The Wayback Machine - https://web.archive.org/web/20100725024213/http://www.ateji.com:80/px/
Home Contact us
Follow us: twitter facebook blog

Ateji PX for Java: parallel programming made simple

Boost application performance and leverage hardware assets
by using all available processor cores

The number of cores in desktop computers and servers is expected to double every year. While the OS is able to run different applications on different cores, the only way for an application to benefit from a performance increase is to parallelize the code at the level of the application.

Ateji PX makes this parallelization process simple and compatible with existing Java code.

Sequential Code: without Ateji PX
the application can only use one core
Parallel Code: with Ateji PX
the application is able to use all available cores
Single CPU Usage Full CPU Usage
Single CPU Usage Full CPU Usage

Learn more See our online demo

As easy as '||'
12.5x speed-up on a 16-core server

The Ateji white-paper "Matrix multiplication with Ateji PX" documents the case of the standard benchmark for data parallelism, where a 12.5x speed-up was observed on a 16-core server. No need to be specialized in multithreading, all what is required is the addition of a single || operator in the source code:

for ||(int i : I) {
   for(int j : J) {
      for(int k : K) {
         C[i][j] += A[i][k] * B[k][j];
      }
   }
}

Key features

Ateji PX is built upon a unique innovative language-integration technology that makes parallel programming:
  • Simple and intuitive, accessible to all software developers
  • Easy to learn and adopt
  • Efficient, making the best use of multi-core hardware
  • Compatible with existing code, tools and practice
  • Based on standards
  • Ready for future-generation hardware

Customer Benefits

  • Leverage the performance of your existing multi-core chips
  • Lower development cost
  • Improve time-to-market
  • Reduce maintainance costs
  • Easy training and staffing
  • Few changes in the development process