Sequoia is a programming lanaguage for writing portable and efficient parallel programs. Sequoia is unusual in that it exposes the underlying structure of the memory hierarchy to programmers, albeit in a manner abstract enough to ensure portability across a wide variety of contemporary machines. Sequoia is syntactically an extension to C++ and includes a number of C++ features, but the Sequoia-specific programming constructs result in a programming model very different from C++. Sequoia provides language mechanisms to describe the movement of data through the memory hierarchy and provides mechanisms to localize computation and data to particular levels of that hierarchy.
Sequoia is also a work in progress: this is the first release. While we use the compiler ourselves every day and have tested it fairly extensively, there are certain to be rough edges and outright bugs. Users who don't mind working with an experimental system will likely have a good experience; if you are looking for a production system this version of Sequoia is likely not for you. There is a core set of Sequoia features that are well-tested and documented and should be sufficient to write significant Sequoia programs that work well. There are also more experimental features in the language that are included in this release, but are currently not as complete as we would like (for example, some of these constructs do not currently work on all platforms, or only work with special annotations or other help from the programmer). We include these features in the current release because we have found them necessary for writing certain kinds of programs. Our intention is to remove these limitations in future releases.
Sequoia can be installed by downloading and then building its source code (download). There is currently no support for obtaining a pre-compiled binary.
The Sequoia manual (download) describes the high-level design of Sequoia and the technical details necessary to begin building programs using the Sequoia compiler.
Feedback on the Sequoia implementation and its documentation is welcome and can be sent to: sequoia-discuss (at) googlegroups (dot) com
You can find previous discussions and search answered questions at our website.