CPUコア負荷テスト
(fjcputest)



fjcputest は CPUの命令実行頻度を上げ、CPUコア内部の各種命令実行ユニットの正常動作確認、および異常がある場合には不良CPUモジュールの指摘を行います。指定されたユニットに対して命令列を繰り返し実行し、その実行結果の正常性を確認します。FJVTS、およびコマンドラインから起動可能です。






fjcputestのオプション



fjcputest options
図.fjcputestのオプション




表.fjcputestオプションの説明

オプション説明

Test Mode試験方法を選択します。
以下の何れかを選択可能です。

選択可能試験方法 意味
instruction浮動小数点演算試験を行います。実行時間は約1秒です。
unitstressCPUコア内部の各ユニットへの負荷試験や各種演算試験を行います。
Targetの指定によりCPUへの負荷を調整できます。
all 上記2種類の試験を行います。

デフォルト値はall

Targetunitstress試験の試験内容を選択します。同時に複数選択可能です。
本オプションは、Test Modeにunitstressまたはallを選択した場合に有効となります。

選択可能試験内容デフォルト
whole,fxu,fpu,ldu,bru,calc1,calc2,calc3,calc4whole+fxu+fpu+ldu+bru+calc1+calc2+calc3+calc4


※ 試験内容説明
whole: CPUコア全体試験
fxu: 整数演算ユニット試験
fpu: 浮動小数点演算ユニット試験
ldu: ロードストアユニット試験
bru: 分岐ユニット試験
calc1: 各種演算試験1
calc2: 各種演算試験2
calc3: 各種演算試験3
calc4: 各種演算試験4
演算試験4は、OSが32ビットモードの場合に選択可能です。

※ 試験実行時間
試験が1回パスするのにかかる時間は、約 5分です。

注:"Loop Counter"オプションデフォルト"1"、300MHzCPU、512MbyteMemory、本プログラム単独実行時の値。他プログラム動作中や、CPUの動作周波数によって実行時間は変化します。最大使用メモリサイズは約32Mbyteです。搭載メモリサイズは128Mbyte以上を推奨します。


Loop Counter同一の試験項目を何回ループさせるかを10進の整数(1〜99999)で指定します。
デフォルト値は 1

Calc2 Dimensioncalc2の演算で使用する配列の次元を 200,400,800,1600,3200,4800 の中から指定します。
デフォルト値は 1600

Processor AffinityCPUを複数搭載したシステムでしか表示されません。使用するCPUを選択した番号のCPUに限定(バインド)しますが、本プログラムでは "No Selections" のままにしておいて下さい。
デフォルトは "No Selections"




fjcputestテストモード



表.fjcputestテストモード

オプション説明

接続テストモード
(Connection Test)
ありません

機能テストモード
(Functional Test)
各試験項目が対象とするユニットで演算を実行し、結果の正常性を検証します。ストール回数を減らし、命令スループットの向上を狙った命令列を繰り返し実行します。周波数・温度マージン検証として使用することを想定しています。




fjcputestのコマンドライン行構文

/opt/FJSVvts/bin/fjcputest 標準引数
-f -o [dev=CPU番号,mode=instruction|unitstress|all,target=whole+fxu+fpu+ldu+bru+calc1+calc2+calc3+calc4,loop=回数,dim=200|400|800|1600|3200|4800]



各パラメタの内容は前述の"表. fjcputestオプションの説明"を参照して下さい。 また、標準引数についてはSunVTSテストリファレンスを参照して下さい。

表.fjcputestのコマンドライン行構文
引数 説明 指定例
dev 試験を行うCPUモジュールをID番号で指定します。
1モジュール指定可能です。複数CPUを指定する場合は、fjcputest を複数起動して下さい。
デフォルトは "cpu0"。
dev=cpu3
mode 試験方法を指定します。
デフォルトは "all"。
mode=instruction
target unitstress試験の試験内容を指定します。
"whole+fxu+..." のように "+" で複数指定できます。
デフォルトは "whole+fxu+fpu+ldu+bru+calc1+calc2+calc3+calc4"。
calc4は、32bitモジュールでのみ選択可能です。
target=fpu+calc1
loop 同一試験項目を繰り返し実行する回数を指定します。
デフォルトは "loop=10"。
loop=100
dim calc2演算で使用する配列の次元を指定します。
デフォルトは "dim=1600"。
dim=400




fjcputestエラーメッセージ



