TotalView

バージョン システムA システムB システムC
2020.0 (default) AU AU AU
2018.3 AU AU AU
2018.0 AU AU AU
2017.0 AU AU AU
2016.7 AU AU
2016.4 AU

+ : すべてのユーザが利用可能
AU : 学術研究機関限定で利用可能
KU : 京都大学構成員限定で利用可能
― : 利用不可

Modulesソフトウェアパッケージは,アプリケーションの利用に必要な環境設定をmoduleコマンドを実行することで,動的に切り替えて設定することができます.また,異なるバージョンのアプリケーションを切り替えて利用する際に,簡単に環境設定を変更することができます.詳細は Modules をご覧ください.

バージョン モジュールファイル名
2020.0 totalview/2020.0.25
2018.3 totalview/2018.3.8
2018.0 totalview/2018.0.5
2017.0 totalview/2017.0.12
2016.7 totalview/2016.07.22
2016.4 totalview/2016.04.08

module avail コマンドにて,利用できるモジュールファイル一覧が確認できます.

TotalViewはGUIベースの強力なデバッガで,様々なコンパイラ環境に対応しています.

  • 並列アプリケーション対応
  • メモリデバッグ
  • リバースデバッグ
  • 視覚的表現によるデバッグ(プログラム,変数,MPIプロセス間通信)

TotalViewを利用する場合は,プログラムのコンパイル時にデバッグオプションを付加してください.

例 ソースプログラムtest.cをgccでコンパイル

$ gcc -g test.c

moduleコマンドを実行し,環境設定を行います.(利用したいバージョンのmoduleファイルをロードします)なお,システムAではログインした時点で,TotalViewが利用できるようになっていますのでこの操作は不要です.

$ module load totalview

Exceed onDemand で,次のコマンドを実行するとTotalviewが起動します. xrun コマンドの詳細は 会話型処理 をご覧ください.

xrun -tv  [option][filename [corefile]] [ -a [args]]

$ xrun -tv  ./a.out

起動すると,初期設定を行うダイアログが表示されます.(実行するプログラムを指定しないで起動した場合は,選択するダイアログが出ます)

必要な設定を行い[OK]をクリックすると,メインウィンドウ(上)とともに,デバッグ操作の中心となるプロセスウィンドウ(下)が表示されます.
この例では,行番号をクリックして3行目にブレークポイントを設定し,プログラムを開始しています.

Exceed onDemand で,次のコマンドを実行するとTotalviewが起動します. xrun コマンドの詳細は 会話型処理 をご覧ください.

xrun totalview [option][filename [corefile]] [ -a [args]]

$ xrun totalview

デバッグ対象のプログラムを指定し,次のコマンドを実行するとTotalview(CUI版)が起動します. tssrun コマンドの詳細は 会話型処理 をご覧ください.

tssrun -tv [option][filename [corefile]] [ -a [args]]

$ tssrun -tv  ./a.out

helpコマンドを実行すると,主なコマンドなどが表示されます.

d1.<> help
Help with no arguments prints this message.
Help with an argument prints information about one topic.
Help is available on the following specific commands:
  alias     capture   dactions  dassign   dattach   dbarrier  dbreak    dcache
  dcheckpoint         dcont     ddelete   ddetach   ddisable  ddlopen   ddown
(以下省略)

コマンド名を指定して実行すると,コマンドの説明を参照することができます.

d1.<> help dattach
dattach [ -g GID ] [ -r host ] [ -c corefile ] [ -rank rank] [ -e ]
                [ -replay | -no_replay]
                [ -[no_|ask_]attach_parallel ] filename [ pids ... ]
       Default alias: at
(以下省略)

##totalviewの起動
$ totalviewcli ./a.out
Linux x86_64 TotalView 8.9.0-0
Copyright 2007-2010 by TotalView Technologies, LLC. ALL RIGHTS RESERVED.
Copyright 1999-2007 by Etnus, LLC.
(途中省略)
Indexing 4544 bytes of DWARF '.eh_frame' symbols from '/lib64/ld-linux-x86-64.so.2'...done
##ソースファイルの確認
d1.<> dlist
   3   main()
   4   {
   5           int i,sum;
   6
   7           sum=0;
   8           for(i=1;i<=10;i++)
   9           {
  10                   sum+=i;
  11           }
  12           printf("%d\n",sum);
  13
  14   }
  15
##10行目にブレークポイントを設定
d1.<> dbreak 10
1
##プログラムを実行
d1.<> drun
Thread 1.1 has appeared
Created process 1 (19354), named "a.out"
d1.<> Thread 1.1 hit breakpoint 1 at line 10 in "main"
##変数の表示
d1.<> dprint sum
 sum = 0x00000000 (0)
##プログラムの再開
d1.<> dcon
Thread 1.1 hit breakpoint 1 at line 10 in "main"
d1.<> dprint sum
 sum = 0x00000001 (1)
d1.<> dcon
Thread 1.1 hit breakpoint 1 at line 10 in "main"
d1.<> dprint sum
 sum = 0x00000003 (3)

MPIのデバッグを行う場合,初期設定を行うダイアログの Parallel タブで,システムで利用するMPIに応じた Parallel system を選択する必要があります. この選択は, xrun コマンドに -tv オプションを指定した場合は,自動で行います. xrun コマンドの詳細は 会話型処理 をご覧ください.

システム Parallel system
A Cray aprun
B Intel MPI hydra
C

Exceed onDemand でログインし, 以下のように実行すると,MPIプログラムをGUIでデバッグできます.

$ xrun -tv -A p=4 ./a.out
  • -Aオプションの詳細は, 会話型処理 をご覧ください.


Copyright © Academic Center for Computing and Media Studies, Kyoto University, All Rights Reserved.