The RSTM package is now available as a Google code project. We welcome your comments, suggestions, and contributions. Future releases will occur through the Google code mechanism.
The information hosted here is accurate with respect to the fifth release, and the initial Google code release. The STM Implementations and STM Primer pages will continue to be relevant, but we expect the RSTM-specific information hosted at the University of Rochester to become rapidly out-of-date.
We have successfully built and tested RSTM in the following environments:
The timing code and atomic operations necessary to run RSTM on OpenBSD and FreeBSD are available in the latest release. There is also experimental support for Itanium processors. You will also see POWER related fencing, however we do not officially support POWER platforms in this release.
If you successfully build RSTM in another environment, please let us know!
There are 5 top-level folders:
alt-license/- code not owned by the University of Rochester Department of Computer Science, such as parts of the Loki library, Win32 GetOpt, and rand_r() for Win32.
VisualStudio/- projects for building in Windows
libstamp/- bindings to build a
librstm.alibrary that can be used with the STAMP benchmark suite
stm/- all library code
mesh/- Delaunay triangulation code
bench/- data structure microbenchmarks
swarm/- OpenGL 3D rendering application
hashing/- extensible hashing benchmarks
VisualStudio/for platform specific information.
make stmconfig ./stmconfig
-eflag when building
stmconfig. If you have
g++-4.2, you can use this by configuring with
make stmconfig -e CXX=g++-4.2
LLVM-2.5in a whole-program optimization mode using the configuration command
CXX=llvm-g++ make stmconfigThis is slightly different than passing
-eflag because the compiler used to compile
llvm-gcc, which is what we need to trigger the correct configuration.
Please note that the makefiles are written for GNU make. On Solaris machines, use 'gmake'.
To build these benchmarks, you must first configure and build the stm library using the above instructions. Then enter the appropriate directory and type 'make'.
The swarm benchmark requires the GL Utility
GLUT, which may or may not be preinstalled in your
system. See the swarm README for more detailed information.
Please note that the mesh has not yet been ported to Microsoft Windows.