ePython

Task farms on the Epiphany

By | Parallella Blog | No Comments

Splitting problems up into tasks and running these concurrently over a number of cores is a popular approach to parallelism. In recent years this has becoming more and more popular and is seen as one of the ways in which parallel codes might be written for future machines with very large numbers of processing cores. In this tutorial we are…

Read More

Pipelines on the Epiphany

By | Parallella Blog | One Comment

In the previous tutorial (available here) we looked at splitting a problem up geometrically. Driven by the decomposition of the data, different parts of the problem ran on different Epiphany cores with these cores often needing to communuicate when a neighbouring value held on another core was required. Whilst geometric decomposition is a very common approach not all problems are…

Read More

Geometric decomposition with the Epiphany

By | Parallella Blog | No Comments

In the previous tutorial (here) we concentrated on different ways to pass messages between cores which is one of the core mechanisms of parallelism. We saw that messages can be point to point, where only two cores are involved, or collective where every core is involved. The forms of communication that you select depends upon the problem you are trying…

Read More

Parallel messaging with the Epiphany

By | Parallella Blog | 5 Comments

This is the first of a number of tutorials where we are going to explore the parallel capabilities of the Epiphany and develop some parallel codes which illustrate the techniques used by HPC programmers to write large scale parallel codes on modern supercomputers. In this post we will concentrate on the mechanisms of parallelism, and one fundamental activity is the…

Read More