ADL - Algorithm Definition Language

Michele Guidolin
Alexey Lastovetsky

ADL, Algorithm Definition Language,  is a new language and compiler that  is designed to improve the performance of GridRPC/SmartGridRPC applications.

ADL provides a means to the application programmer to explicitly specify a task graph for all kinds of algorithms. The ADL compiler does not directly produce the task graph from the ADL code but generates C code that is used at run-time to build the task graph. The code generated, and thus the task graph of an algorithm, can be easily integrated in SmartGridSolve to improve the performance of the GridRPC application.

The idea behind ADL is that the programmers, with their knowledge of the application’s algorithm, possess the right information to produce a representative task graph for any given group of tasks in the application. The ADL syntax is similar to the C language. The principal programming unit of this language is a module that is used to specify the group of tasks of an individual algorithm.