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

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

Страниц

30

Год

High Performance Computing (HPC), also known as high-speed computation, is a critical component in solving engineering, economic, and scientific problems. It involves utilizing the immense computational power of multi-core processors and graphic accelerators to tackle complex tasks efficiently. In this study, we will delve into the cutting-edge technology of automatic organization of parallel threads specifically designed for multi-core computing machines. By leveraging this revolutionary approach, we can achieve unprecedented levels of speed, accuracy, and efficiency in executing various computational models and simulations.

Furthermore, it is important to note that HPC is not limited to a single industry or field of study. Its applications are vast and diverse, ranging from weather forecasting and climate modeling to drug discovery and financial analysis. Regardless of the specific objectives, HPC enables professionals to process massive amounts of data in a timely manner, making informed decisions and uncovering valuable insights.

One of the key drivers behind the adoption of parallel programming techniques is the increasing prevalence of multi-core processors in modern computing devices. These processors consist of multiple cores that can execute tasks simultaneously, effectively dividing the workload and accelerating the overall computation process. Moreover, the inclusion of graphic accelerators, such as GPUs, further boosts the performance by offloading computational tasks from the CPU to specialized hardware designed for parallel processing.

To fully leverage the power of HPC, developers must possess a deep understanding of parallel programming paradigms and techniques. This involves structuring and orchestrating the execution of parallel threads, ensuring efficient data synchronization and communication among them. Additionally, optimizing the performance of parallel programs requires careful consideration of factors like load balancing, task granularity, and memory management.

In conclusion, High Performance Computing is a transformative technology that empowers researchers, engineers, and economists to solve complex problems with unprecedented speed and accuracy. By harnessing the computational capabilities of multi-core processors and graphic accelerators through parallel programming, we can unlock new possibilities in various scientific and industrial domains. The advancement of HPC continues to push the boundaries of what is achievable, driving innovation and paving the way for groundbreaking discoveries.

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

© Валентин Юльевич Арьков, 2020


ISBN 978-5-4498-5445-2 (т. 2)

ISBN 978-5-4498-5446-9

Создано в интеллектуальной издательской системе Ridero

Введение

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

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

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

Мы рассмотрим задачу численной оценки значения определённого интеграла – по двум причинам. Во-первых, многие практические задачи сводятся к нахождению суммы или интеграла. Во-вторых, численные методы интегрирования хорошо поддаются распараллеливанию. Каждое отдельное значение подынтегрального выражения можно вычислять независимо от всех остальных значений. Поэтому численное интегрирование – подходящая задача для знакомства с высокопроизводительными вычислениями.

1. Общие сведения

1.1. Информация и литература

Параллельное программирование освещается в большом количестве учебников и пособий [1—9].

При изучении параллельного программирования полезно обращаться к библиотеке учебных материалов Лаборатории параллельных информационных технологий НИВЦ МГУ. Доступ к библиотеке осуществляется по адресу:

http://parallel.ru/info/parallel/

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


В данной работе мы будем опираться на некоторые примеры из учебного пособия А. С. Антонова [8]. Для первого знакомства с технологиями мы разбираем каждый пример достаточно подробно. Попутно мы обсуждаем самые общие вопросы.

Всё это нужно, чтобы студент не просто освоил стандартные, шаблонные действия с конкретным программным продуктом. В любом деле нужны специалисты с кругозором и эрудицией, с пониманием и способностью самостоятельно развиваться. А это требует чего-то большего, чем только узкопрофессиональные знания и конкретные умения.

На сегодняшний день в интернете имеется множество онлайн курсов.

Первый пример – Национальный Открытый Университет ИНТУИТ:

https://www.intuit.ru.

Основной ресурс с отечественными массовыми открытыми онлайн-курсами (МООК) – «Открытое образование»:

https://openedu.ru/.

Международная платформа МООК «Курсера»:

https://www.coursera.org/.

Задание. Найдите на перечисленных сайтах курсы по следующим ключевым словам и перечислите их в отчёте:

– параллельные;

– parallel;

– высокопроизводительные;

Вам может понравиться: