Welcome to MTCAMP Home Page!

C/C++ for Multiprocessors
This Page is Under Construction

What is MTCAMP?

MTCAMP is an extension to C/C++ for parallel processing on multiprocessors (PC servers and workstations). It allows programmers to express parallelism with a simple annotation to C/C++ programs. The runtime system manages parallelism and automatically distribute available parallelism onto a given, constant number of processors. MTCAMP therefore eliminates the need for one of the most intricate and error-prone tasks from developing programs on multiprocessor systems,
In addition, MTCAMP features an experimental debugging tool called dynamic dependence detector, which automatically detects synchronization errors in parallel programs.


MTCAMP consists of two components. One is frontend, which feeds MTCAMP programs (annotated C/C++ programs) and translates them into regular C/C++ code. The other is the runtime system, called StackThreads/MP. We are currently maintaining the frontend and the runtime system separately, hence in order to use MTCAMP, you must download both.
Frontend was developed by extending a commercial C++ frontend called EDG C++ frontend. Obeying non-disclosure agreement of EDG C++ frontend, we do not distribute the entire source code of the frontend. Instead, we distribute binary on some platforms and diffs on others. For non-commercial users, EDG distributes sources for free, subject to the non-disclosure agreement.
See StackThreads/MP home page for detailed requirements for StackThreads/MP runtime.

Supported Platforms

MTCAMP is currently avaiable on the following platforms.


Downloadable packages for MTCAMP are now under preparation. They will be available in a binary form within a month. If you want to receive announcement when they are ready, please send me (either in English or Japanese, if you want to write anything at all. An empty mail is perfect.). See Section "Requirements" to know what you should download. Meantime, you can use StackThreads/MP standalone, which is a library that implements basic functionality of MTCAMP (in a less programmer-frindly syntax).

This research project is conducted as a part of "Advanced Software Enrichment Project" of Information-technology Promotion Agency (IPA), Japan

Copyright (c) 1999 by Kenjiro Taura. All rights reserved.

Back to Yonezawa Laboratory