Организация параллельных потоков. Часть 2. Учебное пособие. Валентин Юльевич Арьков

Читать онлайн.



Скачать книгу

3.13. Последовательная программа

      Задание. Создайте и запустите программу (рис. 3.12).

      Настроим поддержку OpenMP для текущего проекта.

      Эту настройку придётся делать для каждого нашего проекта.

      Запускаем программу и получаем восемь одинаковых сообщений (рис. 3.14).

      Рис. 3.14. Параллельное выполнение программы

      Задание. Настройте проект и запустите параллельную программу.

      Почему именно восемь?

      Запустим Диспетчер задач – Task Manager (рис. 3.15). Для этого одновременно нажимаем три «волшебных» клавиши:

      Ctrl + Alt + Del.

      Кстати, как правильно произносится английское слово CONTROL? Большинство опрошенных студентов говорят с ударением на первом слоге. Потому что в английском обычно «ударяют» на первый слог. Но это правило работает не всегда. Особенно для тех слов, которые пришли из французского.

      Задание. Выясните, как правильно произносится слово CONTROL.

      Итак, мы запустили Диспетчер задач:

      Task Manager.

      Переходим на вкладку Быстродействие:

      Performance.

      Перед нами появляется некоторое количество окошек с графиками – по числу логических процессоров.

      Если у нас всего один график, щёлкаем по нему правой кнопкой и выбираем в контекстном меню:

      Change graph to – Logical processors.

      Здесь нам намекают именно на «логические процессоры», а не на физические процессоры и не на ядра процессора. Для операционной системы и для параллельной программы эти различия и тонкости не слишком важны. В частности, на нашем компьютере один процессор, в котором имеются четыре ядра с «гипертредингом». HyperThreading – это технология компании Intel для выполнения двух потоков на одном физическом ядре. Итого имеем восемь виртуальных, логических процессоров.

      Рис. 3.15. Диспетчер задач

      Задание. Выясните количество виртуальных процессоров на своём компьютере.

      3.4. Параллельные и последовательные области

      Как мы уже говорили, здесь используется модель «fork-join».

      Составим программу, в которой организуем три области:

      1) первая последовательная область печатает единичку;

      2) параллельная область печатает двоечку – несколько раз, по количестве виртуальных процессоров;

      3) вторая последовательная область печатает троечку.

      Конец ознакомительного фрагмента.

      Текст предоставлен ООО «ЛитРес».

      Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

      Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

/9j/4AAQSkZJRgABAQAAAQABAAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MA