From db1fc0d3d3d02a4db7a57356a71a63bcba4b4724 Mon Sep 17 00:00:00 2001 From: Yiyao Yu Date: Sun, 25 Apr 2021 23:45:49 -0400 Subject: [PATCH] Added README, updated Cargo.toml information --- Cargo.toml | 11 +++++++---- README.md | 36 +++++++++++++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 5 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 1178633..4e02e20 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,15 @@ [package] name = "rustmp" version = "0.1.0" -authors = ["Yiyao Yu "] +authors = ["Alex Bowman ", + "Raffi Sanna ", + "Paul Ouellette ", + "Jack Yu "] edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rand = "*" -hwloc2 = "*" -lazy_static = "*" +rand = "0.8.3" +hwloc2 = "2.2.0" +lazy_static = "1.4.0" diff --git a/README.md b/README.md index e73ca65..f45c840 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,39 @@ RustMP ====== -Placeholder for RustMP README +This repository contains the source code for Alex Bowman, Paul Ouellette, Raffi +Sanna, and Jack Yu's research project for CSC200H: an implicit parallelism +library written in Rust. For more details, please see the project report. + +## Authors +- Alex Bowman (abowman6@u.rochester.edu) +- Paul Ouellette (pouellet@u.rochester.edu) +- Raffi Sanna (rsanna@u.rochester.edu) +- Jack Yu (yyu57@u.rochester.edu) + +## Building/Running + +RustMP requires the following dependencies to run: +- `rand-v0.8.3`: Random number generation used for benchmarking examples +- `hwloc2-v2.2.0`: C HWLoc wrapper used for NUMA aware process pinning +- `lazy_static-v1.4.0`: Lazy static macro used for delayed singleton init + +`src/` contains all code for the RustMP library, including `lib.rs`, +`sysinfo.rs`, and `threadpool.rs`. `src/bin` contains benchmarking programs +demonstrated in our paper. To run one of the benchmarks with cargo, execute the +following command: + +``` +$ cargo run --release --bin +``` + +Additional comparison programs are located in `ext/`, where sequential, OpenMP +and Rayon comparison benchmarks can be found. + +## Known issues + +Due to Rust compiler limitations, Rust is only able to support up to 32 layers +of nested macros by default. If an alternative test program that exceeds this +nested depth for macros is used, please consider increasing this limit in +`Cargo.toml`.