Using meta heuristics to discover parallelism

After writing a sequential program, often programmers try to parallelise it. However, knowing exactly where in the program to parallelise is often a black art. Sometimes, programmers employ techniques such as profiling to find hotspots in their code and then parallelise those. However, it is well understood that hotspot detection alone is not enough to […]

Continue reading

Using Meta Heuristics to find optimal parallelisations of skeletal programs

Writing parallel programs is a very complex process, as often there exists many different parallelisations of a given problem. Skeleton libraries, such as those for C++, C, Erlang etc, offer generalised abstractions over these parallel behaviours, as higher-order functions. However, many applications can be parallelised using many different skeletons, or, furthermore, can be parallelised using […]

Continue reading