Abaqus

Z Komputery Dużej Mocy w ACK CYFRONET AGH
Skocz do:nawigacja, szukaj

Na klastrze Zeus zainstalowano pakiet Abaqus w wersjiach 6.x, 2016, 2017.

Informacje ogólne

Do ustawiania środowiska uruchomieniowego oprogramowania na klastrze Zeus służy narzędzie Modules. Pliki tymczasowe należy tworzyć używając zasobu dyskowego Lustre. Do załadowania domyślnej wersji pakietu służy komenda:

 module add apps/abaqus

Domyślna wersja to 2017.

Program uruchamiany jest poleceniem abaqus.

Graficzne środowisko użytkownika uruchamiane jest poleceniem abaqus cae (Uwaga: należy pamiętać o przekierowaniu wyświetlania XWidnows).

Przegląd funkcji i poleceń dostępny zostanie wyświetlony po wykonaniu komendy abaqus help.

Wersje Abaqusa

Zmienne środowiskowe ustawia się ładując moduł apps/abaqus/ver gdzie ver to wersja Abaqusa (10, 11, 12, 13, 14, 2016 lub 2017)

 module add apps/abaqus/ver

Przykładowy skrypt

Obliczenia w trybie wątków ze współdzieloną pamięcią

Zadanie Abaqusa będzie się wykonywać na jednym węźle i będzie wykorzystywało 4 procesory.

#!/bin/bash -l
## Nazwa zlecenia
#SBATCH -J <nazwa_zadania>
## Liczba alokowanych węzłów
#SBATCH -N 1
## Liczba zadań per węzeł (domyślnie jest to liczba alokowanych rdzeni na węźle)
#SBATCH --ntasks-per-node=4
## Ilość pamięci przypadającej na jeden rdzeń obliczeniowy (domyślnie 5GB na rdzeń)
#SBATCH --mem-per-cpu=1GB
## Maksymalny czas trwania zlecenia (format HH:MM:SS)
#SBATCH --time=01:00:00 
## Nazwa grantu do rozliczenia zużycia zasobów
#SBATCH -A <grant_id>
## Specyfikacja partycji
#SBATCH -p plgrid-testing
## Plik ze standardowym wyjściem
#SBATCH --output="output.out"
## Plik ze standardowym wyjściem błędów
#SBATCH --error="error.err"
 
## przejscie do katalogu z ktorego wywolany zostal sbatch
cd $SLURM_SUBMIT_DIR

input=<plik_wejsciowy> 
np=$NTASKS
srun /bin/hostname
module load plgrid/apps/abaqus/<ver>
abaqus j=$input cpus=$np mp_mode=threads interactive interactive
Obliczenia w trybie MPI

Zadanie Abaqusa będzie się wykonywać na 4 węzłach i na każdym węźle będzie wykorzystywało 2 procesory.

#!/bin/bash -l
## Nazwa zlecenia
#SBATCH -J <nazwa_zadania>
## Liczba alokowanych węzłów
#SBATCH -N 4
## Liczba zadań per węzeł (domyślnie jest to liczba alokowanych rdzeni na węźle)
#SBATCH --ntasks-per-node=2
## Ilość pamięci przypadającej na jeden rdzeń obliczeniowy (domyślnie 5GB na rdzeń)
#SBATCH --mem-per-cpu=1GB
## Maksymalny czas trwania zlecenia (format HH:MM:SS)
#SBATCH --time=01:00:00 
## Nazwa grantu do rozliczenia zużycia zasobów
#SBATCH -A <grant_id>
## Specyfikacja partycji
#SBATCH -p plgrid-testing
## Plik ze standardowym wyjściem
#SBATCH --output="output.out"
## Plik ze standardowym wyjściem błędów
#SBATCH --error="error.err"
 
## przejscie do katalogu z ktorego wywolany zostal sbatch
cd $SLURM_SUBMIT_DIR

input=<plik_wejsciowy> 
np=$NTASKS
srun /bin/hostname
module load plgrid/apps/abaqus/<ver>
abaqus j=$input cpus=$np mp_mode=mpi interactive

6.12

Zmienne środowiskowe ustawia się ładując moduł apps/abaqus/6.12

 module add apps/abaqus/6.12

Przykładowy skrypt

Obliczenia w trybie wątków ze współdzieloną pamięcią

Zadanie Abaqusa będzie się wykonywać na jednym węźle i będzie wykorzystywało 4 procesory.

#!/bin/env bash
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=1:ppn=4:intel
##### Maksymalna pamiec przydzielona na jeden rdzen! Czyli sumarycznie 1GB*1*4=4GB na zadanie!
#PBS -l pmem=1gb
##### Maksymalny czas obliczen 1 godzina
#PBS -l walltime=1:00:00
##### Nazwa kolejki
#PBS -q l_short
##### Nazwa zadania widoczna w systemie kolejkowym
#PBS -N nazwa_obliczen
##### Nazwa grantu uzytego do obliczen
#PBS -A nazwa_grantu

# ustawienie sciezek do pakietu Abaqus ver 6.12
module add apps/abaqus/6.12

# przejscie do katalogu, z ktorego wywolano skrypt PBS
cd $PBS_O_WORKDIR

# zliczenie zadanych procesorow
np=$PBS_NP

# ustawianie dostepnej pamieci na wezle obliczeniowym
echo 'memory = "4 gb"' > abaqus_v6.env  

input=plik_z_danymi_wejsciowymi

abaqus job=$input cpus=$np mp_mode=threads interactive
Oblicznia w trybie MPI

Zadanie Abaqusa będzie się wykonywać na 4 węzłach i na każdym węźle będzie wykorzystywało 12 procesorów.

#!/bin/env bash
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=4:ppn=12:intel
##### Maksymalna pamiec przydzielona na jeden rdzen! Czyli sumarycznie 1GB*4*12=48GB na zadanie!
#PBS -l pmem=1gb
##### Maksymalny czas obliczen 1 godzina
#PBS -l walltime=1:00:00
##### Nazwa kolejki
#PBS -q l_short
##### Nazwa zadania widoczna w systemie kolejkowym
#PBS -N nazwa_obliczen
##### Nazwa grantu uzytego do obliczen
#PBS -A nazwa_grantu

# ustawienie sciezek do pakietu Abaqus ver 6.12
module add apps/abaqus/6.12

# przejscie do katalogu, z ktorego wywolano skrypt PBS
cd $PBS_O_WORKDIR

# ustawianie dostepnej pamieci na wezle obliczeniowym
echo 'memory = "12 gb"' > abaqus_v6.env  

# zliczenie zadanych procesorow
np=$PBS_NP

input=plik_z_danymi_wejsciowymi 

abaqus job=$input cpus=$np standard_parallel=all mp_mode=mpi interactive