64. Task Parallelism 실제적인 task의 실행은 task_group에서 한다. unstructured_task_group(task_group) 와 structured_task_group로나누어진다. task_group : 스레드 세이프structured_task_group : 스레드 세이프 하지 않음.
65. Main Thread Main Thread task_group1.run( task1) structured_task_group1.run( task1) Thread A task_group1.run( task2) Thread B task_group1.run( task3) Thread A structured_task_group1.run( task2)
66. 초 간단!!! task 사용 방법 ppl.h파일을 포함합니다.#include <ppl.h> Concurrency Runtime의 네임 스페이를 선언합니다.using namespace Concurrency; 태스크 그룹을 정의합니다.structured_task_groupstructured_tasks; 태스크를 정의합니다.auto structured_task1 = make_task([&] { Plus(arraynum1, true); } ); 태스크를 태스크 그룹에 추가한 후 실행합니다. structured_tasks.run( structured_task1 ); 태스크 그룹에 있는 태스크가 완료될 때까지 기다립니다.structured_tasks.wait();
70. Parallel Algorithms 데이터컬렉션을 대상으로 쉽게 병렬 작업을 할 수 있게 해주는 알고리즘들. STL에서 제공하는 알고리즘과 비슷한 모양과 사용법. paeallel_for, parallel_for_each, parallel_invoke가 구현되어 있음.parallel_accumulate, parallel_partial_sum는 다음 버전?
71. parallel_for for 문을 병렬화. for 문과 사용 방법이 흡사하여 쉽게 변환. step 값을 지정하는 버전과 지정하지 않는 버전 두 개가 있음(지정하지 않으면 1). index 조사는 ‘<‘만 지원.
72. 초 간단!!! parallel_for사용 법 ppl.h파일을 포함합니다.#include <ppl.h> Concurrency Runtime의 네임 스페이를 선언합니다.using namespace Concurrency; parallel_for에서 호출할 함수 정의 parallel_for에서 사용할 data set 정의. parallel_for사용.
74. 초 간단!!! parallel_for_each사용 법 ppl.h파일을 포함합니다.#include <ppl.h> Concurrency Runtime의 네임 스페이를 선언합니다.using namespace Concurrency; parallel_for_each에서 호출할 함수 정의 parallel_for_each에서 사용할 data set 정의. parallel_for_each사용.
75.
76.
77. parallel_invoke 병렬로 일련의 태스크 실행. 동시 실행할 복수의 독립된 태스크를 실행할 때 좋음. task_group과 비슷하나 사용방법은 더 쉬움그러나 최대 10개의 태스크만 병렬 작업이 가능하다.
78. 초 간단!!! parallel_invoke사용 법 ppl.h파일을 포함합니다.#include <ppl.h> Concurrency Runtime의 네임 스페이를 선언합니다.using namespace Concurrency; 태스크 정의 parallel_invoke사용.
79.
80. parallel objects - combinable 스레드세이프한 오브젝트. 계산 실행 후 최종 결과에 그 계산 결과를 통합하는 재 사용 가능한 로컬 스트리지 제공. 복수의 스레드 또는 태스크 간에 공유 리소스가 있는 경우 편리. lock-free thread-local sub-computations during parallel algorithms combinable 클래스에 사용할 데이터는 기본 생성자와 복사 생성자를 가지고 있어야 한다. Win32 API의 thread local storage와 비슷. combine, combinable_each제공
81.
82.
83. concurrent containers 병렬 환경에서 스레드 세이프하게 데이터를 저장. concurrent_queue, concurrent_vector,. concurrent_hash_map은다음 버전?
103. AMD가 차기 아키텍쳐 「Bulldozer」와「Bobcat」의 개요를 공표 원문 : http://pc.watch.impress.co.jp/docs/column/kaigai/20091112_328392.html 번역 : http://jacking.tistory.com/487 http://jacking.tistory.com/488 http://jacking.tistory.com/489 2011년에 등장하는 AMD의 8코어 데스크탑 CPU 「Zambezi」 원문 http://pc.watch.impress.co.jp/docs/column/kaigai/20091126_331235.html 번역 http://jacking.tistory.com/514 http://jacking.tistory.com/515 http://jacking.tistory.com/516 Core i5/i7 원문 http://www.atmarkit.co.jp/fwin2k/words/011corei5/corei5.html 번역 http://jacking.tistory.com/510 http://jacking.tistory.com/511
104. 계획이 바뀐 Larrabee무엇이 문제였는가? http://jacking.tistory.com/517 http://jacking.tistory.com/518 마이크로소프트 Windows 7에서도 병렬처리 향상을 목표로 http://jacking.tistory.com/355 [PDC09] Developing Applications for Scale-Up Servers Running Windows Server 2008 R2 http://microsoftpdc.com/Sessions/SVR18 [PDC09] Lighting up Windows Server 2008 R2 Using the ConcRT on UMS http://microsoftpdc.com/Sessions/SVR10 양보할 줄 아는 Concurrency Runtime의 event http://vsts2010.tistory.com/109 Cross Process Resource Management - do we need it now? http://blogs.msdn.com/nativeconcurrency/archive/2010/04/07/cross-process-resource-management-do-we-need-it-now.aspx