This is a port of Lehigh's STAMP suite for libitm.
To compile for Excitevm set the -DEXCITE_VM flag in Makefile.common, otherwise STAMP is compiled for the default ITM methods.
Dependencies: set LIBITM_HOME to the libitm path. (Should be sth like: /home/hlitz/tm-persistence/min-gcc/x86_64-unknown-linux-gnu/libitm)
This repository stores a version of STAMP that has been updated to comply with the Draft C++ TM Specification, as implemented in GCC 4.7 and later.
- inputs/ -- This folder stores the inputs for KMeans, Yada, and Labyrinth
- stamp-0.9.10/ -- This folder stores the original STAMP 0.9.10 source code, without any of the public patches
- tests/ -- This folder stores tests done with vacation and bayes. Please ignore it!
- TRANSACT/ -- This folder contains a version of the code roughly equivalent to that presented at TRANSACT 2014. Please use this version until the README indicates otherwise.
-
To build with GCC on Linux, type "make" from the TRANSACT folder. We haven't eliminated all warnings yet... please be patient :)
-
In Bayes, we uses a Taylor series to calculate a TM_SAFE logarithm. This might not be optimal. We also implemented our own TM_SAFE qsort() in shared lib/vector. When testing Bayes, consider using a smaller workload, otherwise it may take too long a time.
-
In Genome, we have our own TM_SAFE strcmp and hash_sdbm. The former is a performance killer, causing "eager_tm" to run extremely slow. Replacing TM_SAFE strcmp with TM_PURE strcmp will restore the performance for eager_tm, but isn't really safe.