2024-06-18 15:42:14 +03:00
|
|
|
|
# Файл .bashrc
|
|
|
|
|
|
2024-06-18 16:12:26 +03:00
|
|
|
|
## Применение и изменение
|
|
|
|
|
|
2024-06-24 12:42:00 +03:00
|
|
|
|
Файл bashrc определён в домашней дирректории вашего пользователя, его содержимое можно просмотреть использовав команды:
|
2024-06-18 15:42:14 +03:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
$ cd
|
|
|
|
|
$ nano .bashrc
|
|
|
|
|
```
|
|
|
|
|
|
2024-06-24 12:42:00 +03:00
|
|
|
|
Если вы вносите изменения в файл `.bashrc` то, чтобы изменения вступили в силу, требуется перезагрузить конфигурацию:
|
2024-06-18 15:42:14 +03:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
$ cd
|
|
|
|
|
$ source .bashrc
|
|
|
|
|
```
|
|
|
|
|
|
2024-06-18 16:12:26 +03:00
|
|
|
|
## Список команд доступных пользователю благодаря .bashrc
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
$ gcc
|
|
|
|
|
$ g++
|
|
|
|
|
$ nvcc
|
|
|
|
|
$ conda
|
|
|
|
|
$ mpicc
|
|
|
|
|
$ mpic++
|
|
|
|
|
$ mpicxx
|
|
|
|
|
$ icc
|
|
|
|
|
$ icpc
|
|
|
|
|
$ icx
|
|
|
|
|
$ icpx
|
2024-06-18 16:43:26 +03:00
|
|
|
|
$ mpiicpx
|
|
|
|
|
$ mpiicc
|
2024-06-18 16:12:26 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## О представленной конфигурации
|
|
|
|
|
|
|
|
|
|
Представленная конфигурация позволяет пользователю использовать компилятор GNU Compiller Collection версии 11.2, используя команды:
|
|
|
|
|
|
|
|
|
|
`$ gcc` и `$ g++` для языков C и C++ соответственно
|
|
|
|
|
|
|
|
|
|
Она описана в модуле `#GCC 11.2 INIT`, без неё по умолчанию будет использоваться `gcc/g++` версии 8.
|
|
|
|
|
|
|
|
|
|
Команда
|
|
|
|
|
|
|
|
|
|
``$ conda``
|
|
|
|
|
|
|
|
|
|
cтановится доступной благодаря модулю `#CONDA INIT`
|
|
|
|
|
|
|
|
|
|
По умолчанию OpenMP может не работать без чёткого указания положения библиотеки в модуле `#OPENMP INIT`
|
|
|
|
|
|
|
|
|
|
Пользователю доступно использование компилятора Nvidia CUDA:
|
|
|
|
|
|
|
|
|
|
``$ nvcc``
|
|
|
|
|
|
|
|
|
|
cтановится доступным благодаря модулю `#CUDA INIT`
|
|
|
|
|
|
|
|
|
|
Компиляторы для MPI кода
|
|
|
|
|
|
|
|
|
|
`mpicc` и `mpic++`
|
|
|
|
|
|
|
|
|
|
cтановится доступным благодаря модулю `#MPI INIT`
|
|
|
|
|
|
|
|
|
|
Применение высокоскоростной сети infiniBand в MPI становится возможным благодаря строкам
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
export OMPI_MCA_btl_openib_allow_ib=1
|
|
|
|
|
export OMPI_MCA_btl_openib_if_include="mlx4_0:1"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
После ввода в консоли команды `targetIntel` пользователь получает доступ к компиляторам
|
|
|
|
|
|
2024-06-18 16:43:26 +03:00
|
|
|
|
```
|
|
|
|
|
$ icc
|
|
|
|
|
$ icx
|
|
|
|
|
$ icpc
|
|
|
|
|
$ icpx
|
|
|
|
|
$ mpiicx
|
|
|
|
|
$ mpiicc
|
|
|
|
|
```
|
2024-06-18 16:12:26 +03:00
|
|
|
|
|
|
|
|
|
Это работает благодаря модулю `#INTEL ICX/ICPX INIT`
|
|
|
|
|
|
|
|
|
|
## Базовая конфигурация
|
|
|
|
|
|
2024-06-18 15:42:14 +03:00
|
|
|
|
Базовая конфигурация файла `.bashrc` выглядет следующим образом:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
# .bashrc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Source global definitions
|
|
|
|
|
if [ -f /etc/bashrc ]; then
|
|
|
|
|
. /etc/bashrc
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# User specific environment
|
|
|
|
|
if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]
|
|
|
|
|
then
|
|
|
|
|
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
|
|
|
|
|
fi
|
|
|
|
|
export PATH
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#GCC 11.2 INIT
|
|
|
|
|
#Devtoolset-11-gcc#g++ enabler
|
|
|
|
|
source /opt/rh/gcc-toolset-11/enable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#CONDA INIT
|
|
|
|
|
# >>> conda initialize >>>
|
|
|
|
|
# !! Contents within this block are managed by 'conda init' !!
|
|
|
|
|
__conda_setup="$('/opt/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
|
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
|
eval "$__conda_setup"
|
|
|
|
|
else
|
|
|
|
|
if [ -f "/opt/miniconda3/etc/profile.d/conda.sh" ]; then
|
|
|
|
|
. "/opt/miniconda3/etc/profile.d/conda.sh"
|
|
|
|
|
else
|
|
|
|
|
export PATH="/opt/miniconda3/bin:$PATH"
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
unset __conda_setup
|
|
|
|
|
# <<< conda initialize <<<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#OPENMP INIT
|
|
|
|
|
#export LIB_OPENMP="/opt/intel2018/lib/intel64/libiomp5.so"
|
|
|
|
|
export LIB_OPENMP="/opt/intel/oneapi/compiler/2023.2.1/linux/compiler/lib/intel64_lin/libiomp5.so"
|
|
|
|
|
#for SCREEN correct working with OMP5.so library
|
|
|
|
|
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/compiler/lib/intel64_lin/"
|
|
|
|
|
|
|
|
|
|
#CUDA INIT
|
|
|
|
|
export PATH="/opt/cuda/cuda-12.2/bin/:$PATH"
|
|
|
|
|
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/cuda/cuda12.2/lib64"
|
|
|
|
|
export PATH="/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/compilers/bin/:$PATH"
|
|
|
|
|
export PATH="/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/comm_libs/mpi/bin:$PATH"
|
|
|
|
|
export MANPATH="$MANPATH:/opt/nvidia/hpc_sdk/Linux_x86_64/23.7/comm_libs/mpi/man"
|
|
|
|
|
|
|
|
|
|
#MPI INIT
|
|
|
|
|
export I_MPI_FABRICS=shm:ofi
|
|
|
|
|
#export I_MPI_CC=mpiicc
|
|
|
|
|
export UCX_TLS=mm,tcp,self
|
|
|
|
|
export OMPI_MCA_btl_openib_allow_ib=1
|
|
|
|
|
export OMPI_MCA_btl_openib_if_include="mlx4_0:1"
|
|
|
|
|
export PATH="/usr/lib64/openmpi/bin/:$PATH"
|
|
|
|
|
export I_MPI_FALLBACK=1
|
|
|
|
|
|
|
|
|
|
#INTEL ICX/ICPX INIT
|
|
|
|
|
alias targetIntel="source /opt/intel/oneapi/setvars.sh intel64 >> /dev/null"
|
|
|
|
|
```
|