Bottom-Up Logic Programming for Multicores

Flávio Cruz, Michael P. Ashley-Rollman, Seth Copen Goldstein, Ricardo Rocha and Frank Pfenning

January 2012


In the Claytronics project, we have used Meld, a logic programming language suitable for writing scalable and concise distributed programs for ensembles. Meld allows declarative code to be compiled into distributed code that can be executed in thousands of computing units. We are now using Meld to program more traditional algorithms that run on multicore machines. We made several modifications to the core language, to the compiler and to the runtime system to take advantage of the characteristics of the target architecture. Our experimental results show that the new compiler and runtime system are capable of exploiting implicit parallelism in programs such as graph algorithms, neural networks and belief propagation algorithms.


  author =    {F. Cruz and M. P. Ashley-Rollman and S. C. Goldstein and R. Rocha and F. Pfenning},
  title =     {{Bottom-Up Logic Programming for Multicores}},
  booktitle = {Proceedings of the 7th International Workshop on Declarative Aspects
               and Applications of Multicore Programming (DAMP 2012) - Short Papers},
  publisher = {ACM},
  editor =    {V. Santos Costa},
  month =     {January},
  year =      {2012},
  address =   {Philadelphia, Pennsylvania, USA},

Download Paper

PDF file