Подходы и методы решения задач
Группа «Конструктивная Кибернетика», при выполнении высокотехнологичных инжиниринговых проектов, комплексно решает стоящие и возникающие по ходу проекта задачи, применяя следующие подходы и методы:
Функциональные методы.
Используются хорошо зарекомендовавшие себя методы из предметной области решаемой задачи, в случае отсутствия таковых – они создаются, или импортируются, с адаптацией, из близких областей.Системно-кибернетический подход.
Комплексный подход формирует алгоритм решения задачи и увязывает весь массив исходных данных, целей, ограничений и результатов в единое целое.Математико-логический инструментарий.
Математическое моделирование и статистическая обработка результатов экспериментов – является необходимым условием получения количественных, адекватных и обоснованных выводов.
Математическое моделирование, Комплексный анализ данных, Высокопроизводительные вычисления
При разработке математических моделей, проведении комплексного анализа данных и высокопроизводительных вычислений, группа «Конструктивная Кибернетика» активно применяет сбалансированный стек технологий и средств создания высокоэффективных приложений. Основные положения технической политики в этой области приведены ниже.
Основной платформой для построения математических моделей и проведения численных расчётов является программа Wolfram Mathematica версии 10.4.1.
Для решения задач Data Mining и Машинного Обучения используется язык Python версии 3.5. Базовая функциональность языка расширяется посредством библиотек:
Для сложных статистических расчётов применяется язык R версии 3.3.1. Разработка и отладка кода ведётся в программе RStudio. Для решения задач формата Big Data применяются специализированные решения.
В особо ресурсоёмких случаях вычислительные приложения разрабатываются на языке C/C++. В случае необходимости код портируется из системы Wolfram Mathematica, скриптов Python или R. При разработке программ на языке C/C++ применяются следующие технологии, средства разработки приложений и библиотеки:
Компилятор Intel, версия 14.0.
Технология OpenMP.
Технология GPGPU CUDA.
Библиотека Intel MKL (Math Kernel Library).
Библиотека Intel IPP (Integrated Performance Primitives).
Основной аппаратной платформой, под которую оптимизируются расчётные приложения, являются решения компании Intel: Intel Core и Intel Xeon. В качестве операционных систем применяются: Microsoft Windows 7 Professional (Service Pack 1) 64 bit и Red Hat Enterprise Linux Desktop Workstation 64 bit.
Все разрабатываемые моделирующие комплексы, по умолчанию, используют мультиядерный многопоточный параллелизм и предназначены для запуска на вычислительных системах с общей памятью. В особо ресурсоёмких случаях, дополнительно к многопоточному, применяется параметрический параллелизм – с запуском независимых копий приложения на вычислительном кластере, или распределённой GRID-системе. Если архитектура модели требует обмена данными между отдельными процессами запущенными на различных узлах кластера (вычисления с распределённой памятью) – применяется технология MPI.