官术网_书友最值得收藏!

Chapter 3. Understanding Parallelism Granularity

One of the most essential tasks when writing parallel code is to divide your program into subsets that will run in parallel and communicate between each other. Sometimes the task naturally divides into separate pieces, but usually it is up to you to choose which parts to make parallel. Should we use a small number of large tasks, many small tasks, or maybe large and small tasks at the same time?

Theoretically speaking, it does not matter. In case of an ideal computational device, it would have no overhead for creating a worker thread and distributing work between any numbers of threads. However, on a real CPU, this performance overhead is significant and it is very important to take this into account. The right way to split your program into parallel parts is the key to writing effective and fast programs. In this chapter, we are going to review this problem in detail.

主站蜘蛛池模板: 崇左市| 尉氏县| 寻乌县| 嘉禾县| 乐昌市| 南靖县| 文登市| 湖南省| 从化市| 司法| 额敏县| 江油市| 汉源县| 北辰区| 裕民县| 从化市| 大悟县| 蒲江县| 西藏| 武功县| 调兵山市| 调兵山市| 贵阳市| 乐安县| 吉木乃县| 麻城市| 客服| 南昌市| 康马县| 甘南县| 深圳市| 德庆县| 资源县| 阜康市| 辽源市| 白城市| 彭泽县| 东阿县| 甘泉县| 阿荣旗| 新民市|