Analysis and optimization of divide and conquer algorithms:

Modeling and optimizing recursivive algorithms for modern high-performance architectures.


JuliusC stands for Julius Caesar

[Alias why we inspire a project to Julius Caesar's deeds instead of Napoleon's (why a person? why not the model proposed in the bitonic sorting)?]

Julius Gaio Caesar (102/100 - 44 BC) was the ultimate practitioner of the Romans' motto Divide et Impera. Even though he was not the person who coined the phrase, he was the first putting it in practice successfully and also recording the results in his logs (e.g., during the Gaul war; Caesar was a general and a historian).

This project is inspired by the Roman-dictator abilities in the battle field, especially in the art of the divide et impera. JuliusC is a small C compiler designed to analyze and to model recursive algorithms. In particular, it models the division of a large problem in smaller sub-problems and their recursive compositions.


  1. Introduction.
  2. Compiler Optimizations for Divide and Conquer Applications.
  3. Type-DAG a Hybrid Computation Model.
  4. Applications and Demos.

Work in progress by Paolo D'Alberto