LinuxForum.Fans
Тема

Настройка Debian 13. Инженерные приложения (Опционально)

Автор: survordie 1 сообщений 352 просмотров
14.08.2026 15:03 · отредактировано #440264

Предыдущая часть находится тут.

Ещё один гвоздь в крышку гроба Винды и минус аргумент у вопителей отсутствия софта у Линукс.

Системы автоматизированного проектирования (САПР)
  • Установка САПР nanoCAD

    nanoCAD — российская система автоматизированного проектирования (САПР), предназначенная для разработки и выпуска рабочей документации (чертежей) в машиностроении, строительстве и других отраслях. Платформа поддерживает форматы *.dwg, *.dxf и IFC, что обеспечивает совместимость с популярными САПР-решениями и BIM-технологиями. Программа, ожидаемо, платная. Есть бесплатный 15 дневный период у ознакомительной лицензии.

    Установка не совсем тривиальна. Есть различные варианты установки - установка на централизованную СУБД, на локальную СУБД. Лицензирование тоже различное - проверка лицензий может быть через сервер лицензий или через личный кабинет пользователя.
    Сервер лицензий локально я разворачивать не буду, а покажу установку с подключением к локальной СУБД и оценочной лицензией.

    1. Получение оценочной лицензии
    Для начала необходимо зарегистрироваться в личном кабинете на портале nanoCAD. После регистрации:
    Перейдите на вкладку "Серийные номера".
    Нажмите кнопку "Получить оценочный серийный номер".
    Выберите продукт "Платформа nanoCAD".

    2. Установка nanoCAD
    Установка проходит по стандартной схеме: Ключ-Репозиторий-обновление кеша-установка программы. По какой-то непонятной причине, вместо репозитория Дебиан, как это обычно принято во всём мире, разработчики решили пойти своим путём и сделать репозиторий для Бубунты. Правда он совместим с Дебиан, поэтому подключаем его. Остальные репозитории можно посмотреть тут.
    Ключ:
    text
    curl -s https://repo.nanodev.ru/r26.0/Ubuntu_24.04/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/nanosoft.gpg

    Репозиторий:

    text
    echo -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

    Обновление кеша:

    text
    sudo aptitude update

    Установка пакетов:

    text
    sudo 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:

    text
    sudo aptitude install postgresql-client

    Указываем параметр подключения к будущей СУБД:

    text
    echo NCADPGDB=postgresql://postgres:postgres@localhost:5432 | sudo tee /etc/default/ncad-db16

    Где postgres:postgres - логин:пароль к СУБД, а localhost:5432 - хост и порт, где запущена СУБД
    Запустим PostgreSQL 17 через Docker (как устанавливать Docker было описано в части руководства Инструменты разработки):

    text
    docker 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
    После запуска СУБД нужно запустить команду, которая создаст БД для самой платфоры, Механики и СПДС:

    text
    ncad-db-install26-0

    Команда должна завершиться успешно. После этого nanoCAD готов к запуску.

  • Установка КОМПАС-3D

    КОМПАС-3D — это российская импортонезависимая система трёхмерного проектирования (САПР) от компании «АСКОН», широко используемая в машиностроении, приборостроении, строительстве и других отраслях

    Ключ:
    text
    curl -fsSL https://repo.ascon.ru/stable/deb/ascon.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/ascon.gpg

    Репозиторий:

    text
    echo -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

    Обновляем кеш:

    text
    sudo aptitude update

    Установка:

    text
    sudo aptitude install ascon-kompas3d-v24-full libxcb-res0

    libxcb-res0 - необходимая библиотека из стандартного репозитория Дебиан.

    Для получения ознакомительной лицензии Пуск->Утилита ключа защиты. Или же из самого Компаса Справка -> Утилита ключа защиты.

