3月 « 2012 « ACS NEWS

2012 年 3 月 のアーカイブ

ANSYS Ver.14 GPU性能テストリポート

2012 年 3 月 29 日 木曜日

ANSYS Ver.14 Win64版GPU性能を測定してみました。
GPUを使用するためには、HPCパックオプション(有償)が必要です。
今回はデモライセンスを借用してテストしました。

使用マシンは、以前紹介した MASAMUNE です。
テストデータは、LSDYNA GPU版テストと同じものを使います。

GPUアクセラレータを使用するためには、CUDA実行環境が必要ですが、
ANSYSの場合必要なライブラリは、ANSYSインストールファイルに組み込
まれています。

1. GPU使用オプション

 ここではコマンドラインでの起動方法を紹介します。
 (勿論 GUI からでも設定できます)

  CMD> ansys140.exe -p ライセンス -b -s read -I 入力データ -O 出力.out -np 2 -acc nvidia -J ジョブ名

  ここで
   -np : 使用プロセッサ数。 デフォルト=2
   -acc nvidia : GPUを使用する

2. 使用できるソルバータイプ

 EQSLVコマンドにおける SPARSE, JCG, PCG が GPUアクセラレータに
 対応しています。
 これらのソルバタイプを設定した場合でも、マトリクスの状況が好ましくない? 
 ような場合GPUは使われなくなるようです。

3.  GPU使用の確認

 -acc nvidiaをつけてANSYSを実行、終わったら outファイルを見てください。

——————— OUT の例——————————

 *** NOTE ***                            CP=     53.540   TIME= 14:14:32
 このANSYSの実行では、GPUアクセラレータの機能を使
 用します。  [acc_warning.3030]
 スパース法ソルバーは節点1075、UYで
 最大ピボット47.01996587を検出しました。  [bcs_pivotPrint.3000]

後半の部分では

+——————— A N S Y S   S T A T I S T I C S ————————+

Release: 14.0       Build: UP20111024   Platform: WINDOWS x64
Date Run: 03/13/2012   Time: 14:15
Windows Process ID:         4016

Compiler: Intel(R) FORTRAN Compiler Version 11.1.0  (Build: 20100414)
          Microsoft(R) Visual C/C++ Compiler Version 15.0  (Build: 30729)
          Intel(R) Math Kernel Library Version 10.3.3 Product Build 20110314

Number of cores:   2 (Shared Memory Parallel)

GPU Acceleration: NVIDIA Library Requested and Enabled

赤で示したのが、GPUを使った証拠です。

4. テスト結果

 ソルバーは、スパース法とPCG法を使用しました。
 同じデータなのでLSDYNAとの比較も気になるところですが、要素特性の違い、
 反復法においてはデフォルトの判定値の違いで計算時間は大幅に異なるので
 ANSYS単体での測定結果のみを示します。

(1) SOLID2 (192261Nodes, 179000HEXA, LINEAR STATICS)

   

(2) SOLID3 (558701Nodes, 540000HEXA, LINEAR STATICS)

   

    赤は、メインメモリ不足によるアウト・オブ・コアに突入したことを示します。

  outファイルにも

 SPARSE MATRIX DIRECT SOLVER.
  Number of equations =     1688689,    Maximum wavefront =     63
  Memory allocated for solver =              2636.955 MB
  Memory required for in-core =             30494.214 MB
  Optimal memory required for out-of-core =  2511.386 MB
  Minimum memory required for out-of-core =   366.628 MB

 *** NOTE ***                            CP=    166.484   TIME= 14:59:09
 Sparse Matrixソルバーは現在アウトオブコアメモリーモー
 ドで実行されています。このメモリーモードでは、メモ
 リーとハードドライブの使用量が良いバランスに保たれ、
 効率的な解析時間がもたらされます。  [bcs_warning.3500]

 *** NOTE ***                            CP=    170.805   TIME= 14:59:13
 このANSYSの実行では、GPUアクセラレータの機能を使
 用します。  [acc_warning.3030]
 スパース法ソルバーは節点475024、UYで
 最大ピボット26.32650407を検出しました。  [bcs_pivotPrint.3000]

 「効率的な解析時間がもたらされ」とありますが、要するにメモリが足りない
 のでハードディスク使用して遅くなるよ!! というメッセージです。

 ANSYSでもLSDYNAでも 主メモリ24GBは明らかに不足でした。
 (MASAMUNEは、24GBが最大なのでこれ以上は無理)
 予算があるなら、沢山メモリを搭載できるハードを選んでください。

 PCG法+GPUの効果は微妙です。効いたかどうかわからない、ですね。
 PCG法はメモリ少なく、計算時間も速いのでベストなように見えますが
 問題の条件により常に最速であるとは限りません。

(3) SHELL (78481Nodes, 78000QUAD4, LINEAR STATICS)

 効果ないのは分かっていますが、やってみました。

    

 まったく効果ありませんでした。

 今回のテストは、有償オプションを使用しました。
 どんな問題を解くかによってGPUによる性能向上は違ってきますので、
 効果の程はユーザの判断にお任せします。

 

lsprepost 3.2 3/17版

2012 年 3 月 22 日 木曜日

またまた更新があったので、サイトにアップしておきました。
Win, Linux版が対象です。

LSDYNA 971 R6正式ユーザマニュアル KEY編

