Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

Многокомпонентное потоковое видео
Компьютерная криохирургия
Моделирование микрофлюидного устройства для разделения смесей белков.
Процедура нанесения покрытия методом физического осаждения из паровой фазы (PVD)
Нейрохирургия под визуальным контролем, моделирование деформации мозга
Аэродинамика локомотива в тоннеле

Advanced Simulation Library ( ASL ) - это бесплатная мультифизическая платформа с аппаратным ускорением с открытым исходным кодом . Он позволяет пользователям писать настраиваемые числовые решатели на C ++ и развертывать их в различных архитектурах с массовым параллелизмом , начиная от недорогих FPGA, DSP и GPU [1] до гетерогенных кластеров и суперкомпьютеров. Его внутренний вычислительный механизм написан на OpenCL и использует безматричные методы решения. ASL реализует множество современных численных методов, в том числе метод уровней , решетку Больцмана , погруженную границу . Без сеткиПодход с погруженными границами позволяет пользователям переходить от САПР непосредственно к моделированию, сокращая затраты на предварительную обработку и количество потенциальных ошибок. ASL можно использовать для моделирования различных связанных физических и химических явлений, особенно в области вычислительной гидродинамики . Он распространяется под бесплатной Стандартной общественной лицензией GNU Affero с дополнительной коммерческой лицензией (которая основана на разрешающей лицензии MIT ).

История [ править ]

Advanced Simulation Library разрабатывается израильской компанией Avtech Scientific. Его исходный код был представлен сообществу 14 мая 2015 года, члены которого вскоре после этого разместили его для научных разделов всех основных дистрибутивов Linux . [2] [3] [4] [5] [6] [7] Впоследствии Khronos Group признала важность ASL и перечислила его на своем веб-сайте среди ресурсов на основе OpenCL. [8]

Области применения [ править ]

  • Вычислительная гидродинамика
  • Компьютерная хирургия
  • Виртуальное зондирование
  • Проверка и согласование данных о производственных процессах
  • Многопрофильная оптимизация дизайна
  • Дизайн освоения космоса
  • Компьютерная инженерия
  • Кристаллография
  • Микрофлюидика

Преимущества и недостатки [ править ]

Преимущества [ править ]

  • C ++ API [9] (знание OpenCL не требуется)
  • Подход с погруженными границами без сетки позволяет пользователям переходить от САПР непосредственно к вычислениям, сокращая затраты на предварительную обработку.
  • Динамическая компиляция обеспечивает дополнительный уровень оптимизации во время выполнения (т. Е. Для определенного набора параметров, который был предоставлен приложению)
  • Автоматическое аппаратное ускорение и распараллеливание приложений
  • Развертывание одной и той же программы на различных параллельных архитектурах - GPU, APU, FPGA, DSP, многоядерные процессоры
  • Умение работать со сложными границами
  • Возможность включать микроскопические взаимодействия
  • Доступность исходного кода

Недостатки [ править ]

  • Отсутствие подробной документации (помимо Руководства разработчика, созданного из комментариев к исходному коду)
  • Не все драйверы OpenCL достаточно зрелы для библиотеки [10]

Особенности [ править ]

ASL предоставляет ряд функций для решения ряда проблем - от сложных потоков жидкости, включающих химические реакции, турбулентность и теплопередачу, до механики твердого тела и упругости. [11]

  • Интерфейс: VTK / ParaView , MATLAB (экспорт).
    • форматы файлов импорта: .stl .vtp .vtk .vti .mnc .dcm.
    • форматы файлов экспорта: .vti .mat
  • Геометрия:
    • гибкая и сложная геометрия с использованием простой прямоугольной сетки
    • безсеточный подход с погруженными границами
    • генерация и манипулирование геометрическими примитивами
  • Реализованные явления:
    • Транспортные процессы
      • многокомпонентные транспортные процессы
      • поток сжимаемой и несжимаемой жидкости
    • Химические реакции
      • электродные реакции
    • Эластичность
      • однородная изотропная эластичность
      • однородная изотропная пороупругость
    • Отслеживание интерфейса
      • эволюция интерфейса
      • эволюция интерфейса с кристаллографической кинетикой

Использует [ редактировать ]

  • АКТИВНЫЙ - Технологии активных ограничений для плохо определенных или изменчивых сред (Европейский проект FP7) [12] [13] [14]

Ссылки [ править ]

  1. ^ «ASL - расширяющаяся программная экосистема для рынка DSP / FPGA / GPU» (PDF) .
  2. ^ «ASL входит в Linux» .
  3. ^ "ASL для OpenSuse" .
  4. ^ «ASL для Debian» .
  5. ^ "ASL для Gentoo" .
  6. ^ "ASL для Fedora" . Архивировано из оригинала 8 декабря 2015 года . Проверено 30 ноября 2015 года .
  7. ^ «ASL для Arch Linux» .
  8. ^ "ASL среди ресурсов OpenCL Khronos" .
  9. ^ «Пример аэродинамического моделирования» .
  10. ^ «Развертывание ASL: проблемные драйверы» .
  11. ^ «О расширенной библиотеке моделирования: hgpu.org» .
  12. ^ «АКТИВНЫЙ проект: Интраоперационный сдвиг мозга» .
  13. ^ "ASL на www.technology.org" .
  14. ^ "ASL на сайте Интересноengineering.com" .