Category Archives: Parallelism

Parallel programming gotchas

When you practice sequential programming, you learn rules of thumb to identify and avoid patterns that lead to disastrous performance. The same is true for parallel programming. Here are some lessons inspired by the feedback we received from first-time users … Continue reading

Posted in Parallelism | Comments Off

Why multithreading is difficult (2)

If you’ve ever tried multithreaded programming with any of the Java concurrency libraries, you’ve noticed that you still need to take care about a lot of boring technical details. They seem to serve no other purpose than making code incredibly … Continue reading

Posted in Ateji Gems, Parallelism | Comments Off

Ateji PX Free Edition available

Here at Ateji, we aim at offering innovative programming languages and tools. Running such a business is like performing a delicate balancing act: developing a good product takes time, and when the product is finally out you need to implement … Continue reading

Posted in News, Parallelism | Comments Off

Java on GPU with Ateji PX

An explicit parallel composition operator (Ateji PX‘s parallel bar) is pretty useful for hybrid CPU-GPU programming. All frameworks I know embed GPU code into some sort of method call, sometimes indirectly. In any case, you end up writing something like … Continue reading

Posted in Parallelism | Comments Off

Why multithreading is difficult

It is common wisdom that programming with Java threads is difficult (and even more so in other languages). But have you ever tried to figure precisely why this is so ? The problem with threads (PDF) is a nicely written … Continue reading

Posted in Parallelism | Comments Off

Java for HPC (High-Performance Computing)

When presenting Ateji PX to an audience with HPC or simulation background, I often hear definitive opinions of the kind “We’ll never consider Java, it’s too slow”. This appears to be more a cultural bias than an objective statement referring … Continue reading

Posted in Parallelism | 1 Comment

Explaining parallelism to my mother with the Mandelbrot demo

We have put online an Ateji PX version of the Mandelbrot set demo. You specify the number of processor cores to be used for the computation using a slider (lower right), ranging from 1 to the number of available cores … Continue reading

Posted in Parallelism | Comments Off

Integrating π (pi) in parallel

A simple way of computing the constant π (pi) consists in measuring the surface under a curve. In more algebraic terms, this amounts to integrating y = 4/(1+x*x) between 0 and 1, and in programming terms this means incrementing x … Continue reading

Posted in Parallelism | Comments Off

Ateji PX gems : Non-local exits in parallel branches

This article is the first of a series that will explore all the lesser known gems of Ateji PX. Non-local exits are all the statements that take the flow of control “away” from the current local scope. In Java, they … Continue reading

Posted in Ateji Gems, Parallelism | Comments Off

Everything you always wanted to know about Ateji PX

A gentle introduction to Ateji PX is available as a white-paper. It covers all new language constructs, and will definitely give you food for thought if you’ve ever had a look at the existing multi-core programming techniques. Download it here … Continue reading

Posted in Parallelism | Comments Off