WT* is a framework to study and teach the design of SIMD (ingle instruction flow, multiple data) parallel algorithms. Its design follows the general idea that in order to develop a solid theory of parallel algorithmics, one needs a hardware-independent, programmer-friendly language which captures the essential properties of parallel programs, yet can be relatively easily mapped to existing hardware-supported languages. The WT* syntax follows the presentation model from the textbook JáJá: Introduction to Parallel Algorithms. The WT* framework consists of a language, a virtual machine, and a set of tools to write and execute SIMD programs in an emulated environment.

Quick start

The quickest way is to use the web live IDE. Load the following program into the editor, and compile it.

input int n;
output int sum = 0;
int A[n];

#mode cCRCW

  A[i] = i*i;

for (int i = 0; i < n; i++) 
  sum += A[i];
Write an integer n in the input area, and run. The sum of the first n squares will be displayed in the output area. The work and time values are displayed in the notification area. For more information consider the language description, and the sample programs.

CLI tools

There are statically-linked precompiled binaries cli_tools_x86-64_RC_1.1.tgz. They may work, or may not, work on your system. Use the GitHub repository to build from source.