#author("2020-06-28T09:06:50+09:00","default:opencaewikistaff","opencaewikistaff")
* 3:SX-Aurora TSUBASA 上で、Windows の PrePoMax を起動させ連携するまで 【SXAT-PrePoMax1】 [#mea2fa5c]

【[[AboutNecSXAT]] に戻る】【1:[[SXAT-Setup1]] に戻る】【2:[[SXAT-CCXbuild1]] に戻る】【4:[[SXAT-PrePoMax2]] に進む】

以上の1と2の手順で、SXAT を活用して、高速ベクトル演算による Caclulix(CCX) を動作するようになりました。この計算機で CCX のみ実行させて、プリポストは別のPCなどで行う場合には、CentOS の設定で、ファイル共有や SSH 接続などを可能にして利用できます。

ここでは、SXAT を1台のみ利用して、効率的なCAEを実現する方法を考えます。専用 CCX では、ポスト処理で Exodus 形式の出力を可能にしているので、CentOS に ParaView を導入することで可能です。しかし、プリ処理やソルバー実行において、CentOS 上には適切なツールが見当たりません。

ここで Windows でも Calculix は動作して、CCX ソルバーに対して、商用CAEツールに迫る使いやすさを実現した「PrePoMax(プリポマックス)⇒ http://lace.fs.uni-mb.si/wordpress/borovinsek/?page_id=41 」があります。しかしこのツールは Windows 専用のフリーツールであり、CentOS で動作しません。

今回の SXAT では、VE(ベクトルエンジン)による高速演算を活用しますが、現状では CentOS / RedHatLinux のみでの動作であり、ソルバー CCX はVH(ベクトルホスト)の CenOS 上で動作させる必要があるので、以下の取り組みでは、仮想環境(VirualBox)上に Windows10 を動作させて、この上で PrePoMax を起動し、CentOS とファイル共有の設定により解析データを共有し、PrePoMax から CnetOS の CCX を起動する仕組みを活用します。これは「ISCPCの宇野様」が開発したツールです。実は CCX ビルドで利用した「CalculiX-Builder」の中に「utils/rccx」として入っています。

** 仮想環境 VirualBox を導入する [#e3745a42]

まず、VirulaBox の Linux 用ダウンロードページ「https://www.virtualbox.org/wiki/Linux_Downloads」に接続します。今回は「VirtualBox 6.1.10 for Linux」を入手するので、今回のVHに対応して、「 Oracle Linux 7 / Red Hat Enterprise Linux 7 / CentOS 7」リンクからダウンロードして、ファイルを保存します。今回の CentOS の Firefox では、ダウンロードフォルダに「「VirtualBox-6.1-6.1.10_138449_el7-1.x86_64.rpm」が保存されています。これを「アプリケーション>お気に入り>ファイル」で、このファイルをホームに移動しておきます。

このファイルを用いて、「cd ~」でホームディレクトリに移動して、VirtualBox を以下のコマンドでインストールします。途中 y で進めて、「完了しました!」と表示されたら成功です。

$ sudo yum install ./VirtualBox-6.1-6.1.10_138449_el7-1.x86_64.rpm

コマンド「$ virtualbox &」で起動を確認します。日本語表示の「Oracle VM VirtualBox マネージャー」が起動したら成功です。なお「アプリケーション>システムツール>Oracle VM VirtualBox」としても起動できます。導入が成功したら、インストールファイルは不要です。

** Windows10 を導入する [#e3745a42]

次に、ライセンスを持っている Windows10 のメディアを利用して、VirutlaBox 上に仮想PC「Windows10」を導入します。これは、VirtualBox の操作と Windows10 の導入方法なので、以下の資料などを参考にしてください。なお、CnetOS と Windows のログイン名は同じ方が間違いがないです。(ここでは両方が dalab としています)

設定の注意点ですが、この SXAT では96GBのメモリがあって、Windows10 に割り当てるメモリですが、PrePoMax で大規模メッシュを作ることも考えて「20GB (20480NB)」を割り当てました。また仮想HDの割当ですが、これは実際の利用分だけしか消費しないのと後からの増設が困難なので、VHのディスク2TBに対して「500」を割り当てました。また最初の設定では出てきませんが、仮想PC「Windows10」の「設定>システム>プロセッサー>」で、全16スレッド(論理コア)の中で、4コアを割り当てました。なおメモリとCPUコアは、後から設定変更が可能です。

なお CentOS の設定の都合で、DVD ドライブの利用に制限があり、マウント時に利用者のパスワードが必要です。さらに VirtualBox が DVD ドライブから起動するときにエラーになります。その時は、使用者を gpasswd を使って cdrom グループに追加して再起動すると、Windows10 のインストール DVD から起動できるようになります。

【VirtualBoxにWindows10をインストールする】⇒ https://qiita.com/hinataysi29734/items/d4e48ca673bad2f5ea03

インストールした Windows10 は、ラインセンス登録して、アップデートも最新まで済ませてください。また仮想PC上の Windows10 で共有フォルダを利用するので、VirtualBox で「デバイス>Guest Additions CD イメージの挿入…」も対応してください。

** Windows10 と連携するための準備 [#e5b159de]

仮想PCの Windows と、CentOS の間に共有フォルダを設定します。まず CentOS では、ユーザー dalab のホームディレクトリにある CCX 作業用ディレクトリ内に、共有フォルダ「Share」を作ります。Windows のウインドウ上部メニューの「デバイス>共有フォルダ…>共有フォルダ設定」を開きます。右上の追加ボタンから「共有フォルダの追加」パネルを開き、「フォルダーのパス:/home/dalab/CCXwork/Share」とすると「フォルダー名:Share」となり、「自動マウント・永続化する:チェック入れ」で「OK>OK」で終わります。Windows を再起動します。

これで Windows10 上のZドライブとして「Share」が作られます。この中にPrePoMax と専用 CCX とを連携して利用するためのフォルダ「RCCXwork」を作ります。逆に CentOS から見ると、~/CCXwork/Share の中に、RCCXwork ディレクトリが見えます。なお共有フォルダの設定として「System Volume Information」がありますがそのままにしておきます。

次に、Windows 上の PrePoMax から、CentOS 上の CCX を起動させるために、SSH を利用しますが、このシステムでは利用者は両方の管理者でもあるので、パスワードなく SSH 利用を可能にします。これによって、Windows の PrePoMax 利用者は、意識せずにVE上の CCX を利用することができます。

設定作業~
1:CentOS の端末で「ifconfig」を実行し、利用している virbr0 に設定された「IPアドレス」を確認します。~
  仮想PCの Windows から見た CentOS のネットワークアドレスで、「192.168.122.1」になります。~
2:Windows10 で、「スタート>Windows管理ツール>コマンドプロンプト」で、上記のIPアドレスに対して、ping を実行し通信を確認します。~
3:上記の端末内で、SSH の公開鍵を生成するために「ssh-keygen.exe」を実行します。~
  キーファイルがデフォルトで「C:\Users\dala/.ssh/id_rsa」に保存されるので、そのまま Enter ~
  パスフレーズは入れないとパスワード無し接続なので、そのまま Enter + Enter ~
  確認として「dir c:\Users\dalab\.ssh」と実行すると、「id_rsa・id_rsa.pub」の2つのキーファイルが生成されています。 ~
4:上記端末内で、公開鍵を共有フォルダにコピーするので、「copy c:\Users\dalab\.ssh\id_rsa.pub z:\RCCXwork」と実行します。 ~
5:CnetOS の端末で、ホームディレクトリ内に公開鍵を入れる「.ssh」フォルダを作ります。コマンドは「mkdir ~/.ssh」です。 ~
  このディレクトリのセキュリティ設定を「chmod 700 ~/.ssh」とします。 ~
6:共有フォルダにある id_rsa.pub を、~/.ssh/authorized_keys として移動します。コマンドは「$ mv ~/CCXwork/Share/RCCXwork/id_rsa.pub ~/.ssh/authorized_keys」です。 ~
  このキーファイルのセキュリティ設定を「chmod 600 ~/.ssh/authorized_keys」とします。 ~
7:Windows10 のコマンドプロンプトで「ssh -l dalab 192.168.122.1 ls」を実行します。最初の実行では、接続の確認があるので「yes」で進めます。 ~
  CentOS 上の dalab ユーザーのホームディレクトリの一覧(ls)が見られたら、SSH のパスワード無し接続が成功です。

** PrePoMax の導入と設定 [#u4d4ee8c]

それでは、CCX のプリポストツールの PrePoMax を導入して、VE上の専用 CCX と連携する設定を行います。

導入作業~
1:仮想PCの Windows 上で、PrePoMax の公式サイト(http://lace.fs.uni-mb.si/wordpress/borovinsek/?page_id=41)に接続し、下の方の項目「Downloads」のリンク「PrePomax pre and post-processor」に進みます。ダウンロードサイトに移り、公開最新版「PrePomax v0.7.0.zip」を入手します。(選択して右端の選択ボタンから、Download>Standard Downloadに進みます)~
2:ダウンロードフォルダにある「PrePomax v0.7.0.zip」を、右クリックメニューで「すべて展開」を選択し展開先に「デスクトップ」を設定し、できた「PrePomax v0.7.0」フォルダを、「C:\Program Files」へ移動させます。管理者の確認が出ますが「続行」で進めます。~
3:移動した「PrePomax v0.7.0」フォルダ内の、実行形式「ProPoMax」を起動すると、PC保護の注意が出ますが「詳細情報」から「実行」ボタンで起動したら成功です。必要に応じて、デスクトップのショートカットを作る。

なお「PrePoMax」の利用方法については、工学社刊「PrePoMaxではじめる実践構造解析」をご参照ください。⇒ https://www.kohgakusha.co.jp/books/detail/978-4-7775-2062-6

設定作業~
1:CentOS 側で「$ cp ~/CalculiX-Builder/utils/rccx/server/ccx_wrapper ~/CCXwork/system/」を実行します。この「ccx_wrapper」で CCX を起動します。このツールをエディタで開いて、以下の2項目を設定します。これは dalab ユーザーでの、この資料の設定の場合です。~
  export CCX_VEO_LIBRARY_PATH=/home/dalab/CCXwork/system/ve/lib/libccx.so ~
  CCX_CMD=/home/dalab/CCXwork/system/bin/ccx_2.16_MT ~
  CCX_WORK_DIR=/home/dalab/CCXwork/Share/RCCXwork ~

2:CentOS 側で、Windows 用起動ツールをコピーします。「$ cp ~/CalculiX-Builder/utils/rccx/client/rccx.exe ~/CCXwork/Share/」を実行します。Windows 側で、Zドライブ直下に、「rccx.exe(設定によっては.exeはなし)」 を確認します。~
3:起動した PrePoMax において、「Tools>Settings>Calculix」で設定パネルを表示したら、以下の3つの項目を設定します。~
  Work directory: Z:\RCCXwork ~
  Executable: Z:\rccx.exe ~
  Number of processors: 8(SXATの物理コア)~
4:このパネルの「Environment variables(環境変数)」を以下の4項目を追加します。「OK>OK」で完了です。 ~
  CCX_SERVER: 192.168.122.1 (LinuxサーバのIPアドレス) ~
  CCX_USER: dalab (Linuxサーバ側のユーザ名) ~
  CCX_CMD: /home/dalab/CCXwork/system/ccx_wrapper (Linuxサーバ上に配置したccx_wrapperの場所のフルパス) ~
  CCX_DEFAULT_SOLVER: SX-AUR_SCALING (CCXでデフォルトで使用するソルバを指定・これはVE用最速ソルバー) ~
  以上で、「OK」「OK」で設定する。~
5:PrePoMax から解析を実行し、正常に「Job finished」で終了し、「Results」ボタンから可視化もできたら成功です。~
  確認として、CentOS 側の共有フォルダ「/home/dalab/CCXwork/Share/RCCXwork」に、解析ファイル一式が保存されています。



【[[AboutNecSXAT]] に戻る】【1:[[SXAT-Setup1]] に戻る】【2:[[SXAT-CCXbuild1]] に戻る】【4:[[SXAT-PrePoMax2]] に進む】


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS