Использование ускорителей вычислений на основе технологии CUDA в MSC Marc

Страница находится в разработке.

В версии MSC Marc 2012 появилась возможность использования ускорителей вычислений. В этой версии прямой алгоритм Multifrontal Solver имеет как традиционную, так и ускоренную реализации. Для того, чтобы использовать ускоренную реализацию необходимо

  1. Включить использование ускорителей вычислений в параметрах задачи или с помощью опции командной строки
  2. В качестве метода решения уравнений выбрать Multifrontal Solver
  3. Запустить задачу на узлах кластера, оснащенных ускорителями вычислений.

За счет использования ускорителей вычислений в практических задачах удается получить некоторое сокращение времени счета. Так, на тестовой задаче о расчете напряженно-деформированного состояния бруса удалось сократить время счета в 2-3 раза.

Ниже приведен пример описания задачи.

#!/bin/bash

#PBS -q teslaq
#PBS -l walltime=03:00:00
#PBS -l select=1:ncpus=4:ngpus=1:mem=20gb
#PBS -v JOBID

source /opt/intel/composer_xe_2011_sp1.6.233/bin/ifortvars.sh intel64

cd $PBS_O_WORKDIR

source /usr/share/modules/init/bash
export MODULEPATH=/usr/share/modules:/usr/share/modules/modulefiles:/opt/shared/
modules
module load nvidia/cuda-toolkit

/opt/shared/msc/marc2012/tools/run_marc -v n -b n -jid $JOBID -dir $PBS_O_WORKDIR -sdir $PBS_O_WORKDIR -ci no -cr no -nthread 0 -gpuid auto

Сохранив этот текст в файле rungpu.sh можно запустить расчет задачи, сохраненной в файле nonlinear.dat, с помощью команды

JOBID=nonlinear qsub rungpu.sh