Технологии автоматического дедуктивного распараллеливания в языке Planning C

Технологии автоматического дедуктивного распараллеливания в языке Planning C

Работа посвящена решению проблемы автоматического распараллеливания C-программ с применением средств построения языковых расширений языка Planning C 2.0. Предложены механизмы реализации расширений, доказана теорема об их реализуемости. Предложена новая технология распараллеливания тел циклов, состоящих из двух зависимых по данным частей. Предложена технология оптимизирующей векторизации многократно выполняемых циклов с расходящимися трассами итераций на векторных расширителях.

Жанры: Книги о компьютерах, Математика, Прочая образовательная литература
Цикл: Не является частью цикла
Год публикации: Неизвестен

Читать онлайн Технологии автоматического дедуктивного распараллеливания в языке Planning C


© Владимир Викторович Пекунов, 2022


ISBN 978-5-0056-3553-2

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

Введение

В настоящее время активно развиваются технологии, связанные с решением ряда интеллектуальных задач, подразумевающих обработку больших массивов структурированных или слабо структурированных данных с применением более или менее трудоемких логических [12], символьных [11] или численных алгоритмов (см., например, [2, 14, 21]. Это, в первую очередь, технологии интеллектуальной обработки данных, к которым относятся разнообразные алгоритмы поиска логических и/или математических формальных закономерностей в данных (Big Data/Data Mining [7, 22]): деревья решения, машины поддерживающих векторов [22], нейронные сети [22, 24], МГУА [7] и иные интерполяторы и экстраполяторы [11]. Во вторую очередь, назовем элементы технологий поддержки диалога с пользователем на естественном языке (см., например, [22]). Далее назовем ряд технологий математического моделирования различных процессов, например, в сплошных средах: моделирования образования и распространения загрязнений [10, 13, 14, 35], прогнозирования погоды [41], прогнозирования изменений климата [6, 41], моделирования обтекания различных технических объектов [28], прочностные и иные трудоемкие расчеты, связанные с моделированием (см., например, [5]).

Решение (даже частичное) подавляющего большинства перечисленных выше проблем подразумевает выполнение огромных объемов расчетов. Неудивительно, что для осуществления подобных расчетов наиболее часто применяются параллельные или распределенные системы [4, 27], способные их выполнить за разумное время. Программирование таких систем, особенно в случае нетривиальных алгоритмов, является достаточно сложной задачей, к решению которой часто привлекаются специалисты в области параллельных/распределенных вычислений. Однако и в этом случае разработка и реализация параллельных алгоритмов занимает достаточно большое количество времени и требует тщательной отладки.

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

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

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

Итак, данная работа будет посвящена автоматическому распараллеливанию C-программ (дающих высокую эффективность исполнения кода, поскольку язык С – один из наиболее близких к машинному, уступающий, возможно, лишь языкам класса Форт), однако изложенные в ней технологии пригодны для распараллеливания программ, написанных и на иных алгоритмических языках.


Вам будет интересно
Этичный хакер (пентестер) – это специалист в сфере кибербезопасности, который профессионально занимается выискиванием «дыр» в коде и помогает устранить утечки данных. Название специальности происходит от англоязычного термина pentest (penetration test), то есть «тест на проникновение». Имеется в виду проникновение в систему через скрытые уязвимости....
Читать онлайн
Книга является продолжением пособия для фрилансеров «Покори фриланс. Пошаговое руководство к действию». Здесь вы найдете информацию и задания, которых достаточно, чтобы начать движение к построению личного бренда.Книга подойдет фрилансерам, предпринимателям, интернет-специалистам.Она для тех, кто: хочет понять свои цели и оценить возможности, получить четкий план действий, стать узнаваемым специалистом, получить очередь из «своих» клиентов, значительно вырасти в доходах....
Читать онлайн
Данная монография представляет читателю концептуальную модель высокотехнологичной компании (ВТК) и практические пути достижения мирового уровня конкурентоспособности в IT-отрасли в условиях глобальной экономики. В работе представлен обобщенный опыт российских, европейских, американских отраслевых экспертов и исследователей последнего десятилетия в создании мировых лидеров в IT-отрасли....
Читать онлайн
Мультимедийные лонгриды и спецпроекты перестали быть чем-то удивительным и экспериментальным. Журналисты регулярно поднимают крупные и сложные темы, которые невозможно представить в виде привычных сообщений в ленте новостей. На помощь авторам приходят форматы, позволяющие глубоко погружать пользователей в историю. Этот выпуск журнала для практиков мультимедиа посвящён «кухне» работы над спецпроектами. Материалы разбиты на 4 уровня: для начинающих, интересующихся, практикующих и опытных авторов....
Читать онлайн
Учебник знакомит с основными понятиями системного мышления, которые приняты в международных стандартах менеджмента и инженерии. С их помощью человек любой специализации или команда сможет составить системное описание своей деятельности, продукта или сервиса, а также системы клиента. Учебник помогает сделать первый шаг в системное мышление, которое связывает между собой предпринимательскую, инженерную и менеджерскую области интересов....
Читать онлайн
Ты никогда не пересечешь океан, если боишься потерять из виду берег.Это инструмент и как им пользоваться решать только вам....
Читать онлайн
Добро пожаловать в удивительную вселенную кибербезопасности, где вас ждут ответы на самые актуальные на сегодняшний день вопросы: Что конкретно мне необходимо сделать, чтобы защитить свои данные? Почему только одного антивируса недостаточно? Чем я рискую, подключаясь к бесплатному Wi-Fi? Насколько защищены мои данные в облачных хранилищах? И многое другое. Книга написана в виде небольших уроков с конкретными действиями, которые описаны простым, нетехническим языком, понятным каждому....
Читать онлайн
Эта книга предназначена для всех, кто хочет изучить основы программирования с использованием языка Java.Эта книга даст понимание основных элементов программирования на Java и абстракции данных с использованием объектно-ориентированного подхода. С этой книгой Вы научитесь писать программы с использованием переменных, массивов, управляющих операторов, циклов, рекурсии, абстракции данных и объектов в интегрированной среде разработки. Вы изучите основы языка программирования Java, познакомитесь с ег...
Читать онлайн
В однообразии повторяющихся дней, бесконечных проблемах и рутине человек несправедливо забывает о том, в каком чудесном месте он живет.Иметь возможность наслаждаться красотой Вселенной и, едва померкнет солнце, наблюдать за звездной бесконечностью – бесценный шанс и невероятный дар, который доступен только избранным. И мы – одни из них.Среди неисчислимого множества планет и миров мы были оставлены на единственной, исключительной и уже такой родной – Земле. Но как так получилось? Почему? Зачем? И...
Читать онлайн
Она дочь человека, который посадил моего отца за решетку.Она дочь человека, который отобрал бизнес у моей семьи.Она дочь человека, который виновен в смерти моей матери и сестры.Она дочь человека, который виновен в смерти отца.Она дочь человека, который перевернул все мою жизнь.Она дочь своего отца и она вернёт мне все, что мне принадлежит.* * *Он – моя любовь, моя погибель…Он – мой запретный плод.Публикуется в авторской редакции и с сохранением авторской орфографии....
Читать онлайн
Это эссе инсайдера о том, каким видится мир из Кремля. Нам все заведомо по плечу. Мы уверены, что любая цель достижима силами старой команды, все той же с 2000 года. Из года в год за нее голосует большинство. Вслед губительной катастрофе всегда подоспевает спасительная. Крах 1991 года породил немыслимую Россию, бум мировых «пузырей» питает ее магическую экономику. Даже цунами на нашей стороне. Гениальность власти – самооценка, которую некому поколебать в ее замкнутом мире. Микшируя собственность...
Читать онлайн
Модернизация сегодня уже не просто научная дискуссия, этот процесс стал центром российской политики. В книге Иосифа Дискина представлено новое видение российского модернизационного проекта. По мнению автора, этот проект должен быть органично вписан в процесс посткризисной борьбы глобальных игроков. В книге проанализирована новая расстановка социальных сил – сторонников и противников модернизации, оценивается ее социальный потенциал. В завершение автор предлагает конкретные меры, призванные продв...
Читать онлайн