超音波流体屋のプログラム備忘録

Linux計算サーバー構築メモ

最終更新:

usapfrog

- view
管理者のみ編集可
Ubuntu 20 LTS ベースで計算サーバーとして運用する初期設定など

インストール時

4K以上高解像度スクリーンは認識しないことがある
(safeグラフィックでインストールする。)

NFS環境を想定する場合はuid/gidを振りなおす。
UID/GIDは1000番以下は予約されているので2000番台を使うとあまり干渉しない。
変更対象からログアウトした後
groupadd <group> -g <GID>
usermod <user> -u <UID> -g <GID>

ドライバ関係

NVIDIAグラフィックカード

BIOS/UEFIからsecure bootを無効化する。
aptに普通はあるのでドライババージョンを調べてインストールする。
(.runはaptと干渉することが多い)

lspci | grep NVIDIA
sudo apt -y install nvidia-driver-510


10GBast-Tカード

まだデフォルトでは対応がない。下記で型番を確認する。
lspci | grep Eth
メーカーのlinuxドライバはkernel v4までしか対応がないので、ビルドエラーが出るので下記のものを使用する。
https://github.com/acooks/tn40xx-driver
手元のものはTN9710Pなので、下記からx3310fw_0_3_4_0_9445.hdrをフォルダ内に追加する。
https://github.com/acooks/tn40xx-driver/files/2982468/x3310fw_0_3_4_0_9445.hdr.gz
あとはReadmeの指示どおり、make -> sudo make install
Ubuntuは追加で下記を実行して、再起動する。
sudo update-initramfs -u -k `uname -r`

追記
kernel 5.13.Xのときはmakeだけでいけたが、kernel 5.15.0でコンパイルがひっかかるようになった。Makefile 135行に下記を追加して無理やり突破できる。
EXTRA_CFLAGS += -Wno-incompatible-pointer-types
Tehutiはサポートが終了しているので、ドライバがtn系のカードは(Linuxで使うなら)買わないほうが良い。

開発環境

# apt update
# apt -y install build-essential
# apt -y install openssh-server
# apt -y install lapack gnuplot nkf gcc-gfortran
# apt -y install paraview ghex

# systemctl start ssh
# systemctl enable ssh

openmp系メモalias
alias omp1='export OMP_NUM_THREADS=1'
alias ompx='export OMP_NUM_THREADS=4'


INTEL系コンパイラ/MPI


環境変数でMPI用コンパイラが必要
アプリのeclipseで使用したいときは/etc/profile先頭に書いておく。
source /opt/intel/oneapi/setvars.sh
export I_MPI_CC=icc
export I_MPI_CXX=icpc
export I_MPI_FC=ifort
export I_MPI_F77=ifort
export I_MPI_F90=ifort
LD_LIBRAY_PATHの中身が消失しているので/etc/bash.bashrcの最終行に下記を書いておく。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LIBRARY_PATH 

Tensorflow+CUDNN


確認
import tensorflow as tf 
print (tf.config.list_physical_devices('GPU'))


CAEソフトなど

ANSYS

古いパッケージを入れ、デフォルトのdashをbashに切り替える。
apt -y install libxm4
apt -y install ./<ダウンロードした.deb>

sudo dpkg-reconfigure dash #<No>と答える
デフォルトで入力ができないので、.bashrcなどに下記を書く。
alias launcher="unset XMODIFIERS; /ansys_inc/v195/ansys/bin/launcher"

LS-DYNA/LS-PrePost

mpp-lsdynaを使用するならopenmpiやintel mpiのバージョンを調べておく。
R11.1.0はopenmpi2.1.3

.bashrcに下記を書く。
export LSTC_LICENSE=network
export LSTC_LICENSE_SERVER=192.168.XXX.XXX
export LSDYNA_ROOT=/usr/local/lsdyna
export LSPP_ROOT=/usr/local/lsprepost48
export PATH=$PATH:$LSDYNA_ROOT
alias dyne='lsdyna11 ncpu=4 i='
alias lsprepost="LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LSPP_ROOT/lib:$LSPP_ROOT/mesa_lib $LSPP_ROOT/lsprepost"

時々下記の用にリダイレクトすると落ちる事がある。
apt update, apt upgradeをかけるとなおる。
lsdyna i=input.k > run.log &


MATLAB

sudo apt-get install libcanberra-gtk*

最近のインストーラは下記を事前にする必要がある
# xhost +SI:localuser:root
# ./install


.bashrcなどに下記を書く。
alias matlab='GTK_PATH=/usr/lib/x86_64-linux-gnu/gtk-2.0 /usr/local/MATLAB/R2020b/bin/matlab'
alias nomatlab='/usr/local/MATLAB/R2020b/bin/matlab -nodisplay'


デスクトップ環境

Nautilus

右クリックメニューの消去したファイル云々が邪魔
sudo apt remove deja-dup
ホームフォルダが日本語で不便なので
LANG=C xdg-user-dirs-update --force
下記を適当な宛先に変更してもよい。
~/.config/user-dirs.dirs

ファイルメニュー

自動登録のないソフトは自分で登録する。

lspp.desktop
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=LSPrePost48
Comment=LSPrePost
MimeType=text/lsdyna
Exec=bash -c "F=%u && export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LSPP_ROOT/lib:$LSPP_ROOT/mesa_lib && /usr/local/lsprepost48/lsprepost $F"
Icon=/home/<user>/etc/lspp.png
Terminal=false

lsdyna.desktop
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=LSDYNA7
Comment=lsdyna
MimeType=text/lsdyna
Exec=bash -c "F=%u && D=`dirname $F` && cd $D && /usr/local/lsdyna/lsdyna7 ncpu=4 i=$F"
Icon=/home/<user>/etc/dyna.png
Terminal=true



paraview.desktop(なければ)
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Paraview
Comment=Paraview
MimeType=text/vtk
Exec=/usr/local/paraview/bin/paraview %u
Icon=/home/<user>/etc/pv.png
Terminal=false


最後に下記コマンドを打って更新する。
update-desktop-database ~/.local/share/applications

ファイルタイプ

デフォルトは拡張子が何であろうと全部テキストになってしまい、
メニューから開くが一括で変更されてしまうのでmimeタイプを自作する。
~/.local/share/mime/packagesに下記ファイルを追加する。
paraview.xml
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="text/vtk">
    <comment>VTK file</comment>
    <glob pattern="*.vtk"/>
    <glob pattern="*.vtu"/>
    <glob pattern="*.vtp"/>
    <glob pattern="*.pvtu"/>
    <glob pattern="*.pvtp"/>
  </mime-type>
</mime-info>

lsdyna.xml
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="text/lsdyna">
    <comment>LS-DYNA keyword file</comment>
    <glob pattern="*.dyn"/>
    <glob pattern="*.k"/>
  </mime-type>
</mime-info>

d3plot.xml
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="binary/lsdyna">
    <comment>LS-DYNA binary file</comment>
    <glob pattern="d3*"/>
  </mime-type>
</mime-info>

最後に下記コマンドを打って更新する。
update-mime-database ~/.local/share/mime

LANにおけるファイル共有

firewalldなどでポート開放を確認する。

NFS

apt -y install nfs-common, rpcbind
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap
systemctl enable nfs-server

/etc/exports
/data/work 192.168.2.0/24(rw,no_root_squash)

NFSクライアントマウントのデフォルトバージョンが新しくなって古いNFSはマウントできない時がある。
fstabにオプションを指定する(下記は-o vers=4.0相当)。
192.168.XXX.XXX/data /nfs/mountpoint nfs vers=4.0 0 0

SAMBA

apt -y install samba
smbpasswd -a <user>
systemctl start smbd
systemctl start nmbd
systemctl enable smbd
systemctl enable nmbd

[smb.conf]
[global]
workgroup = WORKGROUP
server string = <HOST> Samba Server %v
netbios name = <hostname>
security = user
map to guest = bad user
dns proxy = no
wins support = yes
ntlm auth = yes
 
[work]
path = /data/work
valid users = <user>
guest ok = no
writable = yes
browsable = yes
 
[share]
path = /data/work/share/
browsable =yes
writable = yes
guest ok = yes
read only = no
valid users = @groupとするとグループ指定できる。

ディスク追加

全ディスク使用の場合。rootまたはsudoコマンド後に下記
parted -l #/dev/sda?の調査
parted /dev/sda?
mklabel gpt
mkpart # name -> format(ext4) -> 0% -> 100%
print
quit
mkfs.ext4 /dev/sda?
UUIDを調べてfstabの追加
blkid /dev/sda?
vi /etc/fstab
-> UUID=???? /mountpoint ext4 defaults	0 0
mount -a

目安箱バナー