Merge branch 'main' into multithreading
This commit is contained in:
commit
9bb2fcea52
|
@ -1,3 +1,12 @@
|
|||
# Programmentwurf
|
||||
|
||||
Die Beschreibung der Aufgabenstellung ist unter [Programmentwurf.md](https://github.com/programmieren-mit-rust/programmentwurf/blob/main/Programmentwurf.md) zu finden. Diese `Readme.md` ist durch etwas Sinnvolles zu ersetzen.
|
||||
|
||||
# WICHTIG!
|
||||
Kleiner reminder, wenn ihr Sachen pushed in das repo, die eurer Anischt nach fertig sind (z.B für einen Pull-Request!), bitte mit den folgenden Commands auf Fehler/Warnings überprüfen:
|
||||
- `cargo fmt` für formattierung
|
||||
- `cargo clippy` für warnings
|
||||
- `cargo test doc` für documentation tests
|
||||
optional:
|
||||
- `cargo test` für module tests
|
||||
- `cargo bench` für benchmarks
|
||||
|
|
|
@ -37,6 +37,7 @@ fn dot(a: &[f64], b: &[f64]) -> f64 {
|
|||
/// sized slices which then get passed ot their own thread to compute the partial dot product. After all threads have
|
||||
/// finished the partial dot products will be summed to create the final result.
|
||||
fn dot_parallel(a: Arc<Vec<f64>>, b: Arc<Vec<f64>>, threads: usize) {
|
||||
|
||||
let mut pool = ThreadPool::with_limit(threads);
|
||||
|
||||
// number of elements in each vector for each thread
|
||||
|
@ -55,7 +56,7 @@ fn dot_parallel(a: Arc<Vec<f64>>, b: Arc<Vec<f64>>, threads: usize) {
|
|||
dot(a, b)
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
pool.join_all();
|
||||
|
||||
black_box(pool.get_results().iter().sum::<f64>());
|
||||
|
|
Loading…
Reference in New Issue