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

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.

主站蜘蛛池模板: 济南市| 宁城县| 津南区| 盐亭县| 韶关市| 获嘉县| 河津市| 曲松县| 修文县| 铜陵市| 湟中县| 荥阳市| 东城区| 马山县| 揭东县| 新乐市| 营口市| 剑河县| 和林格尔县| 红河县| 屯留县| 绍兴市| 从化市| 洛隆县| 漾濞| 颍上县| 龙陵县| 阜康市| 酒泉市| 乐东| 石柱| 营口市| 秦皇岛市| 稷山县| 彩票| 汪清县| 建湖县| 苏尼特左旗| 阿拉善盟| 商南县| 大邑县|