Эффективность параллельных вычислений Abaqus, Ansys и Simmakers

В настоящее время всё большую популярность в области высокопроизводительных вычислений приобретают аппаратные средства, основанные на архитектурах для параллельных вычислений.

Эффективность использования аппаратных средств с параллельной архитектурой в решении инженерных задачах, таких, как компьютерное моделирование физических процессов, не имеет линейной зависимости от количества процессоров. Ошибочно полагать, что при решении сложных инженерных задач перенос расчета с одного ядра CPU на четыре ядра даст четырехкратный прирост скорости. Аналогично, перенос вычислений на графические ускорители с сотнями ядер не дает стократного прироста в скорости.

В первую очередь ограничение в приросте скорости при использовании параллельных расчетов налагают вычислительные алгоритмы. Алгоритмы, обладающие низкой степенью параллелизации, нерационально использовать на суперкомпьютерах и высокопроизводительных рабочих станциях. Понятие «эффективность параллелизации» поясняется законом Амдала, согласно которому если хотя бы 1/10 часть программы исполняется последовательно, то невозможно получить более 10 кратного ускорения вне зависимости от числа используемых вычислительных ядер.

Яркими примерами ограниченности эффективности распараллеливания алгоритмов для решения инженерных задач являются относительно слабые результаты мировых лидеров в области программного обеспечения для инженерного анализа (CAE) – компаний Abaqus и Ansys.

Читать далее

Применение ANSYS для теплотехнических расчетов многолетнемерзлых грунтов. Преимущества Frost 3D Universal.

В компанию Simmakers обратилась инжиниринговая организация с просьбой дать технические комментарии по поводу возможности применения КЭ пакета ANSYS к задачам растепления и термостабилизации грунтов, и в чем заключается преимущество Frost 3D Universal при решении таких задач.

Стоит отметить, что ранее мы уже неоднократно вели дискуссии с разного рода специалистами на эту тему, как на форумах, так и на научно-технических конференциях.

Утверждение дистрибьютора пакета ANSYS:

Для расчетов растепления грунтов используется МКЭ-пакет ANSYS. ANSYS — универсальная программная система конечно-элементного анализа (МКЭ), существующая и развивающаяся на протяжении последних 30 лет, является довольно популярной у специалистов в области компьютерного инжиниринга (CAE, Computer-Aided Engineering) и КЭ решения линейных и нелинейных, стационарных и нестационарных пространственных задач механики деформируемого твёрдого тела и механики конструкций (включая нестационарные геометрически и физически нелинейные задачи контактного взаимодействия элементов конструкций), задач механики жидкости и газа, теплопередачи и теплообмена, электродинамики, акустики, а также механики связанных полей.

Читать далее

FAQ к новой версии программы Frost 3D Universal - Последнее обновление 05.10.2014

После выхода заметки в нашем блоге «Теплотехнический расчет линейно-протяженного участка трубопровода на многолетнемерзлой породе» к нам начало поступать множество вопросов от пользователей.
В настоящем посте мы решили осветить часто задаваемые вопросы (FAQ) по функциональным возможностям новой версии программы Frost 3D Universal. Напомним, что в мае 2014г. вышел новый релиз программы, в котором были реализованы программно-технические инновации на уровне архитектуры программного комплекса и его основных компонент, которые позволили на персональном компьютере осуществлять проведение расчетов больших расчетных сеток до 100 млн. узлов. В частности, был приведен пример теплотехнического расчета протяженного трубопровода на мерзлом грунте на сетке в 58,5 миллионов узлов.

Вопрос: Для чего необходимы такие большие расчетные сетки?

Ответ: Необходимость большого количества узлов расчетной сетки вызвана несколькими факторами:
1) Расчет больших площадных и протяженных объектов требует большого количества элементов, которыми дискретизируется расчетная область.
2) В расчетной области присутствуют элементы с малыми размерами, которыми нельзя пренебрегать в расчете. Например, это – тонкий слой теплоизоляции или ИГЭ. Для дискретизации таких небольших элементов необходимо существенное учащение сетки.
3) Также учащение расчетной сетки необходимо выполнять в предполагаемых местах больших градиентов температур – около теплоизоляторов, источников тепла, охлаждающих устройств и др., что существенно увеличивает общее количество узлов в расчетной области.
Следует отметить, что даже с использованием для дискретизации неравномерного шага по пространству (например, нерегулярной расчетной сетки) также необходимо большое количество узлов. В нерегулярных расчетных сетках увеличение шага по пространству должно происходить очень плавно, т.к. в противном случае погрешность численного метода существенно возрастет.

Читать далее

Теплотехнический расчет линейно-протяженного участка трубопровода на многолетнемерзлой породе

В программном комплексе Frost 3D Universal на персональном компьютере было осуществлено численное решение задачи прогнозирования растепления грунтов под влиянием нефтепровода на расчетной сетке, состоящей из 58.5 млн. узлов. Прогноз оттаивания грунтов вокруг трубопровода выполнялся на 2 года. В общей сложности расчет в программном комплексе Frost 3D Universal на 4-х ядерном центральном процессоре занял 70 часов с использованием 17 Гб оперативной памяти. Ранее уже производился расчет данной модели с более грубой дискретизацией в 22.3 млн. узлов, что не позволяло учитывать в модели мелкие элементы, такие как тонкий теплоизолятор. Прогнозный расчет на 20 лет при этом занимал 7 часов, используя в качестве расчетного механизма графический ускоритель Nvidia Titan.

