BeBOP Resources

Hardware

Berkeley IRAM Project

Pentium IV
Local machines you can log onto (using ssh) are saab and camaro.

UltraSPARC IIi
You can also get more information under Solaris; locally, log onto vw and try the following commands:

Millennium
UC Berkeley hosts an interdisciplinary project to provide the campus with a campus-wide ``cluster of clusters,'' the Millennium project.

Cray T3E
NERSC has provided use of their Cray T3E, mcurie.nersc.gov.

Compilers (and assemblers and ...)

gcc
Need information on gcc compiler flags? Read the manual. Want to do inline assembly in gcc? Here's a starting point.

Here is a more thorough reference. This also includes the "operand constraint" syntax used for getting C operands into registers or memory, as appropriate, so that they can be accessed from assembly language. On this topic, here is some recommended reading.

(Thanks to Brian Gaeke for these pointers.)

Sun cc compiler
A list of compiler flags.

The Intel Compilers
When I figure out how to install these compilers locally, you can play around with its automatic vectorization features and make use of its intrinsic support for MMX/SSE1/SSE2.

Performance Monitoring Tools

PAPI
This library contains a high-level interface for accessing hardware counters (that count cycles, cache misses, etc.) in a relatively portable way. There are also some ``user-friendly'' tools.

Performance Counter Library
This package is similar to PAPI but without some of the frills (like the stand-alone tool). The Intel/Linux counter access is based on MSR which requires a kernel module to be loaded but no kernel patching (unlike PAPI)---so it is a bit easier to install.

Tuning and Analysis Utilities (TAU)
A set of libraries for instrumenting code.

Benchmarks and Data

Matrix Market
A clearinghouse for sparse matrices.

Related People and Projects

For information on current research in the department, see the 2001 ERL Research Summary.

Alex Aiken
Programming languages, including Titanium.
Dave Culler
One of the primary researchers of both the Millennium and Ninja projects. He co-authored the text used in CS258: Parallel Processors. The lecture notes may be handy. You may want to ask about the Endeavour project, as well.
Jim Demmel
The initial developer of CS267, Dr. Demmel's primary research areas include parallel algorithms for both dense and sparse linear algebra.
Sue Graham
Programming languages, including Titanium.
Paul Hilfinger
Programming languages, including Titanium.
W. Kahan
Numerical software of all sorts. Well, no, all sorts would include inaccurate, sloppy, and slow sorts. Absolutely none of those.
Randy Katz
Talk to him about the Endeavour project. I'm sure there are many interesting, futuristic applications of parallel computing.
Jonathan Shewchuk
Geometric and numerical algorithms.
Kathy Yelick
Programming languages, including Titanium and optimizing sparse matrix operations. Also the Intelligent RAM (IRAM) project.

Main CS267 page, and the TA's CS267 page

E. Jason Riedy
ejr@cs.berkeley.edu