2012 年 3 月 20 日 火曜日

Ver.971 May.2007から Ver971R6 Feb.2012における追加機能紹介の続きです。

材料データ以外の、追加・変更があったキーワードを抜き出しました。
  黒:新規追加
  赤:変更あり
同じVer971ですが、大幅に変わっていることがわかると思います。
・・・・Ver.971R6 → Ver.976 程度に変更しても良かったのでは?

GETTING STARTED – long Format Input

*AIRBAG

  *AIRBAG_OPTION1_{OPTION2}_{OPTION3}_{OPTION4}

    SIMPLE_PRESSURE_VOLUME option:

    SIMPLE_AIRBAG_MODEL option:

    ADIABATIC_GAS_MODEL option:

    WANG_NEFSKE options:

    LOAD_CURVE option:

    LINEAR_FLUID option:

    HYBRID and HYBRID_JETTING options:

    HYBRID_CHEMKIN option:

  *AIRBAG_PARTICLE

*ALE

  *ALE_AMBIENT_HYDROSTATIC

 *ALE_FAIL_SWITCH_MMG_{OPTION}

  *ALE_COUPLING_NODAL_CONSTRAINT

  *ALE_FAIL_SWITCH_MMG_{OPTION}

  *ALE_FRAGMENTATION

  *ALE_FSI_TO_LOAD_NODE

  *ALE_REFINE

*BOUNDARY

  *BOUNDARY_ALE_MAPPING

  *BOUNDARY_COUPLED

  *BOUNDARY_CYCLIC_{OPTION}

  *BOUNDARY_PAP

  *BOUNDARY_PORE_FLUID_OPTION

  *BOUNDARY_PRECRACK

  *BOUNDARY_PRESCRIBED_FINAL_GEOMETRY

 *BOUNDARY_PRESCRIBED_ORIENTATION_RIGID_OPTION

  *BOUNDARY_PWP_OPTION

  *BOUNDARY_RADIATION_SEGMENT_VF_OPTION

  *BOUNDARY_SPC_OPTION1_{OPTION2}_{OPTION3}

*COMMENT

*CONSTRAINED

  *CONSTRAINED_COORDINATE_{OPTION}

  *CONSTRAINED_INTERPOLATION_SPOTWELD

  *CONSTRAINED_JOINT_COOR_OPTION_{OPTION}_{OPTION}_{OPTION}

  *CONSTRAINED_JOINT_STIFFNESS_OPTION_{OPTION}

  *CONSTRAINED_JOINT_USER_FORCE

  *CONSTRAINED_NODE_INTERPOLATION

 *CONSTRAINED_SPR2

*CONTACT

  *CONTACT_OPTION1_{OPTION2}_{OPTION3}_{OPTION4}_{OPTION5}_{OPTION6}

  *CONTACT_ …_ORTHO_FRICTION_ …

    Optional Card D

    Optional Card E

   *CONTACT_2D_OPTION1_{OPTION2}_{OPTION3} 

    *CONTACT_2D_NODE_TO_SOLID Options:

*CONTROL

  *CONTROL_ADAPTIVE_SOLID_TO_SPH

 *CONTROL_CPM

  *CONTROL_DISCRETE_ELEMENT

  *CONTROL_FORMING_AUTO_NET

  *CONTROL_FORMING_AUTOPOSITION_PARAMETER_{OPTION}

  *CONTROL_FORMING_ONESTEP_OPTION

  *CONTROL_FORMING_PARAMETER_READ

  *CONTROL_FORMING_PRE_BENDING

  *CONTROL_FORMING_SCRAP_FALL

  *CONTROL_FORMING_STONING

  *CONTROL_FORMING_TIPPING

  *CONTROL_IMPLICIT_CONSISTENT_MASS

  *CONTROL_IMPLICIT_FORMING

  *CONTROL_IMPLICIT_MODES_{OPTION}

  *CONTROL_IMPLICIT_STATIC_CONDENSATION_{OPTION}

  *CONTROL_MPP_CONTACT_GROUPABLE

  *CONTROL_MPP_DECOMPOSITION_ARRANGE_PARTS

  *CONTROL_MPP_DECOMPOSITION_BAGREF

  *CONTROL_MPP_DECOMPOSITION_DISTRIBUTE_ALE_ELEMENTS

  *CONTROL_MPP_DECOMPOSITION_DISTRIBUTE_SPH_ELEMENTS

  *CONTROL_MPP_DECOMPOSITION_ELCOST

  *CONTROL_MPP_DECOMPOSITION_OUTDECOMP

  *CONTROL_MPP_DECOMPOSITION_RCBLOG

  *CONTROL_MPP_DECOMPOSITION_PARTS_DISTRIBUTE

  *CONTROL_MPP_DECOMPOSITION_PARTSET_DISTRIBUTE

  *CONTROL_MPP_DECOMPOSITION_RCBLOG

  *CONTROL_MPP_DECOMPOSITION_SCALE_CONTACT_COST

  *CONTROL_MPP_DECOMPOSITION_SCALE_FACTOR_SPH

  *CONTROL_MPP_IO_LSTC_REDUCE

  *CONTROL_MPP_IO_NOBEAMOUT

 *CONTROL_MPP_IO_NOFAIL

  *CONTROL_PORE_FLUID

  *CONTROL_PORE_AIR

  *CONTROL_START

  *CONTROL_STEADY_STATE_ROLLING

 *CONTROL_UNITS

