Crates.io | intel-tsx-rtm |
lib.rs | intel-tsx-rtm |
version | 0.1.0 |
source | src |
created_at | 2018-01-29 08:54:42.927996 |
updated_at | 2018-02-08 20:01:27.185977 |
description | Provides intrinsics for Rust to use Intel's TSX RTM, a hardware transactional memory extension for some Skylake CPUs. |
homepage | https://github.com/lemonrock/intel-tsx-rtm |
repository | https://github.com/lemonrock/intel-tsx-rtm.git |
max_upload_size | |
id | 48759 |
size | 36,710 |
This crates provides a simple set of wrappers around Intel's TSX RTM instructions and associated intrinsics. It needs a C compiler to create a small shim. This is important because Rust's compiler does not like code with multiple returns. It does not depend on your compiler having the necessary headers (<immintrin.h>
), and so can work with older compilers and other Operating Systems.
It uses third-party self-modifying code (Andi Kleen's tsx-tools
) to provide runtime detection of CPUs without TSX and fallback to non-hardware paths.
The license for this project is MIT.