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

Здесь есть возможность читать онлайн «Валентин Арьков - Организация параллельных потоков. Часть 2» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2020, Жанр: Прочая околокомпьтерная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Организация параллельных потоков. Часть 2: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Организация параллельных потоков. Часть 2»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

При решении инженерных, экономических и научных задач используются высокопроизводительные вычисления — High Performance Computing или сокращённо HPC.
Параллельные программы нужны для того, чтобы использовать вычислительные мощности многоядерных процессоров и графических ускорителей. В данной работе мы рассмотрим технологию автоматической организации параллельных потоков для многоядерных вычислительных машин.

Организация параллельных потоков. Часть 2 — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Организация параллельных потоков. Часть 2», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Вначале мы выводим на экран количество аргументов (строка 5). Это значение переменной argc.

Затем мы организуем цикл от 0 до (argc — 1)и выводим номер и значение аргументов. Для вывода строки символов на экран мы используем формат %s — от слова string — «строка».

Рис. 5.3. Чтение и вывод параметров

Запускаем программу из среды разработки

Ctrl + F5.

Рассматриваем результаты (рис. 5.4).

У нас один параметр командной строки.

Получается, что исполняемый файл был запущен на выполнение с указанием полного пути, включая имя диска и все каталоги.

Рис. 5.4. Запуск из среды разработки

Задание.Составьте программу (рис. 5.3) и запустите её из среды разработки.

Среда разработки позволяет нам проводить отладку программы (debugging) с передачей параметров командной строки.

Открываем свойства проекта:

Project — Properties.

В окне параметров проекта переходим к следующему пункту:

Configuration Properties — Debugging — Command Arguments — Edit(рис. 5.5).

Рис. 5.5. Аргументы командной строки

Далее в окне Command Argumentsвводим параметры, разделяя их пробелом (рис. 5.6).

Нажимаем OK.

Рис. 5.6. Ввод аргументов

Снова запускаем программу из среды разработки.

Теперь на экран выводятся все наши параметры (рис. 5.7).

Убеждаемся, что программа распознала параметры и вывела их на экран.

Удаляем наши параметры в свойствах проекта.

Рис. 5.7. Вывод параметров

Задание.Задайте несколько параметров командной строки для отладки и запустите программу из среды разработки.

Мы убедились, что программа работает.

Запустим её в командном окне.

Указываем несколько параметров через пробел и рассматриваем результаты (рис. 5.8).

Среди прочего, мы видим, было ли указано расширение имени фала при запуске программы.

Рис. 5.8. Вывод аргументов

Задание.Запустите программу в командном окне с несколькими аргументами и рассмотрите результаты.

5.3. Использование параметров

Мы научились читать параметры (аргументы) командной строки. Теперь разберёмся с тем, как делать «разбор» (parsing) этих строк. Нам нужно взять строку и «вытащить» из неё число.

Будем использовать функцию преобразования строки символов в целое число:

int atoi (const char *str).

Название функции atoiможно расшифровать так:

Convert «a» (string of symbols) to integer.

Текст программы приводится на рис. 5.9.

Мы возьмём первый параметр и преобразуем его в целое число (строка 4).

Затем выведем исходную строку символов (строка 5) и полученное число (строка 6).

В нашей программе мы не проверяем количество аргументов. Конечно же, в более серьёзных приложениях такая проверка нужна обязательно.

Рис. 5.9. Преобразование строки в целое число

Запускаем программу и проверяем разные входные значения (рис. 5.10).

Напомним, что целое число типа intхранится в виде 4 байтов. Соответственно можно оценить диапазон значений для целого числа со знаком. Максимальное значение — это 2 в 31-й степени, то есть чуть больше двух миллиардов.

При выходе за пределы возможных значений мы получаем минимальное и максимальное число соответственно:

— 2 31 … 2 31—1.

Рис. 5.10. Результаты преобразования

Задание.Проверьте, как преобразуются вводимые числа. Проверьте, что происходит при выходе за границы допустимых значений. Вычислите минимальное и максимальное значения с помощью КалькулятораCalculator, переключив его в режим научных вычислений.

В наших опытах нам потребуется значение больше, чем два миллиарда. Для этого придётся использовать другой целый тип — long long(8 байт).

Немного изменим нашу программу (рис. 5.11).

Для преобразования строки символов в длинное целое тоже нужна другая функция с похожим названием:

long long atoll (const char *str).

Расшифровка названия:

Convert «a» (string of symbols) to long long integer.

Вывод на экран длинного целого тоже требует своего, особого формата:

%lld.

Рис. 5.11. Преобразование строки в длинное целое

Запускаем нашу новую программу с разными входными значениями (рис. 5.12).

Здесь мы тоже можем найти пределы, выше которых подняться не удаётся.

Результаты нас устраивают. Нам пока что такое большое число не грозит.

Рис. 5.12. Результаты преобразования

Задание. Составьте программу (рис. 5.11) и проверьте правильность её работы.

5.4. Управление циклом

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Организация параллельных потоков. Часть 2»

Представляем Вашему вниманию похожие книги на «Организация параллельных потоков. Часть 2» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Организация параллельных потоков. Часть 2»

Обсуждение, отзывы о книге «Организация параллельных потоков. Часть 2» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x