The Pochoir Project

From SuperTech Wiki

(Difference between revisions)
Jump to: navigation, search
Line 16: Line 16:
== <br>Pochoir Team ==
== <br>Pochoir Team ==
-
The project is jointly developed by SuperTech group at MIT and Intel Corp.. The core team includes:  
+
The project is jointly developed by [https://groups.csail.mit.edu/sct/wiki/index.php?title=Main_Page SuperTech group at MIT] and [http://www.intel.com/?en_US_01 Intel Corp].. The core team includes:  
*[http://people.csail.mit.edu/yuantang Yuan Tang]
*[http://people.csail.mit.edu/yuantang Yuan Tang]
Line 45: Line 45:
'''Pochoir''' is covered by the [http://www.gnu.org/licenses/gpl.html GNU Public License version 3.0]
'''Pochoir''' is covered by the [http://www.gnu.org/licenses/gpl.html GNU Public License version 3.0]
 +
 +
== Acknowledgement ==
 +
 +
The Pochoir project is supported in part by a grant from [http://www.intel.com/?en_US_01 Intel Corporation] and in part by the [http://www.nsf.gov/ NSF] Grant CCF-0937860 and CNS-1017058.
----
----
Copyright  ©  2010-2011 [http://people.csail.mit.edu/yuantang/ Yuan Tang] and [http://people.csail.mit.edu/cel/ Charles E. Leiserson], All Rights Reserved.
Copyright  ©  2010-2011 [http://people.csail.mit.edu/yuantang/ Yuan Tang] and [http://people.csail.mit.edu/cel/ Charles E. Leiserson], All Rights Reserved.

Revision as of 20:32, 11 February 2011

Contents


Welcome to Pochoir


File:sim-space-cut.png


Pochoir - Parallel Stencil Computation Compiler

Pochoir (pronounced "PO-shwar") is a compiler and run-time system for implementing stencil computations on multicore processors. A stencil defines the value of a grid point in a d-dimensional spatial grid at time t as a function of neighboring grid points at recent times before t. A stencil computation computes the stencil for each grid point over many time steps.

In Pochoir, user typically just need to specify his /or her stencil computing kernel and boundary conditions in an embedded domain specific language in C++. Depending on the purpose of checking functional correctness or performance, user can employ either a native C++ compiler or Pochoir compiler to compile and run his /or her code. If the user employs the Pochoir compiler, the basic parallelization and optimization strategy of Pochoir is divide-and-conquer (cache-oblivious algorithm). In higher dimensional space-time grid, Pochoir employs a novel cutting strategy of simultaneous space cut.

Pochoir is an open source software project hosted by SuperTech group at CSAIL, MIT. You are invited to contribute in many forms (documentation, translation, writing code, fixing bugs, porting to other platforms...).

The Pochoir package contains three (3) main components: an embedded domain specific language (EDSL) in native C++ for stencil, a C++ template library for baseline run, and a domain specific compiler for optimal run.

The Pochoir EDSL is native C++, the library is C++ template library, and the DSL compiler is written in Haskell. Currently, the Pochoir package is only tested on Linux system.


Pochoir Team

The project is jointly developed by SuperTech group at MIT and Intel Corp.. The core team includes:


Current Release

Pochoir 1.0 is now released (Feb, 2011)

Download Pochoir Source Code


Documentation

Manual


Road Map

  • Performance, Performance, and Performance
  • Algorithm, Algorithm, and Algorithm
  • More boundary conditions, such as irregular shaped computing domain

Pochoir is covered by the GNU Public License version 3.0


Acknowledgement

The Pochoir project is supported in part by a grant from Intel Corporation and in part by the NSF Grant CCF-0937860 and CNS-1017058.


Copyright  ©  2010-2011 Yuan Tang and Charles E. Leiserson, All Rights Reserved.

Personal tools
Members Only
Off Topic