Технологии автоматического дедуктивного распараллеливания в языке 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, познакомитесь с ег...
Читать онлайн
В однообразии повторяющихся дней, бесконечных проблемах и рутине человек несправедливо забывает о том, в каком чудесном месте он живет.Иметь возможность наслаждаться красотой Вселенной и, едва померкнет солнце, наблюдать за звездной бесконечностью – бесценный шанс и невероятный дар, который доступен только избранным. И мы – одни из них.Среди неисчислимого множества планет и миров мы были оставлены на единственной, исключительной и уже такой родной – Земле. Но как так получилось? Почему? Зачем? И...
Читать онлайн
Она дочь человека, который посадил моего отца за решетку.Она дочь человека, который отобрал бизнес у моей семьи.Она дочь человека, который виновен в смерти моей матери и сестры.Она дочь человека, который виновен в смерти отца.Она дочь человека, который перевернул все мою жизнь.Она дочь своего отца и она вернёт мне все, что мне принадлежит.* * *Он – моя любовь, моя погибель…Он – мой запретный плод.Публикуется в авторской редакции и с сохранением авторской орфографии....
Читать онлайн
Кошмар родителей наяву. Шестилетняя дочь похищена неизвестными, а отец в поисках ребенка теряет реальность. Где его дочь, а где – лишь отражения в зеркалах? Мистический детектив казанского писателя Арслана Сирази не оставит равнодушными и тех, кто любит сюжетное напряжение, и тех, кто может без страха заглянуть себе в душу....
Читать онлайн
Билл Хорнер никогда не видел снов и не понимал их предназначение. Но однажды он получил возможность увидеть их – он попал в дивный новый мир, где царят ночь, мгла и тайна; где место солнца занимает луна; где все люди однолики… Закрывая глаза, наш герой внимал симфонию дня и ночи....
Читать онлайн