Программы для инженерных расчётов и моделирования
  • Установка gRASPA

    gRASPA — это GPU-ускоренная версия классического пакета RASPA2 для молекулярного моделирования и расчёта адсорбции. Она позволяет проводить симуляции методом Монте-Карло на видеокарте, что даёт значительный прирост производительности по сравнению с CPU-версией.

    Для запуска расчётов на видеокарте необходима установленная платформа ROCm(полностью, с компилятором, а не просто среда исполнения) для AMD и CUDA для NVIDIA. Как ставить описано тут.
    Клонируем gRASPA к себе в хомяк:
    text
    git clone https://github.com/snurr-group/gRASPA
    AMD

    По умолчанию скрипт собирает код для архитектуры gfx90a (используется в ускорителях MI250X).
    Если у вас другая карта, вы можете указать нужную архитектуру через переменную окружения GRASPA_ARCH. Но сначала нужно её узнать

    Среда ROCm уже должна быть установлена и следовательно можно узнать через неё:
    text
    rocminfo | grep gfx

    Например, для Radeon RX 6600 это будет gfx1032.


    Переходим в каталог с исходниками:

    text
    cd gRASPA/src_clean

    и запускаем создание исполняемого файла для нашей видеокарты:

    text
    GRASPA_ARCH=gfx1032 ../HIP_COMPILE

    После успешной сборки в папке src_clean/ появится исполняемый файл hip_main.x

    text
    ls -l ~/gRASPA/src_clean/hip_main.x

    Запускаем тестовый файл. Для этого нужно перейти в каталог

    text
    cd ~/gRASPA/Examples/CO2-MFI

    и запустить

    text
    HSA_XNACK=1 ../../src_clean/hip_main.x 

    Переменная HSA_XNACK=1 необходима для корректной работы управляемой памяти на архитектурах RDNA 2 и новее. Без неё программа может завершиться с ошибкой.

    Предупреждения это норма. Но ошибок быть не должно.

    NVIDIA

    Для начала надо установить High-Performance Computing Software Development Kit
    Скачиваем:
    text
    wget https://developer.download.nvidia.com/hpc-sdk/26.5/nvhpc_2026_265_Linux_x86_64_cuda_13.2.tar.gz

    Распаковываем:

    text
    tar xpzf nvhpc_2026_265_Linux_x86_64_cuda_13.2.tar.gz

    Устанавливаем:

    text
    sudo ./nvhpc_2026_265_Linux_x86_64_cuda_13.2/install

    Зайти в получившийся каталог gRASPA и в файле NVC_COMPILE заменить строки для устаревшего компилятор 24.5 на новый 26.5 (всего в двух строчках):

    text
    
    CXX="/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/"
    

    Зайти в каталог исходников:

    text
    cd gRASPA/src_clean

    ...и запустить компиляцию:

    text
    ../NVC_COMPILE 

    в результате должен появиться файл nvc_main.x:

    text
    ls -l ~/gRASPA/src_clean/nvc_main.x

    Запустить какой-нить расчёт из примеров.

    text
    cd ~/gRASPA/Examples/CO2-MFI 
    text
    ../../src_clean/nvc_main.x

  • установка lammps

    Устанавливаем необходимые пакеты:
    text
    
    sudo 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:

    text
    git clone -b stable https://github.com/lammps/lammps.git lammps-stable

    Переходим в каталог для дальнейшей сборки:

    text
    cd lammps-stable

    Создаём каталог для сборки с поддержкой KOKKOS:

    text
    mkdir build-kokkos-cuda

    Переходим в него:

    text
    cd build-kokkos-cuda
    CUDA

    Для компиляции приложения необходимо, чтобы был установлен пакет для разработки на CUDA cuda-toolkit из официального репозитория NVIDIA для Debian 13 как это описано тут.
    Соответственно, компилятор nvcc должен быть виден в системе:
    text
    nvcc --version

    Если система не видит компилятор, но он установлен (обычно по пути /usr/local/cuda/bin/nvcc), то добавляем путь к компилятору в переменную PATH:

    text
    export PATH=/usr/local/cuda/bin:$PATH

    Для постоянного эффекта необходимо добавить настройку в файл .bashrc:

    text
    echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc && source ~/.bashrc

    Выполняем настройку конфигурации для сборки lammps:

    text
    
    cmake ../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

    После настройки конфигурации собираем приложение:

    text
    make -j $(nproc)

    ...и устанавливаем:

    text
    make install

    Установка произойдёт в путь, описанный в переменной CMAKE_INSTALL_PREFIX (домашний каталог пользователя $HOME/local)

    Донастроим OpenMP:

    text
    export OMP_PROC_BIND=spread
    text
    export OMP_PLACES=threads

    эти переменные улучшают производительность на многоядерных системах, закрепляя потоки OpenMP за ядрами. Их можно добавить в конец файла .bashrc, находящегося в домашнем каталоге пользователя.

    Создадим тестовый фал:

    text
    nano 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.0
    

    pair_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 количество используемых потоков (фактически рекомендуется ставить равным количеству ядер)

Войдите или зарегистрируйтесь, чтобы ответить.