表.fjcputestのエラーメッセージ
IDエラーメッセージ考えられる原因対処方法
6000 Failed CPU core (Reliability) Test
Discord Register : [エラー発生レジスタ番号]
Expect Result Expect Result
GR0 xxxxxxxx, xxxxxxxx FR0 xxxxxxxx, xxxxxxxx
GR1 xxxxxxxx, xxxxxxxx FR1 xxxxxxxx, xxxxxxxx
.....
GR7 xxxxxxxx, xxxxxxxx FR7 xxxxxxxx, xxxxxxxx
continue 6001
[エラー発生レジスタ番号]でデータ比較エラーが発生しました。 CPUモジュールを交換して下さい。
6001 GR8 xxxxxxxx, xxxxxxxx FR8 xxxxxxxx, xxxxxxxx
.....
GR15 xxxxxxxx, xxxxxxxx FR15 xxxxxxxx, xxxxxxxx
continue 6002
メッセージID 6000 からの続きです。 メッセージID 6000 を参照して下さい。
6002 GR16 xxxxxxxx, xxxxxxxx FR16 xxxxxxxx, xxxxxxxx
.....
GR23 xxxxxxxx, xxxxxxxx FR23 xxxxxxxx, xxxxxxxx
continue 6003
メッセージID 6000 からの続きです。 メッセージID 6000 を参照して下さい。
6003 GR24 xxxxxxxx, xxxxxxxx FR24 xxxxxxxx, xxxxxxxx
.....
GR31 xxxxxxxx, xxxxxxxx FR31 xxxxxxxx, xxxxxxxx
メッセージID 6000 からの続きです。 メッセージID 6000 を参照して下さい。
6004 Failed CPU core (load/store unit) Test
Address Expect Result
アドレス 期待値 結果値
LDユニット試験でデータ比較エラーが発生しました。 CPUモジュールを交換して下さい。
6005 Failed CPU core (calc3) Test
Expect VE00 VE11 VE13
xxxxxxxx xxxxxxxx xxxxxxxx
VE14 VE21
xxxxxxxx xxxxxxxx
VE23 VE24 VE31
xxxxxxxx xxxxxxxx xxxxxxxx
VE33 VE34
xxxxxxxx xxxxxxxx
各種演算試験3でエラーが発生しました。その期待値です。 CPUモジュールを交換して下さい。
6006 Result VE00 VE11 VE13
xxxxxxxx xxxxxxxx xxxxxxxx
VE14 VE21
xxxxxxxx xxxxxxxx
VE23 VE24 VE31
xxxxxxxx xxxxxxxx xxxxxxxx
VE33 VE34
xxxxxxxx xxxxxxxx
各種演算試験3でエラーが発生しました。その実際値です。 CPUモジュールを交換して下さい。
6100 Failed 精度 precision calc2 test. 各種演算試験2でデータ比較エラーが発生しました。 CPUモジュールを交換して下さい。
6110 Failed single precision calc1 test. 各種演算試験1単精度演算試験でエラーが発生しました。 CPUモジュールを交換して下さい。
6111 Failed double precision calc1 test. 各種演算試験1倍精度演算試験でエラーが発生しました。 CPUモジュールを交換して下さい。
6112

6212
Error: 演算式
Expected: 期待値    Actual: 演算値
calc1演算試験で比較エラーが発生しました。 CPUモジュールを交換して下さい。
6213

6303
演算命令 failed
expected / observed = 期待値 / 演算値
演算試験で比較エラーが発生しました。 CPUモジュールを交換して下さい。
6305 FPU Trap did not occur , i = 回数. 割込み試験において割り込みが発生しませんでした。 CPUモジュールを交換して下さい。
6306 FPU Trap Should not occur but occured. 期待しない割り込みが発生しました。 CPUモジュールを交換して下さい。
6307 Bus Error did not occur. 期待したバスエラー割り込みが発生しませんでした。 CPUモジュールを交換して下さい。
6308 Did not create correct IEEE exception (Inexact):
expected = 1, observed = 計測値
期待した不正確割込みが発生しませんでした。 CPUモジュールを交換して下さい。
6309 Did not create correct IEEE exception (Divide By zero) :
expected = 2, observed = 計測値
期待したゼロ除算割込みが発生しませんでした。 CPUモジュールを交換して下さい。
6310 Did not create correct IEEE exception (Overflow) :
expected = 8, observed = 計測値
期待したオーバフロー割込みが発生しませんでした。 CPUモジュールを交換して下さい。
6311 Did not create correct IEEE exception (Invalid) :
expected = 10, observed = 計測値
期待した無効割込みが発生しませんでした。 CPUモジュールを交換して下さい。
6322 FPU Reliability Test Failed due to floating point exception error. 浮動小数点演算試験で割込みエラーが発生しました。 CPUモジュールを交換して下さい。
6323 FPU Reliability Test Failed due to illegal instruction error. 浮動小数点演算試験で不当命令エラーが発生しました。 CPUモジュールを交換して下さい。
6324 Error: 命令 Register: レジスタ Expected: 期待値 Actual: 演算値 浮動小数点演算試験(強化データ)で比較エラーが発生しました。 CPUモジュールを交換して下さい。
6401 Failed systest for VIS. :
VIS1 命令 Reg Expect Result:
レジスタ 期待値 結果値:
VIS1命令試験で比較エラーが発生しました。 CPUモジュールを交換して下さい。
6900 Failed test : target=[試験項目] メッセージID 6000 からの続きです。[試験項目]実行中にエラーが発生しました。 メッセージID 6000 を参照して下さい。
8001CPU initialization failure. CPU試験の初期化に失敗しました。 プログラムが異常終了しました。外部要因が考えられますので、再実行して下さい。それでも同現象になる場合、弊社窓口に問い合わせ願います。
8200processor_bind failed. プロセッサーバインドでエラーが発生しました。 試験対象CPUが存在するか、オフライン状態でないか確認して再実行して下さい。それでも同現象になる場合、弊社窓口に問い合わせ願います。
8201kvm_open( ) failed kvm_open( )関数でエラーが発生しました。 動作可能OSか確認して再実行して下さい。それでも同現象になる場合、弊社窓口に問い合わせ願います。
8202kvm_nlist( ) failed kvm_nlist( )関数でエラーが発生しました。 動作可能OSか確認して再実行して下さい。それでも同現象になる場合、弊社窓口に問い合わせ願います。
8300Please enter an appropriate value, [入力値]=? [入力値]が無効な値です。 有効な値を入力して下さい。
8301Bad test option: [オプション] 指定された[オプション]はありません。 正しい[オプション]を指定して下さい。