*DAMPING

  *DAMPING_PART_MASS_{OPTION}

  *DAMPING_PART_STIFFNESS_{OPTION}

  *DATABASE_RCFORC_MOMENT

  *DATABASE_CPM_SENSOR

  *DATABASE_EXTENT_OPTION

    D3PART option:

    INTFOR option:

  *DATABASE_FREQUENCY_BINARY_OPTION

  *DATABASE_MASSOUT

  *DATABASE_NODAL_FORCE_GROUP

  *DATABASE_PROFILE

  *DATABASE_PWP_FLOW

  *DATABASE_PWP_OUTPUT

  *DATABASE_PAP_OUTPUT

*DEFINE

  *DEFINE_ADAPTIVE_SOLID_TO_SPH_{OPTION}

  *DEFINE_BOX_{OPTION}

  *DEFINE_BOX_ADAPTIVE_{OPTION}

  *DEFINE_BOX_COARSEN_{OPTION}

 *DEFINE_BOX_SPH_{OPTION}

  *DEFINE_COORDINATE_SYSTEM_{OPTION}

  *DEFINE_CPM_BAG_INTERACTION

  *DEFINE_CPM_CHAMBER

  *DEFINE_CPM_GAS_PROPERTIES

  *DEFINE_CPM_VENT

  *DEFINE_CURVE_COMPENSATION_CONSTRAINT_{OPTION}

  *DEFINE_CURVE_DUPLICATE

  *DEFINE_CURVE_FLC

  *DEFINE_DE_ACTIVE_REGION

  *DEFINE_DE_TO_SURFACE_COUPLING

  *DEFINE_ELEMENT_DEATH_OPTION

  *DEFINE_ELEMENT_GENERALIZED_SHELL

  *DEFINE_ELEMENT_GENERALIZED_SOLID

  *DEFINE_FILTER

 *DEFINE_FORMING_BLANKMESH

  *DEFINE_FRICTION_ORIENTATION

 *DEFINE_FUNCTION*

  *DEFINE_FUNCTION_TABULATED

 *DEFINE_GROUND_MOTION

  *DEFINE_ MULTI_DRAWBEADS_IGES

  *DEFINE_SPH_TO_SPH_COUPLING_{OPTION}

  *DEFINE_SPOTWELD_MULTISCALE

  *DEFINE_STAGED_CONSTRUCTION_PART_{OPTION}

  *DEFINE_TABLE_2D

  *DEFINE_TABLE_3D

  *DEFINE_TRACER_PARTICLES_2D

  *DEFINE_ TRIM_SEED_POINT_COORDINATES

*ELEMENT

  *ELEMENT_BLANKING

  *ELEMENT_BEAM_PULLEY

  *ELEMENT_DIRECT_MATRIX_INPUT_{OPTION}

  *ELEMENT_DISCRETE_{OPTION}

  *ELEMENT_DISCRETE_SPHERE

  *ELEMENT_GENERALIZED_SHELL

  *ELEMENT_GENERALIZED_SOLID

  *ELEMENT_INTERPOLATION_SHELL

  *ELEMENT_INTERPOLATION_SOLID

  *ELEMENT_MASS_MATRIX_{OPTION}

  *ELEMENT_SHELL_NURBS_PATCH

*EOS

  *EOS_MIE_GRUNEISEN

*FREQUENCY_DOMAIN

  *FREQUENCY_DOMAIN_ACOUSTIC_BEM_{OPTION}_{OPTION}

  *FREQUENCY_DOMAIN_ACOUSTIC_FEM

  *FREQUENCY_DOMAIN_FRF

  *FREQUENCY_DOMAIN_RANDOM_VIBRATION

  *FREQUENCY_DOMAIN_RESPONSE_SPECTRUM

  *FREQUENCY_DOMAIN_SSD

*INCLUDE

  *INCLUDE_MULTISCALE_SPOTWELD

  *INCLUDE_TRIM

*INITIAL

  *INITIAL_AIRBAG_PARTICLE_POSITION

  *INITIAL_ALE_MAPPING

  *INITIAL_AXIAL_FORCE_BEAM

  *INITIAL_FIELD_SOLID

  *INITIAL_HYDROSTATIC_ALE

  *INITIAL_INTERNAL_DOF_SOLID_{OPTION}

  *INITIAL_PWP_DEPTH_{OPTION}

  *INITIAL_STRAIN_SOLID_{OPTION}

  *INITIAL_STRESS_DEPTH_{OPTION}

  *INITIAL_STRESS_SPH

  *INITIAL_VELOCITY_GENERATION_START_TIME

*INTERFACE

  *INTERFACE_COMPENSATION_NEW_{OPTION}

  *INTERFACE_COMPONENT_FILE

  *INTERFACE_COMPONENT_OPTION1_{OPTION2}

  *INTERFACE_LINKING_FILE

  *INTERFACE_LINKING_NODE_OPTION

  *INTERFACE_SSI_{OPTION}_ID

  *INTERFACE_SSI_AUX_{OPTION}

  *INTERFACE_SSI_AUX_EMBEDDED_{OPTION1}_{OPTION2}

  *INTERFACE_SSI_STATIC_{OPTION}_ID

