-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreadme
executable file
·66 lines (47 loc) · 2.85 KB
/
readme
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Please visit the Rochester Software Transactional Memory website
(http://www.cs.rochester.edu/research/synchronization/rstm/index.shtml) for
detailed information on this software package, to include recent publications,
example code, and documentation.
WINDOWS-VisualStudio USERS
We have support for Visual C++ 2008 in the /VisualStudio/VisualStudio.sln
solution. Please read the README.txt included there for configuration and
build instructions.
BUILDING
After you have unpacked the rstm tarball, you will need to build the
config.h and Makefile.inc files. The stmconfig executable performs this
task. First, build stmconfig by typing
'make stmconfig'
Note: if you have multiple versions of gcc installed in your system, and
they have different names, you can explicitly select which one you would
like to configure with by passing the -e flag to make. For instance, if you
have gcc 4.2.4 installed as gcc-4.2, you can configure that for use using:
'make stmconfig -e CXX=g++-4.2'
You must clean stmconfig in order to change the compiler settings, simply
making 'config' or 'stmconfig' again will not update the CXX setting.
Then invoke the interactive stmconfig tool (when stmconfig is invoked with
the -D option, defaults will be chosen for you).
'./stmconfig'
On Linux/Solaris/MacOS, the top-level makefile will build an stm library
based on the values in config.h and Makefile.inc, which are produced by
stmconfig. This makefile will also automatically build the microbenchmark
code in /bench. Please note that the makefiles are written for GNU
make. On Solaris machines, use 'gmake'.
To build the mesh, swarm, and hashing applications, you must first
configure and build the stm library using the above instructions. Then
enter the appropriate directory and type 'make'. You may need to run
'make' twice to resolve some dependencies.
BUILDING-LLVM-2.5
In orfer to build with LLVM you should have the llvm and llvm-gcc binaries
in your path. Then, build stmconfig using
'CXX=llvm-g++ make config'
This will build Makefile.inc that sets LLVM as the default compiler, and
prepares your CXXFLAGS appropriately. Do not use the -e option to make as
described in the BUILDING section, as it will not use the correct flags.
The LLVM build generates and links one large bitcode file which it then
aggressively optimizes before generating an executable. It is not yet
possible to JIT the bitcode file due to its use of inline assembly for some
low level routines. We expect to address this in the next release.
RUNNING
Invoking an executable with the -h flag will provide a list of command-line
options. Note that the microbenchmark executable will be named according
to the STM backend against which it is linked.