Sat . 19 Aug 2019
TR | RU | UK | KK | BE |

Ateji PX

ateji pxg, ateji px exchange
Ateji PX is an object-oriented programming language extension for Java It is intended to facilliate parallel computing on multi-core processors, GPU, Grid and Cloud

Ateji PX can be integrated with the Eclipse IDE, requires minimal learning of the additional parallel constructs and does not alter the development process


  • 1 Code examples
    • 11 Hello World
    • 12 Data parallelism
    • 13 Task parallelism
    • 14 Message-passing
    • 15 Data-flow
  • 2 External links

Code examplesedit

Hello Worldedit

public class HelloWorld

Each || symbol introduces a parallel branch Running this program will print either

Hello World


World Hello

depending on how the parallel branches happen to be scheduled

Data parallelismedit

|| int i : arraylength arrayi++;

The quantification int i : N creates one parallel branch for each value of i The effect of this code is to increment all elements of array in parallel This code is equivalent to

|| array0++; || array1++; || arrayarraylength-1++;

More complex quantifications are possible The following example quantifies over the upper left triangle of a square matrix:

|| int i:N, int j:N, if i+j<N matrixij++;

Code that performs a similar and typically small operation on a large collection of elements is called data parallel, and appears often in high-performance scientific applications A typical representative of data-parallel languages for the C/C++ or Fortran ecosystems is OpenMP

Data parallelism features can also be implemented by libraries using dedicated data structures, such as parallel arrays

Task parallelismedit

The term task parallelism is used when work can conceptually be decomposed into a number of logical tasks In this example, tasks are created recursively:

int fibint n

Task parallelism is implemented in languages such as Cilk, and in libraries similar to the fork/join pair of Unix system calls


Parallel branches have two ways of communicating; either by concurrently reading and writing shared variables, or by sending explicit messages The operators ! and respectively send and receive a message on a channel

In this example, two parallel branches communicate via explicit message passing:

Chan<String> chan = new Chan<String>; // branch 1 sends a value over the channel || chan ! "Hello"; // branch 2 receives a value from the channel and prints it || chan s; Systemoutprintlns;


A program is said to be data-flow when computation is initiated and synchronized by the availability of data in a flow A typical example is an adder: it has two inputs, one output, and whenever the two inputs are ready, it sends their sum on the output

void adderChan<Integer> in1, Chan<Integer> in2, Chan<Integer> out

Note the parallel read in1  value1; || in2  value2; It means that the two input values can come in any order Without it, the code may deadlock if values were coming in the wrong order This shows that parallel primitives in a programming language are not only about performance, but also about the behavior of programs

The adder by itself doesn't do anything, since it reacts on input data It needs to be put in a context where other parts feed input values and read output values The way to express this is to compose all pieces in a large parallel block:

|| sourcec1; // generates values on c1 || sourcec2; // generates values on c2 || adderc1, c2, c3; || sinkc3; // read values from c3

Anything that can be thought of as a combination of logical gates or electrical circuits can readily be expressed in this way as a data-flow program

External linksedit

  • The Ateji PX white-paper A gentle introduction to the language features
  • The Ateji PX language manual
  • Think Parallel, Think Java article at Dr Dobbs
  • French Firm Brews Parallel Java Offering

ateji px exchange, ateji px4, ateji pxd, ateji pxg

Ateji PX Information about

Ateji PX

  • user icon

    Ateji PX beatiful post thanks!


Ateji PX
Ateji PX
Ateji PX viewing the topic.
Ateji PX what, Ateji PX who, Ateji PX explanation

There are excerpts from wikipedia on this article and video

Random Posts

Timeline beyond October following the September 11 attacks

Timeline beyond October following the September 11 attacks

The following list contains certain dates beyond October 2001 involving the September 11 attacks ...
Smash Hits

Smash Hits

Smash Hits was a pop music magazine, aimed at teenagers and young adults and originally published in...
2014–15 USC Trojans women's basketball team

2014–15 USC Trojans women's basketball team

The 2014–15 USC Trojans women's basketball team will represent University of Southern California dur...
Trademark classification

Trademark classification

A trademark classification is a way the trademark examiners and applicants' trademark attorneys arra...

Random Posts (



Shtiintsa Rugby Club Baia Mare - Romanian rugby club from Baia Mare, playing in the Super League Clu


Wargame (from the English. "Wargame" - Russian. "War game") - a kind of strategi


Belivtsi is the name of several localities: Belivtsi is a village in the Vyazemsky district of the
Pashayev, Arif Mir-Jalal oglu

Pashayev, Arif Mir-Jalal oglu

February 15, 1934 (1934-02-15) (81 year) Place of birth: Baku Country: Science field: Radiofiz