*LOAD

 *LOAD_BLAST_ENHANCED

  *LOAD_BLAST_SEGMENT

  *LOAD_BLAST_SEGMENT_SET

  *LOAD_BODY_GENERALIZED_OPTION

  *LOAD_ERODING_PART_SET

  *LOAD_GRAVITY_PART_{OPTION}

  *LOAD_REMOVE_PART_{OPTION}

  *LOAD_SEGMENT_SET_ANGLE

  *LOAD_SEISMIC_SSI_OPTION1_{OPTION2}

  *LOAD_SPCFORC

  *LOAD_STEADY_STATE_ROLLING

  *LOAD_STIFFEN_PART_{OPTION}

  *LOAD_THERMAL_CONSTANT_ELEMENT_OPTION

  *LOAD_THERMAL_VARIABLE_BEAM_{OPTION}

  *LOAD_THERMAL_VARIABLE_ELEMENT_OPTION

*NODE

  *NODE_{OPTION}

  *NODE_MERGE_SET

  *NODE_MERGE_TOLERANCE

*PARAMETER

  *PARAMETER_{OPTION}

  *PARAMETER_EXPRESSION_{OPTION}

*PART

  *PART_{OPTION1}_{OPTION2}_{OPTION3}_{OPTION4}_{OPTION5}

  *PART_ANNEAL

  *PART_DUPLICATE

*PERTURBATION

  *PERTURBATION_OPTION

*SECTION

  *SECTION_ALE1D

  *SECTION_ALE2D

  *SECTION_BEAM_{OPTION}

  *SECTION_BEAM_AISC

*SENSOR

  *SENSOR_DEFINE_ELEMENT_{OPTION}

  *SENSOR_DEFINE_NODE_{OPTION}

*SET

  *SET_BEAM_INTERSECT

  *SET_NODE_INTERSECT

  *SET_SEGMENT_ADD

  *SET_SEGMENT_INTERSECT

  *SET_SHELL_INTERSECT

  *SET_SOLID_{OPTION}

  *SET_SOLID_INTERSECT

*TERMINATION

  *TERMINATION_DELETED_SOLIDS_{OPTION}

  *TERMINATION_SENSOR

*USER

  *USER_INTERFACE_OPTION

  *USER_LOADING_SET

LSDYNA 971 R6正式ユーザマニュアル *MAT編

2012 年 3 月 19 日 月曜日

少し前に、Ver.971 R6.0のリリースノートを掲載しました。
これは、R5.1.1からR6.0への差分の説明です。
本当は翻訳しようと思っていましたが、R5.1.1が分かっていなければ
理解できない部分が多いので、掲載のみとしておきます。

3月になって、LSDYNA Ver.971 R6の正式マニュアルがやっとリリースされました。
前回の正式マニュアルが、May.2007だったので、5年近く経過しています。
同じ Ver.971ですが、機能は随分増えています。

そこで、正式マニュアルで機能を増えた部分を拾い出してみました。
始めに、MAT編から紹介します。


以下の材料モデル等が追加されています。

*MAT_ADD_AIRBAG_POROSITY_LEAKAGE

*MAT_ADD_PERMEABILITY

*MAT_ADD_PORE_AIR

