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:
Past participants and friends include
- Nic Ford (University of Chicago)
- Korie Klein (University of Chicago)
- Joshua Knox (University of Chicago)
- Jon Riehl (University of Chicago)
- Ridg Scott (University of Chicago)
Papers
These papers are listed in chronological order of appearance (most recent first).
-
Lazy tree splitting
By L. Bergstrom, M. Fluet, M. Rainey, J. Reppy, and A. Shaw.
ICFP 2010,
September 2010.
-
Effective scheduling techniques for high-level
parallel programming languages
By M. Rainey
PhD. Dissertation, Departent of Computer Science, University of Chicago,
August 2010.
-
Arity raising in Manticore
By L. Bergstrom and J. Reppy.
IFL 2009,
September 2009.
-
Arity raising and control-flow analysis in Manticore
By L. Bergstrom
Master's paper, Departent of Computer Science, University of Chicago, November 2009.
-
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: August 26, 2010.