Musket (Muenster Skeleton Tool for High-Performance Code Generation) is an approach based on a Domain Specific Language (DSL) created to speed-up the development of parallel programs. By using it, programmers are able to create code by first writing it in the DSL Musket and then converting the program into parallel CPU or GPU code. Created as a general-purpose tool, Musket has already been applied and tested in several problems including metaheuristics, presenting promising performance results compared to other parallelization approaches.The syntax of Musket is based on C++ which is widely used for high-performance computing. It was defined using the Xtext framework and it includes a parser and an editor that can be incorporated to Eclipse. In this way, programmers can use helpful resources such as syntax highlighting, code completion, and validation. Common parallel programming structures are simplified by representing them as skeletons. Moreover, the division and allocation of data structures to distinct processes is done by the code generator. Ongoing research examines the applicability of Musket for other problems, and the generation of code using CPU and GPU concurrently.
Kuchen, Herbert | Practical Computer Science Group (PI) European Research Center for Information Systems (ERCIS) |
Herrmann, Nina | Practical Computer Science Group (PI) |
Menezes, Breno | Practical Computer Science Group (PI) |