Модель протяженного участка трубопровода

Модель протяженного участка трубопровода

Необходимость создания такой большой расчетной сетки была обусловлена спецификой решаемой задачи – моделирование формирования ореола оттаивания вокруг нефтепровода диаметром 1,2 м на участке протяженностью в 500 м. Рассматриваемый участок характеризуется сложным геолого-литологическим строением грунтов, который также включал линзы сильно-льдистого грунта. Всего на участке присутствовали 21 тип грунтов с различными теплофизическими свойствами. Учитывался также перепад высот дневной поверхности, который составлял более 35 метров.

Читать далее

Алгоритмы и математические выкладки построения воксельных сеток цилиндрической формы

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

Расчётная сетка, которая состоит из расположенных на листе и скрученных в цилиндр вокселов

Опишем математическую модель, использованную при разработке алгоритмов воксельных сеток цилиндрической формы.

ИСХОДНЫЕ ДАННЫЕ ДЛЯ ПОСТРОЕНИЯ ВОКСЕЛЬНОЙ СЕТКИ

Имеется лист, на поверхность которого нанесены вокселы (пузырьки, имеющие цилиндрическую форму). Далее предполагается, что вокселы располагаются на листе согласно шаблону, представленному на рисунке 1.

Расположение вокселов. Шаблон

Рисунок 1 – Шаблон расположения вокселов

Читать далее

Как устранить ошибку пробела в имени пользователя при компиляции проекта NVIDIA CUDA Runtime в среде Microsoft Visual Studio

Предположим, что на компьютере разработчика установлена среда Microsoft Visual Studio версии 2008, 2010 или 2012 и NVidia CUDA Toolkit 5.5. Если имя пользователя Windows содержит пробел, то компиляция шаблонного проекта NVIDIA CUDA Runtime в Visual Studio может завершиться неудачей. Как правило, это ошибка «Could not setup the environment for Microsoft Visual Studio using …» со ссылкой на файл vcvars32.bat или vsvars32.bat, либо «спотыкание» на пробеле в названии домашней папки пользователя (см. снимки экрана ниже).

Ошибки компиляции проекта CUDA Runtime в Microsoft Visual Studio 2012

Ошибка компиляции проекта CUDA Runtime в Microsoft Visual Studio 2008

Ошибки компиляции проекта CUDA Runtime в Microsoft Visual Studio 2012. Error D8022: cannot open ‘C:\Users\Yury’

Более подробные сведения об ошибках можно увидеть в логе компиляции, если добавить опцию --verbose в командную строку NVCC (драйвера компиляции CUDA С/C++).

Для устранения проблемы можно воспользоваться любым из нижеперечисленных способов:

  1. Создать нового пользователя с именем без пробела (аккуратно с данными старого пользователя!),
  2. Изменить пользовательскую переменную окружения TEMP на путь, не содержащий пробела (папка по этому пути должна существовать), например C:\Temp,
  3. Добавить в файл %CUDA_PATH%/bin/nvcc.profile, где %CUDA_PATH% может иметь вид C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5, строку «TEMP=path_without_space», где path_without_space – путь, не содержащий пробела (папка по этому пути должна существовать), например C:\Temp.

Шаблон проекта для архитектуры CUDA в Microsoft Visual Studio 2008

В интегрированной среде разработки Microsoft Visual Studio 2008 есть множество стандартных шаблонов нового проекта на Visual C++. Но при использовании такого инструмента для параллельного программирования как NVidia CUDA Toolkit 5.0 (без всяких дополнений) приходится каждый новый CUDA-проект на C++ настраивать вручную.

К счастью, рутинная процедура настройки автоматизируется после установки бесплатного CUDA VS Wizard 2.9 и внести в него небольшие исправления, перечисленные ниже.За несколько кликов можно создать пустой CUDA-проект, который успешно компилируется в конфигурации Win32. Чтобы компилировать его в конфигурации x64 (п. 2), а также для чисто «косметических» эффектов (пп. 3 и 4), выполните следующие шаги.

1. Найдите инсталляционную папку среды, например, C:/Program Files (x86)/Microsoft Visual Studio 9.0. Далее она обозначается как $(VSInstallDir).

2. Откройте в текстовом редакторе файл $(VSInstallDir)/VC/VCWizards/CUDA/CUDAWinApp/Scripts/1033/default.js. Найдите все вхождения пути «$(CUDA_PATH)\lib» и замените их на «$(CUDA_PATH)/lib/$(PlatformName);».

3. Добавьте строку «CUDAWinApp.vsz| |CUDAWinApp|1|A sample CUDA application.| |6777| |CUDAWinApp» в текстовый файл $(VSInstallDir)/VC/vcprojects/vc.vsdir.

4. В файле $(VSInstallDir)/VC/vcprojects/CUDA/CUDAWinApp.vsdir исправьте текст подсказки «TODO: Wizard Description.» на «A sample CUDA application.».