Home

ParaDict a data parallel library for dictionaries


Author(s) : Jordi Petit Silvestre Joaquim Gabarr??, 
Publisher : N/A
Publication Date : 1997
ISSN : N/A
Abstract : ParaDict, a data parallel library for dictionaries having two different interfaces is presented. The first interface is written in C * for data parallel users and the second interface in C, for users that want to use a parallel library but not to write parallel programs. We have seen that C * is an adequate tool to code theoretical PRAM algorithms into readable programs. These programs were ran on a CM 200 with better times than other existing implementations. They also have much better asymptotic behaviour when compared to a sequential implementation on a workstation. Finally, the relationship between data parallelism and vectorization is explored, transforming C * code into C code plus compiler directives and running the result on a Convex C3480 machine. Even if (almost all) the loops were vectorized, the performances were modest. All these facts allow us to look at the development of other parallel libraries with moderate optimism. 1. Data parallel libraries Sequential abstract data types are well known from theory and practice and complete libraries exist for them. For instance, the well known LEDA library developed by K. Melhorn and S. Nher [12] written in C++ is widely used (even on introductory courses). It belongs to the so called SP/SL model: SP/SL model: A Sequential Program calls a Sequential Library. In this case, the program and the library are both written in a sequential language. The situation is quite different on massive parallelism. We have a very sophisticated theory on parallel data struc-? This work has been partially supported by ESPRIT LTR Project,