Topics
    ソリューション
    Menu

    解析・シミュレーション関連S/W

    ビジュアルテクノロジーでは、クラスタシステムが最高の生産性・計算性能を達成できるよう、お客様の環境に応じた最適なシステム提案を行っています。
    また、お客様がお使いのソフトウェアも購入後すぐにお使い頂けるよう、ソフトウェアインストールサービスもご用意しています。
    面倒なソフトウェアのインストールや設定を行うことなく、製品到着後、すぐにお使い頂けます。お気軽にご相談下さい。

    ■商用ソフトウェア

    分子シミュレーション

    • Amber
    • CHARMM

    量子化学計算

    • Gaussian
    • VASP

    第一原理計算

    • TOMBO
    • Advance/PHASE
    • Atomistix ToolKit & Virtual NanoLab

    流体解析計算

    • FLUENT
    • STAR-CD

    構造解析計算

    • ANSYS
    • ANSYS Academic Teaching

    衝突・衝撃解析計算

    • LS-DYNA
    • RADIOSS/HyperWorks

    電磁界解析計算

    • HFSS

    可視化

    • AVS/Express PCE

    材料創製・加工

    • NK-ROBUST

    ■オープンソースソフトウェア

    気象解析計算

    • MM

    乱流音場解析計算

    • FrontFlow/blue

    乱流燃焼解析計算

    • FrontFlow/red

    ※誠に申し訳ありませんが、当サービスは弊社ハードウェアとのセット販売のみでの対応となります。ご了承下さい。

    TotalView®

    tv

    TotalView®を標準バンドル

    TotalView®は、グラフィカルユーザインタフェースを備えた並列プログラム(C, C++, Fortran)開発用ソースコードレベルデバッガです。 VTは、TotalView®をVT64 HPC製品 ソリューションを構成する開発環境ツールとして位置づけ、VTハードウェア製品に標準バンドルします。

    TotalView®の概要

    TotalView®は、TotalViewデバッガReplayEngineアドオン(オプション) 、NVIDIA-CUDAアドオン(オプション)から構成されています。 TotalViewデバッガは、デバッガ本体、MemoryScapeThreadSpotterの3つのサブシステムから構成されていて、VT HPC-Packageに標準バンドルされます。 さらにRemote Display機能、TV Script機能が兼ね備えられています。

    TotalViewデバッガtv-debugger
    ReplayEngineアドオン
    tv-debugger1
    オプション
    NVIDIA-CUDAアドオン
    tv-debugger2
    オプション

    TotalView®のデバッガ機能

    totalview

    TotalView®の機能および特長

    <並列デバッガの機能>

    MemoryScape機能>

    ThreadSpotter機能>

    ■Evaluation Point と Watch Point

    通常のプログラムでは、ほとんどの場合printf/write文を頼りにチェック・リコンパイルしてデバッグしますが、並列プログラムではまずそれが困難です。 TotalView®は、Evaluation Pointと呼ばれる Break Pointを設定することにより、関連するプロセスがGUIウインドウで表示され、 リコンパイルすることなく直感的にデバッグを行う事が可能です。 Watch point機能を使うと、特定の変数の動きを検知してプログラム実行をBreakします。 これらの機能をうまく駆使すれば効果的かつ効率的に並列プログラムをデバッグすることが可能です。

    tv-totalview-01atv-totalview-01b
    Evaluation Pointの例1 : 特定の変数の値が条件を満たすとbreakEvaluation Pointの例2 : 特定の変数の値が条件を満たすと修正コード実行
    tv-totalview-01c 
    Watch Pointの例 : 特定の変数の値が書き換えられるとbreak 

    ■GUI と CLI

    TotalView®は、Graphical User Interface (GUI)ベースのソースコードレベルデバッガで、 マルチプロセス/スレッドアプリケーション上でプログラムや変数の状態を視覚的に確認しながら問題を修正することができます。 GUIの他に、スクリプタブルな Command Line Interface (CLI) 機能もあり、スクリプトによるデバッグ作業の自動化を行うことも可能です。

    tv-totalview-02btv-totalview-02a
    GUIの画面例(プロセスウインドウ) : Break Pointの設定、変数の状態などはGUI画面で確認します。CLIの画面例 : スクリプトによるバッチジョブを実行させることができます。

    ■多様な言語対応 と 多様な並列化手法対応

    TotalView®は、C/C++、Fortranなど一般に使用されている言語、ベンダ固有のアセンブラ言語をサポート。 言語ごとに異なるデータ形式を自動的に認識し、正しく表示します。 TotalView®は、多様な並列化手法(MPI、OpenMP、UPC、GA、Thread など)に対応、 特にThreadにおいては、Many-Coreになってきた今日、そのデバッグに威力を発揮します。

    ■メッセージキューグラフと関数コールグラフ

    メッセージキューグラフ機能 : MPIプログラムのメッセージキューの状態を把握したいときに便利です。

    関数コールグラフ機能 : アクティブな関数をどのような呼び出し手順に従ってるかを把握したいときに便利です。

    tv-totalview-03atv-totalview-03b
    [メッセージキューグラフ][関数コールグラフ]

    ■統一されたオペレーション

    Linux システムからスーパーコンピュータまで多くのシステムをサポートし、統一された操作方法を提供しています。 ご使用のシステムが変更になった場合でも、新たに操作方法を学習する必要はありません。

    ■共有ライブラリとDLLのデバッグ

    TotalView®は、は、プログラムが共有ライブラリをロードしたときに自動的に検出する機能があります。 この機能を活用してライブラリ内のコードに対して Break Pointを設定することが可能で、より効率的にデバッグ可能です。

    ■配列の3Dサーフェイス表示

    TotalView®は、配列データを3Dサーフェイス表示することが可能です。 ただ表示するだけでなく、プログラム実行中に逐次更新することも可能です。

    tv-totalview-04
    [データの3Dサーフェイス表示]

    Replay Engineの主な機能および特長

    replayengine

    ■Replay

    関数コール、ネットワークまたはファイルI/O などの入力、コンテキストスイッチなどのスレッドビヘイビアをキャプチャーします。 キャプチャーされたビヘイビアは、Replay機能により、現時点までの全ての変数とプログラムのビヘイビアを遡って原因を突き止めます。

    [ReplayEngine: ON 時のプロセスウインドウメニュー]
    tv-replayengine

    ReplayEngineの画面例。
    図で示すように通常実行とは逆に再生実行を行い、原因の箇所を突き止めます。

    NVIDIA-CUDAアドオン(オプション)

    CUDA対応デバッガ

    NVIDIA-CUDAアドオンとは

    TotalView GUI上でNVIDIA CUDA対応アプリケーションのCPUおよびGPU両方のコードのデバッグをすることができるアドオンツールです。 複数のGPUボードを持つ環境への対応、ブレークポイントの設定、ステップ実行、インライン関数のデバッグ、各種メモリ領域の状態表示により、 GPUボード上のCUDAカーネルの挙動や性能特性を把握でき、アプリケーションの性能向上や開発の効率化を達成出来ます。

    TotalView CUDA デバッギングモデル

    下図の例は、2つのLinux pthreadsと2つのCUDA threadsからなるLinux x86-64 環境下でのCUDAデバッギングモデルです。 1つのCUDA threadはデバイス上の任意のアドレスにあるCUDA Kernelを実行します。

    cuda-1

    ■CUDA Kernelを読み込んで立ち上がるプロセスウインドウ初期画面例

    cuda-2

    ■GPU thread<<<(0,0),(0,0,0)>>> を照準にBreakpointを指定した例

    cuda-3

    ■CUDA threadから変数を読んで表示した画面例

    cuda-4

    cuda-5

    TotalViewは任意のthreadをデバックした後、再度デバッグを行う際に 前回デバッグしたその任意threadを特定する事が可能です。 TotalViewがもつ便利な機能の一つでもあります。

    MemoryScapeの機能および特長

    totalview

    MemoryScapeとは

    メモリデバッガ

    メモリがどのようにアロケーションされているか一目で把握でき、メモリ障害が発生した箇所を的確に デバッグすることが可能な便利ツールです。

    ■MemoryScapeの主な機能および特長

    ■基本アーキテクチャ

    MemoryScapeはHeap Interposition Agent (HIA)と呼ばれるライブラリを並列プログラムのmalloc() subsystemに挿入することによって、 メモリアロケーションの内容を定義します。 こうして定義されたメモリアロケーション情報は、GUIを通してメモリデバッグされます。

    tv-memoryscape-01MemoryScapeの概念図。 
    Heap Interposition Agent (HIA)は、並列プログラムとglibc内のメモリアロケーションレイヤー(malloc)に位置され、
    メモリデバッグに必要なメモリアロケーションの内容を定義します。

    ■Heap情報表示

    MemoryScapeの高度なGUIを通してメモリ障害情報を表示します。 通常のデバッガではメモリリークに代表される Heapの情報が把握できませんが、 TotalViewではHeapの情報を把握し表示、メモリ障害が発生した箇所をデバッグすることが可能です。

    tv-memoryscape-02
    Heap情報表示画面例。
    メモリがどのようにアロケーションされているか一目で把握でき、
    メモリ障害が発生した箇所を的確にデバッグすることが可能

    ■メモリブロック詳細情報表示

    MemoryScapeは、Preceding Block, Corrupted Block, Following Blockといったさまざまなメモリブロックの詳細情報を表示することが可能です。

    tv-memoryscape-03atv-memoryscape-03b
    メモリブロック詳細表示画面例。ブロックの種類ごとにフォーマットされているメモリの詳細を把握することができる。Post-guardブロック 4バイトが不正に上書きされた事を示す画面例

    ThreadSpotterの機能および特長

    totalview

    ThreadSpotterとは

    キャッシュメモリ利用統計状況分析ツール

    ThreadSpotter は命令、ループあるいはプログラム全体でキャッシュメモリの利用統計状況を分析、問題を報告してくれる実用的なツールです。

    thread-1thread-2

    ■キャッシュメモリ利用統計分析の流れ

    thread-3

    ■性能情報の表示

    命令、ループあるいはプログラム全体の情報

    Fetch ratio
    • メモリアクセスがバスの転送能力を利用していない
    Miss ratio
    • メモリアクセスがキャッシュに求めるデータを見つけられない
    Fetch utilization
    • フェッチされたキャッシュラインの何%が実際のアプリで使われているか
    thread-4

    ■レポートの表示

    thread-5