Предыдущая часть находится тут.
Ещё один гвоздь в крышку гроба Винды и минус аргумент у вопителей отсутствия софта у Линукс.
Системы автоматизированного проектирования (САПР)
Установка САПР nanoCAD
nanoCAD — российская система автоматизированного проектирования (САПР), предназначенная для разработки и выпуска рабочей документации (чертежей) в машиностроении, строительстве и других отраслях. Платформа поддерживает форматы *.dwg, *.dxf и IFC, что обеспечивает совместимость с популярными САПР-решениями и BIM-технологиями. Программа, ожидаемо, платная. Есть бесплатный 15 дневный период у ознакомительной лицензии.
Установка не совсем тривиальна. Есть различные варианты установки - установка на централизованную СУБД, на локальную СУБД. Лицензирование тоже различное - проверка лицензий может быть через сервер лицензий или через личный кабинет пользователя.
Сервер лицензий локально я разворачивать не буду, а покажу установку с подключением к локальной СУБД и оценочной лицензией.
1. Получение оценочной лицензии
Для начала необходимо зарегистрироваться в личном кабинете на портале nanoCAD. После регистрации:
Перейдите на вкладку "Серийные номера".
Нажмите кнопку "Получить оценочный серийный номер".
Выберите продукт "Платформа nanoCAD".
2. Установка nanoCAD
Установка проходит по стандартной схеме: Ключ-Репозиторий-обновление кеша-установка программы. По какой-то непонятной причине, вместо репозитория Дебиан, как это обычно принято во всём мире, разработчики решили пойти своим путём и сделать репозиторий для Бубунты. Правда он совместим с Дебиан, поэтому подключаем его. Остальные репозитории можно посмотреть тут.
Ключ:textcurl -s https://repo.nanodev.ru/r26.0/Ubuntu_24.04/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/nanosoft.gpgРепозиторий:
textecho -e "Types: deb\nURIs: https://repo.nanodev.ru/r26.0/Ubuntu_24.04\nSuites: /\nComponents: \nSigned-By: /etc/apt/keyrings/nanosoft.gpg" | sudo tee /etc/apt/sources.list.d/nanosoft.sourcesОбновление кеша:
textsudo aptitude updateУстановка пакетов:
textsudo aptitude install ncad26-0 ncad-mech26-0 ncad-spds26-0где:
ncad26-0 — сама платформа nanoCAD.
ncad-mech26-0 — модуль "Механика".
ncad-spds26-0 — модуль "СПДС".
3. Настройка базы данных
Несмотря на то, что в системных требованиях указана минимальная версия PostgreSQL 16, nanoCAD требует для работы базу данных PostgreSQL 17.
Мы настроим подключение к СУБД, работающей в Docker.
Для начала установим самого клиента PostgreSQL, т.к. для создания БД нужны утилиты psql и pg_restore:textsudo aptitude install postgresql-clientУказываем параметр подключения к будущей СУБД:
textecho NCADPGDB=postgresql://postgres:postgres@localhost:5432 | sudo tee /etc/default/ncad-db16Где postgres:postgres - логин:пароль к СУБД, а localhost:5432 - хост и порт, где запущена СУБД
Запустим PostgreSQL 17 через Docker (как устанавливать Docker было описано в части руководства Инструменты разработки):textdocker run --rm --name docker-postgres -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -d -p 5432:5432 -v ~/docker-data/postgres17-alpine/pgData:/var/lib/postgresql/data postgres:17-alpineгде ~/docker-data/postgres17-alpine/pgData - каталог на вашем хосте, где будут храниться файлы базы данных. Создайте его заранее. Образ может быть и на Debian, не обязательно на alpine
После запуска СУБД нужно запустить команду, которая создаст БД для самой платфоры, Механики и СПДС:textncad-db-install26-0Команда должна завершиться успешно. После этого nanoCAD готов к запуску.
Установка КОМПАС-3D
КОМПАС-3D — это российская импортонезависимая система трёхмерного проектирования (САПР) от компании «АСКОН», широко используемая в машиностроении, приборостроении, строительстве и других отраслях
Ключ:textcurl -fsSL https://repo.ascon.ru/stable/deb/ascon.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/ascon.gpgРепозиторий:
textecho -e "Types: deb\nURIs: https://repo.ascon.ru/stable/deb\nSuites: 1.8_x86-64\nComponents: main\nSigned-By: /etc/apt/keyrings/ascon.gpg" | sudo tee /etc/apt/sources.list.d/ascon.sourcesОбновляем кеш:
textsudo aptitude updateУстановка:
textsudo aptitude install ascon-kompas3d-v24-full libxcb-res0libxcb-res0 - необходимая библиотека из стандартного репозитория Дебиан.
Для получения ознакомительной лицензии Пуск->Утилита ключа защиты. Или же из самого Компаса Справка -> Утилита ключа защиты.
Программы для инженерных расчётов и моделирования
Установка gRASPA
gRASPA — это GPU-ускоренная версия классического пакета RASPA2 для молекулярного моделирования и расчёта адсорбции. Она позволяет проводить симуляции методом Монте-Карло на видеокарте, что даёт значительный прирост производительности по сравнению с CPU-версией.
Для запуска расчётов на видеокарте необходима установленная платформа ROCm(полностью, с компилятором, а не просто среда исполнения) для AMD и CUDA для NVIDIA. Как ставить описано тут.
Клонируем gRASPA к себе в хомяк:textgit clone https://github.com/snurr-group/gRASPAAMD
По умолчанию скрипт собирает код для архитектуры gfx90a (используется в ускорителях MI250X).
Если у вас другая карта, вы можете указать нужную архитектуру через переменную окружения GRASPA_ARCH. Но сначала нужно её узнать
Среда ROCm уже должна быть установлена и следовательно можно узнать через неё:textrocminfo | grep gfxНапример, для Radeon RX 6600 это будет gfx1032.
Переходим в каталог с исходниками:textcd gRASPA/src_cleanи запускаем создание исполняемого файла для нашей видеокарты:
textGRASPA_ARCH=gfx1032 ../HIP_COMPILEПосле успешной сборки в папке src_clean/ появится исполняемый файл hip_main.x
textls -l ~/gRASPA/src_clean/hip_main.xЗапускаем тестовый файл. Для этого нужно перейти в каталог
textcd ~/gRASPA/Examples/CO2-MFIи запустить
textHSA_XNACK=1 ../../src_clean/hip_main.xПеременная HSA_XNACK=1 необходима для корректной работы управляемой памяти на архитектурах RDNA 2 и новее. Без неё программа может завершиться с ошибкой.
Предупреждения это норма. Но ошибок быть не должно.
NVIDIA
Для начала надо установить High-Performance Computing Software Development Kit
Скачиваем:textwget https://developer.download.nvidia.com/hpc-sdk/26.5/nvhpc_2026_265_Linux_x86_64_cuda_13.2.tar.gzРаспаковываем:
texttar xpzf nvhpc_2026_265_Linux_x86_64_cuda_13.2.tar.gzУстанавливаем:
textsudo ./nvhpc_2026_265_Linux_x86_64_cuda_13.2/installЗайти в получившийся каталог gRASPA и в файле NVC_COMPILE заменить строки для устаревшего компилятор 24.5 на новый 26.5 (всего в двух строчках):
textCXX="/opt/nvidia/hpc_sdk/Linux_x86_64/26.5/compilers/bin/nvc++" LINKFLAG="-L/opt/nvidia/hpc_sdk/Linux_x86_64/26.5/cuda/lib64 -L/usr/lib64/ -L/opt/local/lib/gcc11/"Зайти в каталог исходников:
textcd gRASPA/src_clean...и запустить компиляцию:
text../NVC_COMPILEв результате должен появиться файл nvc_main.x:
textls -l ~/gRASPA/src_clean/nvc_main.xЗапустить какой-нить расчёт из примеров.
textcd ~/gRASPA/Examples/CO2-MFItext../../src_clean/nvc_main.xустановка lammps
Устанавливаем необходимые пакеты:textsudo aptitude install build-essential cmake git wget gfortran \ libopenmpi-dev openmpi-bin libfftw3-dev libjpeg-dev libpng-dev \ python3-dev python3-pipКлонируем lammps в каталог lammps-stable:
textgit clone -b stable https://github.com/lammps/lammps.git lammps-stableПереходим в каталог для дальнейшей сборки:
textcd lammps-stableСоздаём каталог для сборки с поддержкой KOKKOS:
textmkdir build-kokkos-cudaПереходим в него:
textcd build-kokkos-cudaCUDA
Для компиляции приложения необходимо, чтобы был установлен пакет для разработки на CUDA cuda-toolkit из официального репозитория NVIDIA для Debian 13 как это описано тут.
Соответственно, компилятор nvcc должен быть виден в системе:textnvcc --versionЕсли система не видит компилятор, но он установлен (обычно по пути /usr/local/cuda/bin/nvcc), то добавляем путь к компилятору в переменную PATH:
textexport PATH=/usr/local/cuda/bin:$PATHДля постоянного эффекта необходимо добавить настройку в файл .bashrc:
textecho 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc && source ~/.bashrcВыполняем настройку конфигурации для сборки lammps:
textcmake ../cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=$HOME/local \ -DCMAKE_CXX_STANDARD=17 \ -DCMAKE_CXX_STANDARD_REQUIRED=ON \ -DBUILD_MPI=yes \ -DPKG_KOKKOS=yes \ -DKokkos_ENABLE_CUDA=yes \ -DKokkos_ENABLE_OPENMP=yes \ -DKokkos_ENABLE_SERIAL=yes \ -DKokkos_ARCH_BLACKWELL=ON \ -DCMAKE_CXX_COMPILER=$PWD/../lib/kokkos/bin/nvcc_wrapper \ -DPKG_MOLECULE=yes \ -DPKG_RIGID=yes \ -DPKG_KSPACE=yes \ -DPKG_MANYBODY=yes \ -DFFT_KOKKOS=CUFFTгде
PKG_KOKKOS=yes - включает запуск через современный фреймворк KOKKOS
BUILD_MPI=yes включает MPI - количество MPI процессов
Kokkos_ENABLE_OPENMP=yes включает OpenMP - количество потоков на процесс
FFT_KOKKOS=CUFFT - подключает библиотеку преобразований Фурье от CUDA вместо встроенной KISS FFT
После настройки конфигурации собираем приложение:textmake -j $(nproc)...и устанавливаем:
textmake installУстановка произойдёт в путь, описанный в переменной CMAKE_INSTALL_PREFIX (домашний каталог пользователя $HOME/local)
Донастроим OpenMP:textexport OMP_PROC_BIND=spreadtextexport OMP_PLACES=threadsэти переменные улучшают производительность на многоядерных системах, закрепляя потоки OpenMP за ядрами. Их можно добавить в конец файла .bashrc, находящегося в домашнем каталоге пользователя.
Создадим тестовый фал:textnano in.ljс содержимым для минимального и быстрого тестирования:
text# Lennard-Jones melt simulation units lj atom_style atomic lattice fcc 0.8442 region box block 0 4 0 4 0 4 create_box 1 box create_atoms 1 box mass 1 1.0pair_style lj/cut 2.5 pair_coeff 1 1 1.0 1.0
neighbor 0.3 bin neigh_modify every 20 delay 0 check no
fix 1 all nve fix 2 all langevin 1.0 1.0 1.0 48279
thermo 50 run 100
Запускаем:
text~/local/bin/lmp -k on g 1 t 8 -sf kk -in ~/in.ljгде -k on - запуск с помощью KOKKOS
g 1 видеокарта у нас только одна
t 8 количество используемых потоков (фактически рекомендуется ставить равным количеству ядер)