The Manticore Project
About
Manticore is a heterogeneous parallel programming language aimed at general-purpose
applications running on multi-core processors.
Manticore supports parallelism at multiple levels: explicit concurrency and course-grain
paralellism via CML-style constructs and fine-grain parallelism via NESL/Nepal-style
data-parallel arrays.
Matthew Fluet's notes from the Central European Functional
Programming Summer School give a more detailed
overview of the project.
Status
We have been working on a compiler and runtime system for Manticore since the
beginning of 2007.
Currently we have most of the parallel features implemented and running on Linux and MacOS X
on the x86-64 (a.k.a. AMD64) architecture.
Our current implementation efforts are focused on performance tuning.
We have not had time to package a release yet, but the system is available on request.
People
The Manticore project is a joint project between researchers at
the University of Chicago and
Toyota Technological Institute at Chicago.
The following people are actively involved:
- Lars Bergstrom (University of Chicago)
- Matthew Fluet (Rochester Institute of Technology)
- Korie Klein (University of Chicago)
- Joshua Knox (University of Chicago)
- Mike Rainey (University of Chicago)
- John Reppy (University of Chicago)
- Adam Shaw (University of Chicago)
-
Yingqi Xiao (University of Chicago)
Past participants and friends include
Papers
These papers are listed in chronological order of appearance (most recent first).
-
Implicitly-threaded parallelism in Manticore
By M. Fluet, M. Rainey, J. Reppy, and A. Shaw.
Submitted for publication, August 2009.
This paper is a longer version of the ICFP '08 paper.
-
Parallel Concurrent ML
By J. Reppy, C. Russo, and Y. Xiao.
ICFP 2009,
September 2009.
-
Programming in Manticore, a Heterogenous
Parallel Functional Language
Notes from Matthew Fluet's lectures at the Central European Functional
Programming Summer School, May 2009.
-
Implicitly-threaded parallelism in Manticore
By M. Fluet, M. Rainey, J. Reppy, and A. Shaw.
ICFP 2008, September 2008.
-
A scheduling framework for general-purpose parallel languages
By M. Fluet, M. Rainey, and J. Reppy.
ICFP 2008, September 2008.
This paper covers much of the material in the Nested schedulers for heterogeneous
parallelism paper below, but omits the formal semantics and adds some empirical evaluation.
-
Toward a parallel implementation of Concurrent ML
By J. Reppy and Y. Xiao.
DAMP 2008, January 2008.
-
Status Report: The Manticore project
By M. Fluet, N. Ford, M. Rainey, J. Reppy, A. Shaw, and Y. Xiao.
ML 2007, October 2007.
-
Data Parallelism in Manticore (Draft)
By A. Shaw
Master's paper, Departent of Computer Science, University of Chicago, July 2007.
-
Nested schedulers for heterogeneous parallelism
By M. Fluet, M. Rainey, and J. Reppy
Unpublished, April 2007.
-
The Manticore runtime model
By M. Rainey
Master's paper, Departent of Computer Science, University of Chicago, January 2007.
-
Specialization of CML message-passing primitives
By J. Reppy and Y. Xiao.
POPL 2007, January 2007.
-
Manticore: A heterogeneous parallel language
By M. Fluet, M. Rainey, J. Reppy, A. Shaw, and Y. Xiao.
DAMP 2007, January 2007.
-
Toward optimization of Concurrent ML
By Y. Xiao.
Master's paper, Departent of Computer Science, University of Chicago, 2005.
Support
The Manticore project is supported, in part, by National Science Foundation grant
CPA-SEL: Implementation Techniques for High-level Parallel Languages.
Last modified: November 11, 2009.