Upload
codenavy
View
3.482
Download
0
Embed Size (px)
Citation preview
2.
..
3.
2005
2006
[HamStone],
2009B , Dragonica
2011
4.
???
OpenMP
PPL
TBB
5. ?
6.
,
- By
!
7. API,
.
1. ()
2.
3.Lock ()
Crash
< !>
OR
8. !
!
( / / / DB )
Lock !
9. !!
OpenMP
PPL
TBB
10. OpenMP(Open Multi-Processing)
11. OpenMP?
OpenMulti-Processing
< C / C++ / Fortran >
OS< Windows / Linux / Unix >
,
VS 2008 / 2010 , ( OK) VS 2003 / 2005 Inter Compiler
http://OpenMP.org
OpenMP !
12. !
(?)
#pragma OK
()
!
Hello World
forHello World
3 OK!
13.
< ! >
?????
OK!
14. ?
15. PPL(Parallel Patterns Library)
16. PPL?
Parallel Patterns Library
Visual Studio .NET 2010
!
/ / !
Auto /
17.
(OpenMP )
STL
( )/
OverView
parallel_for
parallel_for_each
parallel_invoke
Queue/Vector
18.
parallel_for :
for
parallel_for_each :
STL for_each
parallel_invoke :
( )
19. !
< parallel_for >
Concurrency
20. !
< parallel_invoke >
2~10
Main()
21.
!!
MS Ctrl+C
22. OpenMP PPL
concurrent_vector :
std::vector
insert / erase / pop_back
bool
qoncurrent_queue :
std::deque
iterator Thread-Not Safe!
back
size unsafe_size
concurrent_hash_map :
std::hash_map
STL ..
23. OpenMP PPL
invoke .
Thread-Safe / Unsafe 2
(, Thread-Unsafe )
,
10
24. OpenMP PPL
!
&
Main() !
25. TBB(Threading Building Block)
26. TBB?
Thread Building Block
Open Source!! (GPL)
!
Thread-SafeHash_Map
OS
(Windows/ Solalis / MacOS / Linux)
()
STLiterator /
27. OverView
ppl /
TBB Thread-Safe Container
Push & Pop
( )
Iterator
( )