Transactional memory (mostly Intel® TSX) experiments
Based on Performance Evaluation of Intel® TSX for HPC.
Image histogram construction workload. Concurrent threads directly update the shared histogram. Such task comprises the core compute of many HPC workloads.
Building:
make -C histogram
Usage:
./bin/hist ./content/bmp_24.bmp
Examples stolen from sw1nn blog: Clojure STM - What? Why? How?
A few examples of Clojure STM, the single language which supports TM in the core.
Usage:
clojure clojure-example/transfer.clj
Example taken from Simon Peyton Jones article in School of Haskell: Software Transactional Memory
The same example as in Clojure, transfering some amount of money from one account to another.
Building:
ghc haskell-example/transfer.hs
Usage:
haskell-example/transfer