Труды КНЦ вып. 11 (ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ) вып. 8/2020 (11)

передачи сообщений), OpenCL и др. Это позволяет создать максимально переносимое вычислительное приложение для работы на узлах ГСПК в рамках проекта добровольных распределенных вычислений (ДРВ) на платформе BOINC[5], удовлетворяющее всем необходимым требованиям: • Максимальная переносимость приложения для обеспечения его работы под управлением всех популярных на ПК операционных систем (ОС); • Гибкая настройка приложения для максимально эффективного использования всех доступных ресурсов вычислительного узла; • Оптимизация приложения, структур данных и используемых алгоритмов в целях повышения производительности для всех поддерживаемых архитектур и максимального использования предоставляемых ими возможностей; • Минимизация зависимостей вычислительного приложения от установленного на вычислительном узле дополнительного ПО; • Возможность адаптации приложения для использования его на других архитектурах. В качестве вычислительной задачи, для демонстрации возможностей сопроцессоров Intel Xeon Phi, была реализована одна из задач поиска ортогональных диагональных латинских квадратов (ОДЛК). Был использован оптимизированный комбинаторный алгоритм нахождения канонических форм (КФ) всех марьяжных диагональных латинских квадратов (ДЛК) 10 порядка, изоморфных заданным латинским квадратам (ЛК) [6]. Латинские квадраты и различные их свойства могут быть применены в различных областях: криптография, коды коррекции ошибок, задачи планирования и т.д. ♦ Intel Xeon E5-1650@3800MHz Core2 Quad Q9650@3600MHz Й Intel Xeon E5-2683 v4 1 8,3 6,8 8,5 NV' * < o' КОЛ-ВО ПОТОКОВ Рис.1. Результаты оптимизации многопоточного приложения для различных процессоров После исследования различных вариантов, было принято решение реализовать вычислительное приложение в виде единого исполняемого файла, включающего в себя различные варианты оптимизации под различные архитектуры, в том числе оптимизированные блоки, предназначенные для выгрузки на ускорители с 108

RkJQdWJsaXNoZXIy MTUzNzYz