*MAT_036/*MAT_3-PARAMETER_BARLAT_{OPTION}

*MAT_091-092/*MAT_SOFT_TISSUE_{OPTION}

*MAT_134/*MAT_VISCOELASTIC_FABRIC

*MAT_160/*MAT_ALE_INCOMPRESSIBLE

*MAT_202/*MAT_STEEL_EC3

*MAT_208/*MAT_BOLT_BEAM

*MAT_219/*MAT_CODAM2

*MAT_220/*MAT_RIGID_DISCRETE

*MAT_221/*MAT_ORTHOTROPIC_SIMPLIFIED_DAMAGE

*MAT_224/*MAT_TABULATED_JOHNSON_COOK

*MAT_225/*MAT_VISCOPLASTIC_MIXED_HARDENING

*MAT_226/*MAT_KINEMATIC_HARDENING_BARLAT89

*MAT_230/*MAT_PML_ELASTIC

*MAT_230/*MAT_PML_ELASTIC_FLUID

*MAT_231/*MAT_PML_ACOUSTIC

*MAT_232/*MAT_BIOT_HYSTERETIC

*MAT_233/*MAT_CAZACU_BARLAT

*MAT_234/*MAT_VISCOELASTIC_LOOSE_FABRIC

*MAT_235/*MAT_MICROMECHANICS_DRY_FABRIC

*MAT_236/*MAT_SCC_ON_RCC

*MAT_237/*MAT_PML_HYSTERETIC

*MAT_238/*MAT_PERT_PIECEWISE_LINEAR_PLASTICITY

*MAT_240/*MAT_COHESIVE_MIXED_MODE_ELASTOPLASTIC_RATE

*MAT_241/*MAT_JOHNSON_HOLMQUIST_JH1

*MAT_242/*MAT_KINEMATIC_HARDENING_BARLAT2000

*MAT_243/*MAT_HILL_90

*MAT_244/*MAT_UHS_STEEL

*MAT_245/*MAT_PML_{OPTION}TROPIC_ELASTIC

*MAT_246/*MAT_PML_NULL

*MAT_255/* MAT_PIECEWISE_LINEAR_PLASTIC_THERMAL

*MAT_256/*MAT_AMORPHOUS_SOLIDS_FINITE_STRAIN

*MAT_266/*MAT_TISSUE_DISPERSED

*MAT_267/*MAT_EIGHT_CHAIN_RUBBER

*MAT_272/*MAT_RHT

*MAT_276/*MAT_CHRONOLOGICAL_VISCOELASTIC

次回は、MAT以外のキーワードを掲載します。





Yo Yamgattaについて

2012 年 3 月 15 日 木曜日

私の本名は、HPでもおわかりのように、
「山形 陽」

ローマ字にすると 普通は、「YO YAMAGATA」でしょう。
(パスポートもこれです)

<LAST NAME>

しかし、米国人にとって YAMAGATAは ”A” が多すぎて
とでも発音しづらいらしい。
ホテルのチェックインなど何度か聞き返されたり、うっとうしく。

< First NAME >

Yoだけです、短い。
カリフォルニア英語では、”Yo=HELLO” だよ! 
( by ハロルド・トーマス、現在 Altair Engineering )

で、”ハロー! ヨー” ”ハロー ヨー”
と繰り返し楽しんでもらえるので、海外的には気に入ってます。

< ある日オークランド空港にて >

以前、LSTC社に単独で訪問した際、ピックアップサービスを
お願いしておきました。
(当時勤めていた会社は、海外レンタカー運転でした)

LSTCにお願いして、LSTCは近所のピックアップサービスに
お願いすることになります。 そしてオークランド空港に着きました。
ゲートを出た所で、「迎えは来てるかな????」と探したところ

「YAMGATTA」

というプラカードを持ったおじさんを発見。きっと自分に違いない!!!
声をかけたら、やはり私のお迎えドライバーでした。

推測:ドライバーのおじさんは、電話で注文もらってプラカードを作成。
聞いた通りに書いたら、「YAMGATTA」となったのでしょう。
きっと米国人には聞き取りやすいに違いない!! 
天光が差した感じ、「いつかはスペルはこれにしよう」っと。

文章だけじゃ寂しいので、古い写真2枚

1996年頃。Harold Thomas, & Y.K.Shyyさん、私
昔VMAに居た2名が色々あって、デンバーからロスに戻ってしまった。
ハロルドさんがロングビーチにマイホームを買ったのをお祝いして、
テラスでバーベキュー。

1999年頃。サンフランシスコの少し北、ノースバークレイにあった
おすし屋さん 「YUSAN」でのスナップショット。
YUSANについては後日紹介しようと思います。

 

LSPREPOST3.2更新、MPP-DYNAテスト結果追加

2012 年 3 月 15 日 木曜日

1. LSPRPEOST 3.2

lsprepost 3.2が再び更新されたので、アップしておきました。
修正箇所に関するアナウンスはありませんが、ABAQUS inp
ファイルのインポート機能が修正されていることを確認しました。

LSPREPOST3.2 Win32,Win64, Linux版が対象です。

2. MPPDYNAベンチマーク結果追加

前回のレポートでは、2ノードまでの結果でしたが、今回新規
マシンを仲間に入れて、3ノードでの結果を測定しました。

右端の結果が今回、他は前回の結果からの抜粋です。
同じ 12CPUでも、やはりある程度ノードを増やした方が性能は向上します。

 

 

LSDYNA GPU版テストリポート

2012 年 3 月 14 日 水曜日

LSDYNA 971R6 GPU版のテストリポートです。
GPU版は、正式公開ではありません。 β版、テスト評価用です。

LSDYNA GPU版は、追加ライセンス不要です。
保守契約ユーザは、(Teslaを買えば)誰でも使用できます。

———————————————————————

<<<リリースノート要約>>>

1.モジュール

モジュールは以下の2モジュールのみ。

mpp971_d_r6.0.0_71488_intel64_intel_rhel54_openmpi151_hybrid

ls971_d_r6.0.1_72099_intel64_intel_rhel54_gpu

どちらも、Linx64 Cent OS 用。NVIDIA GPUのみ対応。

2. GPUが効果的かどうかの判断

messageファイルのタイムログ

Implicit Lin. Alg. … 2.0531E+02   77.78     5.6105E+01   69.02

最後の数値は、WCT( wall CLock Time:経過時間)の比率。
この比率が高ければGPU使用メリットがある。
50%以下ならメリットは少ない。

3. *control_implicit_solver LPRINT=2

Implicit解析ソルバ情報をプリントすること。
GPUは、ソリッド要素において効果的である。
‘no. of deferred pivots’の表示に注意する。この値がゼロでない
の処理は、ホスト側で実行されるべきであるので、GPU処理
性能は低下する。

4.ライブラリ

SMP,MPP版共に liblstc_gpu.so を含むので、これを任意の場所
に置き環境変数 LD_LIBRARY_PATH で設定すること。

……………..  LSTC社でのベンチマーク結果 ……………

———————————————————————

 

ソルバータイプ

*control_implicit_solver におけるソルバータイプに関して
記述がなかったので、担当者へ確認しました。

SMP : LSOLVR=4または5 がGPU使用。他は使用しない。
MPP : LSOLVRの設定は関係なく、無条件でGPU使用。

MPP版

% mpirun -np で指定する各ノードには全てGPUが必要です。
私の場合、1台しか持っていないので、-np 1 でしか使えません。
これはでMPPを使う意味がないので、今回はSMP版のみテストします。
(気付く前に、platform MPI版も作ってと、お願いしてしまった)

インストール

難しい点はありません。ファイルをダウンロード、解凍してパスの
通っている場所に置くだけ。
解凍すると、liblstc_gpu.so も出てくるので、

/usr/loca/lstc_gpu/lib

の下に置いたら、.cshrc なら

setenv LD_LIBRARY_PATH /usr/loca/lstc_gpu/lib

等とします。

ついでに、ls971_d_r6.0.1_72099_intel64_intel_rhel54_gpu 
と毎回打ち込むのは、精神的ダメージが大きいので

% ln -s ls971_d_r6.0.1_72099_intel64_intel_rhel54_gpu ls971gpu

とでもして、シンボリックリンクを作っておきます。
以降の実行は、 %ls971gpu でOK。

動作確認

即終了する程度の小さなデータを用意して、
(ちょっとドキドキしながら)

%ls971gpu i=test.k memory=2500m

(搭載メモリが24GBなので、
データ領域=2500m double word=20GB程度を設定)

実行が始まります。そして、

 BEGIN implicit statics  step 1 t= 1.0000E+00 
  Memory required for implicit mtx strg  :      5656794
ls971gpu: symbol lookup error:
ls971gpu: undefined symbol: cublasAlloc

落ちてしまった!!!!
これで諦めてはいけない。


LSTC担当者に相談した所、CUDAライブラリの場所ってどうなの?

setenv CUDA_HOME /opt/cuda/lib64

みたいにちゃんと設定してね、次回からリリースノートにも書いておくからさ。

みたいな明快な解答をもらいました。
色々調べた結果、CUDAライブラリバージョンの相違が原因でした。
今回のハードは、CUDAがプレインストールされており、

/usr/local/cuda40/cuda

にあり、バージョンは、4.0.17です。

NVIDIAのサイトから、cudatoolkit_4.1.28_linux_64_rhel5.x.run

をダウンロードして、root権限で

# sh cudatoolkit_4.1.28_linux_64_rhel5.x.run

インストールの場所は、開発元と同じく /opt/cudaにしました。
途中、古いCUDAは消しましょうか?と聞かれますが、
「いいえ、消さないで残したまま」にしました。
どっちでも良かったみたいです。

# vi /etc/ld.so.conf
古いCUDAのライブラリパスをコメントアウト。
/opt/cuda/lib64 を追加

#/sbin/ldconfig

CUDAバージョン4.1.28を入れて lsdyna-gpuが使用できるようになりました。

速くなるのか確認

テストデータ SOLID2.dyn   線形製解析
     節点数*192261, ソリッド要素*179000(要素タイプ=18)
Solver Type=5、NCPU=1

結果は、GPUなし=439秒、 GP有り=124秒

かなり速くなったようなので、ベンチマークへ突入します。

ベンチマーク結果

SOLID2  (N*192261, SOLID*179000)
SOLID3  (N*557701, SOLID*540000)
SHELL   (N*78481, SHELL*78000)

   MASAMUNEによるLSDYNA GPU版テスト結果 (経過時間、秒)


( – は効果見込めないので実施せず)

テスト問題SOLID3を実メモリ上で解くには、64GB程度が必要でした。
今回のハードは、24GBしかないので、SOLID3の赤の数値はアウトオブコア
になってしまい、ディスクIOに時間が取られてしまったことを示しています。

先ずは、シェル要素では確かに効果ありませんでした。
同じソルバタイプ#5では、GPUにより速度向上し、アウトオブコア状態でも
恩恵にあずかれます。      ただし、GPUが効果的な”ソリッド要素らしい”
問題では、
ITER(反復解法)も効くわけで、何とも微妙です。

#6BCSソルバは、相当条件の悪いマトリクスで強いはずなので、今回のベンチ
マークでは明らかに不利な結果になりました。

最初にも書きましたが、GPUを買うのみで使用可能。
追加ライセンスは不要です。今後更に速くなると思われます。
GPU版試す、試さない、はユーザの判断にお任せします。

 





 

 

GPU評価マシンの基本性能テスト

2012 年 3 月 10 日 土曜日

基本性能って何? と思うでしょうが、ここでは先日導入した GPUマシン 
MASAMUNEのGPUを使わない処理(=普通のLSDYNA)の計算速度
測定結果を紹介します。

MPP版で紹介したマシン=Core i7 980  3.33GHz
今回のマシン = Core i7 990EX 3.45GHz

モデル名に大きな番号がついてます、そう、何でも大きな番号の方が高性能
(かつ高価)、これ世間の常識ではありませんか!!!

何だかとても速そうな予感がします。

同じ neon モデルを使って測定した結果です。

参考までに、前回の結果もつけておきました。
Linuxでは、それなりに速くなっています。納得。

が、Win64で比べると、あれ???? です。殆ど引き分け。
3.45/3.33 (+EX) 倍も速い筈じゃなかったの?

「1ラウンドKO宣言」したのに、最終ラウンドまでもつれてしまい、判定で
ギリ勝ちしたような状況。

ここは、「水冷で静かなマシンだから、こういう結果は受け入れるしかない」
「ファンの皆様には、まことに申し訳なく思う」
と納得することにします。

次は、GPUでの性能をテストします。

 

 

lsprepost Chain-Model

2012 年 3 月 9 日 金曜日

本日、lsprpeost win64版、CenOS4版、CentOS5版をダウンロードサイトに
アップしました。   Win64版はベータリリースですが、今回の機能を試す
ためにはこのバージョンが必要です。
(古いバージョンではうまく表示されないケースがある)

lsprepost マルチステージ解析結果を順番に表示する機能

“Chain-Model” の紹介です。

2/24に紹介したマルチステージメタルフォーミングの結果表示です。

計算内容と結果ファイルは以下です。

case5 – 自重によるブランクのそり解析。 case5.d3plot
case10 – フォーミング解析。 case10.d3plot
case15 – トリミング解析。 case15.d3plot
case20 – スプリングバック解析。 case20.d3plot

lsprepostを起動して、case5の結果を読み込みます。

 

見たい表示を設定

 

 

Open case10.d3plot, 表示設定

 

 

Open case15.d3plot, 表示設定

 

 

Open case20.d3plot, 表示設定

 

全結果を読み込み完了。 Chain-Model を設定

 

case15, case20のタイトルが文字化けしてますけど、気にしないで
1から順に APPLY

全部 Applyしたら、Chain

 

設定した順にアニメーション表示されます。

GIFアニメにして、そのまま貼り付けます。


 

未だ不安定らしく、あまり色々触っていると落ちるかもしれません。
安定性は次の正式リリースに期待しましょう。

GPU性能評価は、情報入手してこれから試してみます。

 

 

OpenSUSE vsftpの設定(でのつまずき)

2012 年 3 月 7 日 水曜日

今、GPU評価マシン MASAMUNEの CentOSをセットアップ中です。
ファイルのマウントや、ユーザIDの設定など、既存のOpenSUSE機から
コピーしようと思い、FTPを開通することにしました。

数年前から、FTPは、”vsftp” というセキュリティーが厳しいものになっていて
デフォルトでは、閉じられています。(=他マシンからは入れない)

そこで、Suseの前に座って、FTPを空ける作業を始めました。

注意)コマンドの順番はうる覚えなので、合っていません。
    リアルにvsftpの設定したいなら、以下は参考にしないでください。

# chkconfig –list vsftpd

<カチャカチャカチャ --- キーボードの音>

# chkconfig vstpd on

<カチャカチャカチャ>

# service vsftpd start

<カチャカチャカチャ>

# vi /etc/vsftpd.conf

<カチャカチャカチャ>

# /etc/init.d/xinetd restart

大体終わったので、suse上でテストしてみます。

(suse:foo)foo% ftp suse
Connected to suse.
220 “Welcome to suse FTP service.”
Name (amtec:foo): foo
331 Please specify the password.
Password:  自分のパスワード
530 Login incorrect.
ftp: Login failed.
ftp> bye
221 Goodbye.

はい、バイバイ。何故だ???  どこかがおかしい。
ここから色々いじり始めました。
 - Suse Firewallの設定
  – 匿名ftp 許す、許さない等、vsftpd.confの設定組み合わせ
 - /etc/ftpusers
 - 等々

<カチャカチャカチャ>

2時間経過しました。まだできません。

で、他のユーザIDで試すことにしました。

(suse:foo)foo% ftp suse
Connected to suse.
220 “Welcome to suse FTP service.”
Name (suse:foo): friend
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

出来た!!! 大成功!!!

ところで、カチャカチャ2時間ほどやっていたが、設定自体大して変わっていない。
あれ? 何故だ?  やっと気がついた。

「自分のパスワードを間違えてただけ」 が原因。

帰ろう。

 

ANSYS 14.0インストール(での注意)

2012 年 3 月 7 日 水曜日

ANSYS 14.0を自分のPCにインストールしました。
いつものことなのですが、LSDYNAの設定が変更されてしまいます.。
インストール時、LSDYNAを選択しなくても変更sれます。

・インストール前
環境変数 LSTC_LICENSE=network

・インストール後
環境変数 LSTC_LICENSE=ANSYS

この状態でLSDYNAを実行すると、こんな感じです。

起動ウインドウには、
 Please contact your ANSYS Sales Representative or ANSYS, Inc.

何故だ????   一瞬パニックになります。 ここは落ち着いて、

「コントーロールパネル」-「システム」-「詳細設定」-「環境変数」から

LSTC_LICENSE=network

に変更すれば元に戻ります。

GPUコンピューティング評価マシン

2012 年 3 月 7 日 水曜日

今大流行の兆しがある、GPUコンピューティング。
手元にマシンがないと話題についていけない、これはマズイと購入決定。
少し前に注文しておいたハードが3/5に届きました。

G-DEPさんから購入した MASAMUNE です。
正宗”  日本酒っぽい、いい名前です。
性能が出るよう、お祓いして神酒かけたくなってきますね!!

スペックは、

CPU : Intel Core i7-990EX
GPU : NVIDIA TESLA C2075 (6GB)*1
MOTHER : ASUS X58chipset (水冷ユニット)
HDD : 2TB * 2
OS : Win6-Pro 64bit,     Cent OS(64bit)

見た感じ:結構デカいが、机の下には入る。
音:さすがに水冷、音はしません。

使用しなかったパーツもつけてもらえます。
どろどろケーブルが好きな人には、至福のひととき。

私は使わないので、そのまま倉庫へ。

モニタは、アマゾンで27インチを購入。

これは、Windowsの設定が大体終わって、CentOSの設定をしているところ。
マルチブートは、最初の設定に時間がかかりますね。
ホスト名決めて、ネットワーク、、、ソフトのインストール、、、、、
RedHat系は、久しぶり、、なので頭使います。

設定が完了したら、ANSYS 14.0 と LSDYNA 971R6 のGPU性能をリポート
する予定です。

 ちなみに、表示にも Tesla C2075を使う設定になっています。
(高いんだから)表示も速くなるんだろう!と購入前は期待していました。
しかしです、OpenGLを試したところ、そんなに速くありません。
GeForce 250と比べたら、ちょっと、ではなく、あっさりと負けました。

横浜出張

2012 年 3 月 6 日 火曜日

今日は、横浜関内近くにあるコラボレーション・テクノロジーズへ出張です。

仕事中の写真はないので、会社近傍でのスナップです。

マンホールの蓋。  素晴らしい仕上がりです!!!!!

昼食を食べた後で発見、安い!!!!
13:00を過ぎたらこうなるそうなので、次回は絶対にトライ(するつもり)

で、ミーティングが終わって、中華街、四川料理です。

私は平気なんですが、泣いてる社員もいました。
辛すぎる、と思ったら食べない方がいいですね。でもおいしいかったですよ。

 

Vcollab ファイルサイズの確認

2012 年 3 月 5 日 月曜日

Stereo表示の記述と、順序が逆になってしまいましたが、Vcollab変換により、
どれくらい結果ファイルサイズが小さくなるか試しみようと思います。

いつもの Neonモデルを使います。

 

LSDYNAの出力 (Topcrunchデータを修正してコマ数を増やしてあります)

d3plot22まで出力されていて、合計サイズ = 3.43GB

これをVcollab用に変換してみます。
VmoveCAEを起動して、d3plotファイルを選択します。

ファイル情報が表示されます。

左側がパート番号、右が物理量です。
パート名が、”Object+番号” でしかわからないのが少し残念。

とりあえず、このまま変換してみます。
保存ボタンを押して、出力ファイル名を指定すると変換が始まります。

変換中は、進行中のメッセージ等が見えないので、コケた!と思って
KILLしたりしないこと。

待つこと 1~2分、変換が終了しました。


ファイルサイズ : 301MB

1/10以下になりました。次に、見なくて良い変数を指定して変換した結果

ファイルサイズ : 167MB

更に小さくすることができました。

lsprepost との表示比較を示します。
ここで、コンタ最大最小値の定義が、
・lsprepost : 要素値を採用
・Vcollab : 節点平均値の値を採用
と異なっているので、手動でレンジを合わせてあります。

 

 

表示物理量は、両方とも ミゼス相当応力(SHELL – MAX) です。

今回の結論:ファイルサイズ 1/20

 

 

 

 

 

lsprepost 3.2 更新

2012 年 3 月 1 日 木曜日

本日、lsprepost3.2が更新されました。
ダウンロードページのファイルも更新しておきました。
( 29.Feb版、ファイル日付は、2012.03.01)

前バージョンは、マルチステージ結果ファイルの表示機能

「Chain Model 」

で問題がありましたが、今回の配布では修正されています。
しかし、Chain Model後にいくつか問題を見つけたので、
バグリポートを出しておきました。
修正版が出たらお知らせします。


Vcollab Stereo表示を試す

2012 年 3 月 1 日 木曜日

少し前、Vcollab 2011 R2がリリースされました。
テストしていたら、ステレオ表示が気になってしまった。

テストデータは、LSDYNA Topcrunchの Neonモデルです。

DisplayメニューにStereo と言う文字。気になる。

 

Stereoを ON にしたら、

こうなりました。立体視には何か道具が必要と思って、マニュアルを読むと

グラフィックカードにより、
・ Quad Bufferが使えれば、アクティブシャッター眼鏡
・ 使えなければ、アナグリフ ステレオ眼鏡
とあります。自分のPCはどちらなのかわかりませんが、マニュアルの絵に
よると、アナグリフ式みたいです。
アナグリフとは?  そう、幼少の頃お世話になった赤青立体視です。

この絵を見ているうちに、すぐに見たくなってしまった。
「セロハン紙買ってきて、眼鏡に貼ればいいよね!!」
と自分だけで納得。

雪降る中、広報部長に頼んで赤・青セロハンを買いに行ってもらいました。
結論:今時こんなセロハンなんて売ってません。

それではと探したら、アマゾンでアナグリフ式立体視売ってました。
1個だけ買って1人で見るのはつらいので、2個入り購入。
(1個千円くらい)

届いた !!!!   かなりカッコいいです。


立体視表示テスト中     飛び出せ!!!!

 

感想

・立体的に飛び出して見える、という気持ちで見ることが大事。
・要するに、信じる人には見える。
・でも長時間のテストは疲れるので、気をつけましょう。
・立体視中、メニューの操作はかなり困難。
 (片目をつぶれば、できなくはない)