超音波流体屋のプログラム備忘録
Linux計算サーバー構築メモ
最終更新:
usapfrog
-
view
Ubuntu 20 LTS ベースで計算サーバーとして運用する初期設定など
インストール時
4K以上高解像度スクリーンは認識しないことがある
(safeグラフィックでインストールする。)
(safeグラフィックでインストールする。)
NFS環境を想定する場合はuid/gidを振りなおす。
UID/GIDは1000番以下は予約されているので2000番台を使うとあまり干渉しない。
変更対象からログアウトした後
UID/GIDは1000番以下は予約されているので2000番台を使うとあまり干渉しない。
変更対象からログアウトした後
groupadd <group> -g <GID> usermod <user> -u <UID> -g <GID>
ドライバ関係
NVIDIAグラフィックカード
BIOS/UEFIからsecure bootを無効化する。
aptに普通はあるのでドライババージョンを調べてインストールする。
(.runはaptと干渉することが多い)
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は追加で下記を実行して、再起動する。
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行に下記を追加して無理やり突破できる。
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
oneAPIを利用する。
https://www.intel.com/content/www/us/en/developer/articles/news/free-intel-software-developer-tools.html
https://www.intel.com/content/www/us/en/developer/articles/news/free-intel-software-developer-tools.html
環境変数でMPI用コンパイラが必要
アプリのeclipseで使用したいときは/etc/profile先頭に書いておく。
アプリの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
https://ubuntu.pkgs.org/18.04/ubuntu-main-amd64/multiarch-support_2.27-3ubuntu1_amd64.deb.html
https://ubuntu.pkgs.org/14.04/ubuntu-main-amd64/libxp6_1.0.2-1ubuntu1_amd64.deb.html
https://ubuntu.pkgs.org/14.04/ubuntu-main-amd64/libxp6_1.0.2-1ubuntu1_amd64.deb.html
apt -y install ./<ダウンロードした.deb>
sudo dpkg-reconfigure dash #<No>と答える
デフォルトで入力ができないので、.bashrcなどに下記を書く。
alias launcher="unset XMODIFIERS; /ansys_inc/v195/ansys/bin/launcher"
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
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をかけるとなおる。
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
~/.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
メニューから開くが一括で変更されてしまうので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.*.0/24(rw,no_root_squash)
NFSクライアントマウントのデフォルトバージョンが新しくなって古いNFSはマウントできない時がある。
fstabにオプションを指定する(下記は-o vers=4.0相当)。
fstabにオプションを指定する(下記は-o vers=4.0相当)。
192.168.***.***/data /nfs/mountpoint nfs vers=4.0 0 0
Windowsからのアクセス
windowsの機能の有効化または無効化からNFSサポートをインストールする
レジストリでUID/GIDを設定しておく、0がルートだがlinxuの/etc/passwdから調べた値を10進数で入力する
HKEY_LOCAL_MACHINE\Software\Microsoft\ClientForNFS\CurrentVersion\Default AnonymousGid, AnonymousUid (DWORD)
変更後はcmd(管理者)でサービスリスタート
nfsadmin client stop nfsadmin client start
マウントははcmd(ユーザー)で
mount 192.168.***.***:/data -o nolock T:\
https://docs.oracle.com/ja-jp/iaas/Content/File/Troubleshooting/winNFScreatefail.htm
https://qiita.com/guson/items/37e8abb31c10712188b6
https://qiita.com/guson/items/37e8abb31c10712188b6
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