Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8fb24b6

Browse files
Merge branch 'dev'
2 parents ba96c4e + f4f6fd1 commit 8fb24b6

File tree

4 files changed

+95
-4
lines changed

4 files changed

+95
-4
lines changed

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ to enable high performance and high developer productivity at the same time.
3838

3939
![](image/framework.png)
4040

41-
Cpp-Taskflow let users easily monitor the thread activities and analyze their programs' performance through chrome://tracing.
41+
Cpp-Taskflow let users easily monitor the thread activities and analyze their programs' performance through [chrome://tracing][ChromeTracing].
4242

4343
![](image/timeline.png)
4444

@@ -661,7 +661,9 @@ std::ofstream ofs("timestamps.json");
661661
observer->dump(ofs);
662662
```
663663
664-
You can open the chrome browser to visualize the execution timelines through the chrome://tracing developer tool. In the tracing view, click the `Load` button to read the JSON file.
664+
You can open the chrome browser to visualize the execution timelines through the
665+
[chrome://tracing][ChromeTracing] developer tool.
666+
In the tracing view, click the `Load` button to read the JSON file.
665667
You shall see the tracing graph.
666668
667669
![](image/timeline.png)
@@ -1040,7 +1042,7 @@ Cpp-Taskflow is licensed under the [MIT License](./LICENSE).
10401042

10411043
* * *
10421044

1043-
[Tsung-Wei Huang]: https://twhuang.ece.illinois.edu/
1045+
[Tsung-Wei Huang]: https://tsung-wei-huang.github.io/
10441046
[Chun-Xun Lin]: https://github.com/clin99
10451047
[Martin Wong]: https://ece.illinois.edu/directory/profile/mdfwong
10461048
[Andreas Olofsson]: https://github.com/aolofsson
@@ -1069,6 +1071,7 @@ Cpp-Taskflow is licensed under the [MIT License](./LICENSE).
10691071
[C++17]: https://en.wikipedia.org/wiki/C%2B%2B17
10701072
[email me]: mailto:[email protected]
10711073
[Cpp Conference 2018]: https://github.com/CppCon/CppCon2018
1074+
[ChromeTracing]: https://www.chromium.org/developers/how-tos/trace-event-profiling-tool
10721075

10731076
[std::invoke]: https://en.cppreference.com/w/cpp/utility/functional/invoke
10741077
[std::future]: https://en.cppreference.com/w/cpp/thread/future

awesome-parallel-computing.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# Awesome Parallel Computing Resources [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
2+
A curated list of awesome parallel computing resources.
3+
4+
## Contributing
5+
Please feel free to update this page through [submitting pull requests][GitHub pull requests] or
6+
[emailing me][email me].
7+
8+
## Table of Contents
9+
10+
- [Software](#software)
11+
- [Books](#books)
12+
- [Courses](#courses)
13+
- [Datasets](#datasets)
14+
- [Tutorials and Talks](#tutorials-and-talks)
15+
- [Links](#links)
16+
17+
All the lists in this page are either in alphabetical order or chronological order.
18+
19+
## Software
20+
21+
#### Multithreaded Programming
22+
23+
- [Cilk Plus: C/C++ Extension for Data and Task Parallelism](https://www.cilkplus.org/)
24+
- [Cpp-Taskflow: A Modern C++ Parallel Task Programming Library](https://github.com/cpp-taskflow/cpp-taskflow)
25+
- [FastFlow: High-performance Parallel Patterns in C++](https://github.com/fastflow/fastflow)
26+
- [Intel TBB: Threading Building Blocks](https://www.threadingbuildingblocks.org/)
27+
- [OpenMP: Multi-platform Shared-memory Parallel Programming in C/C++ and Fortran](https://www.openmp.org/)
28+
- [STAPL: Standard Template Adaptive Parallel Programming Library in C++](https://parasol.tamu.edu/stapl/)
29+
- [std::thread: The C++ Standard Thread Library](https://en.cppreference.com/w/cpp/thread/thread)
30+
- [Transwarp: A Header-only C++ Library for Task Concurrency](https://github.com/bloomen/transwarp)
31+
- [RaftLib: A C++ Library for Enabling Stream and Dataflow Parallel Computation](https://github.com/RaftLib/RaftLib)
32+
33+
#### Concurrent Data Structures
34+
35+
- [Boost.Lockfree: Thread-safe and Lock-free Containers](https://github.com/boostorg/lockfree)
36+
- [ConcurrentQueue: A Fast Multi-producer Multi-consumer Lock-free Concurrent Queue in C++](https://github.com/cameron314/concurrentqueue)
37+
- [libcds: A C++ library of Concurrent Data Structures](https://github.com/khizmax/libcds)
38+
- [ReaderWriterQueue: A Fast Single-producer Single-consumer Lock-free Queue in C++](https://github.com/cameron314/readerwriterqueue)
39+
40+
#### Coroutine and Fiber
41+
42+
- [Boost.Fiber: A Framework for Userland-threads Programming and Scheduling](https://github.com/boostorg/fiber)
43+
- [cppcoro: A Library for C++ Coroutines Abstractions for the Coroutines TS](https://github.com/lewissbaker/cppcoro)
44+
- [Fiber Tasking Lib: A Library for Enabling Task-based Multi-threading using Fibers](https://github.com/RichieSams/FiberTaskingLib)
45+
46+
47+
## Books
48+
49+
- [C++ Concurrency in Action: Practical Multithreading](https://www.manning.com/books/c-plus-plus-concurrency-in-action) - Anthony Williams 2012
50+
- [The Art of Multiprocessor Programming](https://www.amazon.com/Art-Multiprocessor-Programming-Revised-Reprint/dp/0123973376/ref=sr_1_1?ie=UTF8&qid=1438003865&sr=8-1&keywords=maurice+herlihy) - Maurice Herlihy 2012
51+
52+
53+
## Courses
54+
55+
- [CS6290 High-performance Computer Architecture](https://www.udacity.com/course/high-performance-computer-architecture--ud007) - Milos Prvulovic and Catherine Gamboa (George Tech)
56+
57+
## Tutorials and Talks
58+
59+
- [Expressing Parallelism in C++ with Threading Building Blocks](https://www.youtube.com/watch?v=9Otq_fcUnPE) - Mike Voss at Intel Webinar 2018
60+
- [A Work-stealing Runtime for Rust](https://www.youtube.com/watch?v=4DQakkJ8XLI) - Aaron Todd in Air Mozilla 2017
61+
- [The Speed of Concurrency: Is Lock-free Faster?](https://www.youtube.com/watch?v=9hJkWwHDDxs) - Fedor G Pikus in CppCon 2016
62+
- [Work Stealing](https://www.youtube.com/watch?v=iLHNF7SgVN4) - Pablo Halpern in CppCon 2015
63+
64+
65+
66+
## Datasets
67+
68+
- [HPEC Graph Challenge](https://graphchallenge.mit.edu/)
69+
70+
71+
## Links
72+
73+
#### Blogs
74+
- [1024 Cores](http://www.1024cores.net/) - Dmitry Vyukov
75+
76+
#### Conferences
77+
78+
- [ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming (PPoPP)](https://ppopp19.sigplan.org/home)
79+
- [ACM Symposium on Parallel Algorithms and Architectures (SPAA)](https://spaa.acm.org/)
80+
- [ACM/IEEE International Conference for High-performance Computing, Networking, Storage, and Analysis (SC)](https://sc19.supercomputing.org/)
81+
- [IEEE International Parallel and Distributed Processing Symposium (IPDPS)](http://www.ipdps.org/)
82+
- [International Conference on Parallel Processing (ICPP)](https://www.hpcs.cs.tsukuba.ac.jp/icpp2019/)
83+
84+
85+
* * *
86+
87+
[GitHub pull requests]: https://github.com/cpp-taskflow/cpp-taskflow/pulls
88+
[email me]: mailto:[email protected]

image/timeline.png

-743 Bytes
Loading

taskflow/executor/workstealing.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -711,7 +711,7 @@ void WorkStealingExecutor<Closure>::emplace(ArgsT&&... args){
711711
return;
712712
}
713713
else {
714-
_workers[pt.worker_id].mailbox--;
714+
--_workers[pt.worker_id].mailbox;
715715
}
716716
}
717717
}

0 commit comments

Comments
 (0)