Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Habanero-C (HC) language under development in the Habanero project at Rice University builds on past work on Habanero-Java , which in turn was derived from X10 v1.5.  HC serves as a research testbed for new compiler and runtime software technologies for extreme scale systems for homogeneous and heterogeneous processors.  Like HJ, HC implements an execution model for multicore processors based on four orthogonal dimensions for portable parallelism:

...

4. Locality control using hierarchical place trees

Unlike HJ which needs a JVM to run, Habanero-C is not constrained by the need for a managed runtime system such as a Java Virtual Machine.  This makes it possible to map HC designed to be mapped onto hardware platforms with lightweight system software stacks, such as the Customizable Heterogeneous Platform (CHP) being developed in the NSF Expeditions Center for Domain-Specific Computing (CDSC).  It  The C foundation also makes it easier to integrate HC with communication middleware for cluster systems, such as MPI and GASNet.

The Habanero-C compiler is written in C++ and is built on top of the ROSE compiler infrastructure, which is also used in the DARPA-funded PACE project under way at Rice University.  The bulk of the Habanero-C runtime has been written from scratch in portable ANSI C.  However, a few library routines for low-level synchronization and atomic operations are written in assembly language for the target platform.  To date, the Habanero-C runtime has been ported and tested on Intel X86, Cyclops 64 and Intel SCC multicore platforms.

...