複雑なデータの大規模な配列を利用している従来の Fortran コードを定期的にデバッグする必要があり、利用可能な最良のオプションは TotalView です。うまく機能するデータを表示するための独自のビジュアライザーを作成しました (ここの TotalView の指示に従って)。デフォルトのものよりも柔軟で、複雑なデータを取り込んで表示する機能がありますが、TotalView は視覚化パイプを介して複雑な配列を送信しません。
絶対値を取得するためだけに追加のデバッグ配列を使用してコードを再コンパイルすることなく、TotalView で複雑なデータを表示できるようにする方法はありますか?
たとえば、次の短い例のようなコードの場合、 Fortran で別の配列を作成することもできますが、実際には停止して変数を調べたいだけですmy_arr
。
program main
implicit none
integer N, M, i, j
parameter (N=100, M=30)
complex my_arr(N, M)
real pi
pi = ACOS(-1.0)
do j = 1, M
do i = 1, N
my_arr(i,j) = cmplx(i*cos(j/pi), i*sin(j/pi))
end do
end do
return
end
小さな配列の場合、式として次のようなものを使用できます。
my_arr%Real_Part**2 + my_arr%Imaginary_Part**2
しかし、それは非常に大きなものでは機能しません.TotalViewはメモリについて不平を言います.
TotalView 8.13 を使用しています。