910 likes | 1.15k Views
Cray XT4 システム プログラミング基本編. クレイ・ジャパン・インク 200 8 年 5 月. Cray XT システム利用講習会基本編内容. Cray XT システム概要 ハードウェア、ソフトウェアの概要 国立天文台 XT4 システム固有の環境 ハードウェア構成、ソフトウェア構成 、利用規約 プログラミング基礎 プログラムのコンパイルから、実行まで ftn,cc コンパイラの利用方法 aprunコマンドの 利用方法 バッチジョブの投入 (PBSpro) 並列化の基礎 MPI 、 OpenMP 、 SHMEM
E N D
Cray XT4システムプログラミング基本編 クレイ・ジャパン・インク2008年5月
Cray XTシステム利用講習会基本編内容 • Cray XT システム概要 • ハードウェア、ソフトウェアの概要 • 国立天文台XT4システム固有の環境 • ハードウェア構成、ソフトウェア構成、利用規約 • プログラミング基礎 • プログラムのコンパイルから、実行まで • ftn,ccコンパイラの利用方法 • aprunコマンドの利用方法 • バッチジョブの投入 (PBSpro) • 並列化の基礎 • MPI、OpenMP、 SHMEM • 性能解析ツールCrayPATの利用方法 • デバッガTotalViewの利用方法 • アプリケーションパッケージについて • 全体を通しての質疑応答 Cray Inc.
Cray XT システム概要 Cray Inc.
Cray XTシステムとは • Cray XTシステムは、大規模並列処理(MPP)システムです。 • Cray XTシステムは、米国エネルギー省Sandia 国立研究所とクレイ・インクが共同開発したRed Stormテクノロジをベースにしています。 • Cray XTシステムは、スケーラブルな大規模並列処理、高帯域ネットワーク、高度なデータ通信を必要とするアプリケーションを実行する目的で設計されました。 Cray Inc.
Cray XT4システムの特長 • 高性能汎用CPUを選択 • バンド幅に優れ、諸性能が高レベルでバランスしたシステム • スケーラブルなシステム • シンプルなハードウエア実装 • 大規模並列処理に対応したソフトウエア環境 • スケーラブルなI/O性能 • 統合化されたシステム管理 • 信頼性設計 • 物理稼動部品数の低減、冗長設計 Cray Inc.
ハードウエア:キャビネットとノードブレードハードウエア:キャビネットとノードブレード • ノードブレードは用途により2種類存在 • 計算ノード用ブレード • サービスノード用ブレード 計算ノード ノードブレード 計算ノードブレード SIOノードブレード シャーシ キャビネット サービスノード Cray Inc.
3Dトーラス(環状)内部結合ネットワーク 計算ノード サービスノード Cray XTシステムのトポロジ 全ノードxyz各軸トーラス Cray Inc.
サービス・ノードの役割 システムのサービス、ユーザ・インターフェイス、I/O管理を担っています。 ログイン・ノード I/O ノード ブ-ト・ノード データベース・ノード ネットワーク・ノード 計算ノードの役割 アプリケーションを実行する役割を担っています。 サービスノードと計算ノードの役割 Cray Inc.
Cray XTシステムのソフトウエアの特徴 • スケーラブルなアプリケーション実行性能 • MPP専用の軽量化したOS(不要な干渉や割込みを排除) • サービス・ノード: SuSE Linux ベース • 計算ノード:CNL(計算ノードLinux) • 科学技術計算向けのプログラミング環境 • 汎用コンパイラPGIおよびGNU • Cray XT4向けに最適化された数値解析ライブラリ • MPICH2ベースの並列処理 • 統合したソフトウェア開発・デバッガ・性能解析ツール • 大規模システムに対応したシステム管理 • 計算リソース管理ALPS(application level placement scheduler) • PBS professionalジョブスケジューリング管理ソフトウエア • シングル・システムとしてのシステム管理ソフトウエア群 Cray Inc.
国立天文台XT4システム固有の環境 Cray Inc.
System Nodes Network (10GigE) I/O Nodes Login Nodes 740 Compute Nodes (26 TFLOPS 5.7 TB Memory) Tier 1 1 2 3 4 5 6 7 8 P S 1 1 2 3 4 5 6 7 8 P S 1 Tier 2 1 2 3 4 5 6 7 8 P S 1 Tier 3 国立天文台CrayXT4システム • スカラー型並列計算機:Cray XT4システム • 計算ノード性能:26TFlops • 計算ノードメモリ容量:5.7TB • 計算ノード数:740 • ログインノード:8 • IOノード:8+2 • ネットワークノード:2 • システム・バックアップノード:4+2 • 内部結合ネットワーク • 3Dトーラス(環状)接続 • 9 x 12 x 8ノード • ノード間バンド幅 7.6GB/秒/リンク • バイセクションバンド幅 1.09TB/秒 • 共有並列ファイルシステム Cray Inc.
SeaStar2 Cray XT4システム • 計算ノード • AMD quad-core Opteronプロセッサ 2.2GHz • プロセッサ演算性能 35.2Gflops(2.2x4x4) • メモリ容量8GB • サービスノード • AMD dual-core Opteronプロセッサ 2.6GHz • メモリ容量8GB • ファイルシステム • Lustre並列共有ファイルシステム • DDN Fibre Channelディスク装置60TB • IOノード<->ディスク:4GbpsFCx16本 Cray Inc.
ノード構成と用途 • ログインノード (8ノード) • ログイン、Linux一般コマンド、コンパイル、デバッグ • 8台のノード間で実際にログインするノードを負荷状況により自動割り当て • ファイルシステム: ユーザホーム(/home), Lustreファイルシステム(/work) • ログインディレクトリはログインノード間でNFS共有 • OSはSuseLinux(現バージョンSLES9SP2相当)+XT4向けの機能追加 • 計算ノード (740ノード + 予備ノード) • コンパイルされたXT4バイナリプログラムの実行 • ファイルシステム: Lustreファイルシステム(/work) • ホームディレクトリ(/home)の参照は不可 • OSはCNL(計算ノード用Linux) • IOノード (8 OSTノード + 2 MDSノード) • LustreファイルシステムへのI/Oノード群 • ジョブ実行ディレクトリ、ステージングされたデータ格納などに利用 • ネットワークノード (2ノード) • 計算用データのステージングなどに利用。10GbEネットワーク搭載 • ファイルシステム: ユーザホーム(/home), Lustreファイルシステム(/work) Cray Inc.
主要ソフトウエア一覧 • コンパイラ • PGIコンパイラ環境 Ver 7.1 • GNU コンパイラ環境 Ver 4.2 • ライブラリ • acml AMD ACMLライブラリ (BLAS1,2,3, LAPACK, FFT) • xt-libsci Cray LIBSCI (BLACS, ScaLapack), IRT, libgoto BLAS • xt-mpt Cray Message Passing Toolkit 3.0 • fftw FFTW version2およびversion3 • netcdf NetCDF v 3.6.2 ライブラリ • hdf5 HDF5v1.8.0ライブラリ • IMSL IMSL数学・統計ライブラリ • プログラム開発支援 • totalviewデバッガ • craypat性能解析ツール • apprentice2性能解析GUIビューア • アプリケーション起動 • aprun ALPS(application level placement scheduler)起動コマンド • PBS ジョブ管理ソフトウエア Cray Inc.
プログラミング環境の選択- moduleコマンド • moduleコマンド概要 • ソフトウエア開発・実行に必要な環境設定を動的に実施するための便利なコマンドツール • PGIコンパイラおよびGNUコンパイラのプログラミング環境 • PGI環境 PrgEnv-pgi/2.0.41:PGIコンパイラ Ver 7.1(標準) • GNU環境 PrgEnv-gnu/2.0.41:GNU コンパイラ Ver 4.2 • 一般ユーザのXT4システムログイン時標準設定はPGIに設定 • 主なmoduleコマンド • ロードされているmodule一覧表示 • module list • 使用できる全module一覧表示 • module avail • moduleのロード、アンロード • module load module_name • module unload module_name • moduleのスイッチ (1から2へ) • module switch module_name1 module_name2 • moduleのクリア(ロードされている全moduleのアンロード) • module purge Cray Inc.
クワッドコア対応モジュール • システム標準モジュールに加え、クワッドコア対応の最新ベータ版モジュールを導入。最大性能を引き出すためクワッドコアモジュール利用を推奨。 • クワッドコア対応モジュール一覧: • pgi/7.1.6 :PGIコンパイラ • gcc/4.2.3 :GCCクワッドコア対応コンパイラ • xt-mpt/3.0.0 :MPIライブラリ • xt-binutils-quadcore/2.0.0 :クワッドコア対応アセンブラ • xt-craypat/4.2 :CrayPat性能解析ツール • apprentice2/4.2 :Apprentice2性能解析GUIツール • xt-totalview/8.4.1 :Totalview デバッカ • 上記クワッドコア対応モジュールへ一括で切り替える簡単なシェルを準備 • /work/sample/quad_module/quad.pgi (PGI環境用) • /work/sample/quad_module/quad.gnu (GNU環境用) • PGIクワッドコア対応モジュールへの切り替え例(csh/bashとも) % source /work/sample/quad_module/quad.pgi • GNUクワッドコア対応モジュールへの切り替え例(csh/bashとも) % source /work/sample/quad_module/quad.gnu • クワッドコア環境を標準モジュール環境に戻すシェルは以下を使用 • /work/sample/default_module/default.pgi/work/sample/default_module/default.gnu Cray Inc.
クワッドコア対応モジュールの利用 • ソースプログラムコンパイル・実行例 • source /work/sample/quad_module/quad.pgi • ftn f.f • ftn -O3 -fastsse -Msmartalloc -tp barcelona-64 -Mlist -Mipa fort.F90 • aprun -n 4 ./a.out Cray Inc.
Tier 1 1 2 3 4 5 6 7 8 P S 1 1 2 3 4 5 6 7 8 P S 1 Tier 2 1 2 3 4 5 6 7 8 P S 1 Tier 3 Lustreファイルシステム概要 • 使用方法は一般のファイルシステムと同じ mkdir -p /work/week/userID/my_dir ; ... 並列ジョブの各プロセスから独立にファイルI/Oを実行可能 1プロセスからのI/Oを自動的に分散並列化することも可能 内部構成はOST単位の可変ストライピングファイルシステム 右図 tier ≒ OST(合計32OSTで構成) • ユーザによる個別カスタム化可能 例) ストライピングサイズの変更方法 ファイル名st04, ブロックサイズ1MB, ストライピングサイズ4, オフセット-1に設定 lfs setstripe st04 1048576 -1 4 Cray Inc.
オンラインドキュメント • CfCA Cray XT4/NEC SX-9 System User’s Guide Page http://www.cfca.nao.ac.jp/hpc2008/users/manuals/HPC_Users_Guide/ • XT4に関してより高度な情報を知りたい方は、上記のページにあるInternal Documentsの Cray Internal DocumentsやIMSL Internal Documentsを参照してください。 • 比較的良く参照するマニュアル • Cray XT Programming Environment User's Guide S-2396-20 • PGI user guide S-6516-70 Cray Inc.
システムへのアクセス Cray Inc.
XT4システムへのログイン・利用 • HPCネットワークについて • CfCAが提供するスーパーコンピュータシステム専用ネットワーク • 天文台基幹ネットワークからは分離されている • 接続するにはSecurIDワンタイムパスワード認証が必要 • スーパーコンピュータへのアクセス • 1:HPCネットワークへのログイン(SecurIDワンタイムパスワード認証) • 2:Cray XT4システムへログイン(計算機パスワード認証) Cray Inc.
System Nodes Network (10GigE) I/O Nodes Login Nodes 740 Compute Nodes (26 TFLOPS 5.7 TB Memory) ユーザPC: Linux, Mac, Windowsなど XT4システムへのログイン・利用 • ログインノードへSSHでログイン ssh-l ログイン名 xt.cfca.nao.ac.jp (実際の接続先はxt0[1-8].cfca.nao.ac.jpの8台の間で自動割り当てされる) • ログインパスワードの変更 yppasswd • ログインシェルに利用可能:sh,ksh,bash, csh,tcsh ypchsh sshログイン ネットワークコアスイッチ Cray Inc.
XT4システムへのログイン・利用 • ログインノードでは普通のLinuxコマンド群が利用可能 • 現在SLES9 (7月以降SLES10へバージョンアップ予定) • pwd, df, hostname • 標準でロードされているmodule環境確認 • module list 1) modules/3.1.6 10) xt-service/2.0.41 2) MySQL/4.0.27 11) xt-libc/2.0.41 3) pgi/7.1.6 12) xt-os/2.0.41 4) totalview-support/1.0.4 13) xt-catamount/2.0.41 5) xt-totalview/8.4.1 14) xt-boot/2.0.41 6) xt-libsci/10.2.1 15) xt-lustre-ss/2.041 7) xt-mpt/2.0.41 16) xtpe-target-cnl 8) xt-pe/2.0.41 17) Base-opts/2.0.41 9) PrgEnv-pgi/2.0.41 18) pbs/8.1.4 Cray Inc.
プログラムのコンパイルから実行まで Cray Inc.
ログインノードでのプログラムのコンパイル • コンパイラのコマンド名はftn, cc, CCに統一されています。 • PGIとGNUのどちらのモジュールがロードされている場合でも、ftn/cc/CCコマンドでコンパイラを利用します。 • 例えばモジュールをPGIからGNUへswitchした場合、ccコマンドが内部で呼び出すコンパイラの切り替え(pgcc → gcc)へは自動的に行われます。 • 注意: • MPIプログラムをコンパイルする場合もftn, cc, CCを使用する。 (mpif90, mpicc, mpicxxラッパー などは使用しない。) • コンパイラの個別のmanページなどは、固有のコンパイルコマンド名を指定の上参照ください。(例: man pgf90 ) Cray Inc.
ログインノードでのプログラムのコンパイル • ソースプログラム作成、コンパイル例 • mkdir -p $HOME/check_mpi ; cd $HOME/check_mpi • cp /work/sample/cse01/prog1.f f.f • cat f.f program main include 'mpif.h' ierr = 0 call MPI_Init( ierr ) call MPI_Comm_size( MPI_COMM_WORLD, mpisize, ierr ) call MPI_Comm_rank( MPI_COMM_WORLD, mpirank, ierr ) write(6,*) " myrank=",mpirank call MPI_Finalize( ierr ) stop end • source /work/sample/quad_module/quad.pgi • ftn f.f • ファイルのステージング準備 • mkdir -p /work/week/$USER/check_mpi • cp -rp * /work/week/$USER/check_mpi/ • プログラムをaprunランチャで起動する • aprun -n 4 ./a.out #ただし、プログラムの対話的実行には制約があります Cray Inc.
計算ノードのリソースとALPS • XT4システムの計算ノードリソースはシステムソフトウエアALPS (application level placement scheduler)が管理する • 適切なノード群の選択 • ノードの利用状況をシステムデータベースと照合 • 並列プログラムのプロセス管理 • 並列I/Oのリクエスト処理 • qsubオプションやディレクティブでのリソース要求に対して具体的な割り当てを実施 • 通常ユーザが利用するALPSコマンドは3種類 • aprun, apstat, apkill • 計算ノードで実行するプログラムはaprunコマンドによって起動する • aprunによって起動されるコマンドは計算ノードで実行される • aprunをつけないコマンドはログインノードで実行される • mpirunコマンドは使用しない(aprunを使用する) Cray Inc.
ジョブの実行と管理 Cray Inc.
ジョブとプログラム • 計算ノードは全てバッチジョブ処理用に設定されている。 • プログラムはジョブの中で実行する。 • ジョブの中で複数のプログラムを実行する事も可能。 • ジョブの対話的な利用方法は後出 • ジョブは管理ソフトウエアPBS professionalのコマンドを用いて実行する。 • qsub, qstat, qdelなど • qsubされたジョブは • 実行開始はスケジューラに管理される • キューイングされた(実行開始待ちの)状態ではリソースは割り当てられていない。 • 実行開始時から実行終了時まで要求した計算ノードリソースを占有する。 • qsubコマンドオプションやディレクティブでのリソース要求はALPSにフォワードされ、ALPSのサーバによって具体的な割り当てが行われる • (一般のクラスタのようにノード名・ホスト名の指定は不要) Cray Inc.
ジョブの実行-基本的な利用方法 • ジョブスクリプトファイルを作成してqsubコマンドでジョブ投入 • cp /work/sample/cse01/xq1.sh . • cat xq1.sh • #PBS -N TMPJOB • #PBS -j oe • #PBS -l mppwidth=4 • cd /work/week/$USER/check_mpi/ • aprun -n 4 ./a.out • qsub xq1.sh • qstat • apstat • 計算ノード用プログラムは上記例のように aprunランチャで起動する。 • 注意 • aprunを付けずに直接 ./a.outを起動するとログインノードで実行されてしまう。 • 計算ノード用プログラムをログインノードで実行してもエラー終了となるケースが多く、 [0] assertion: st ==***などのメッセージが表示される。 • 計算プログラムの実行は計算ノードでだけ実行されたい Cray Inc.
ジョブの実行-バッチジョブコマンド • バッチジョブの投入 • qsubジョブスクリプトファイル • ターミナル画面上(標準出力)にジョブIDが表示される • バッチジョブのステータス表示 • qstat -a • バッチジョブの途中終了 • qdelジョブID • ジョブ中で利用可能な主なPBS環境変数 • PBS_O_WORKDIRジョブを投入したカレントディレクトリ • PBS_JOBNAMEジョブ名 • PBS_O_HOMEホームディレクトリ • PBS_O_QUEUEバッチキュー名称 • PBS_JOBIDジョブID • 他、 env | grep PBS_ で多数 Cray Inc.
システム間の主なqsubコマンドオプション対応表システム間の主なqsubコマンドオプション対応表 Cray Inc.
aprunのオプションとPBSディレクティブの関係 • 要求する計算ノードの数を決定する3パラメータ • プログラムのプロセス(PE)数:MPIプログラムのランク数に相当 • 各プロセスのスレッド数:OpenMPやPosix threadsの並列度(省略時1) • 1ノードあたりのプロセス数:(省略時4) Cray Inc.
ジョブの実行-MPI並列モデル • MPI並列のみの並列ジョブ例 (256ノードx4コア=1024並列 フラットMPI) #PBS -N TMPJOB #PBS -j oe #PBS -l mppwidth=1024 cd /work/week/$USER/check_mpi/ ftn f.f aprun -N 4 -n 1024 ./a.out -N 4 ノード内のコア数を指定 -n 1024 MPIのプロセス数(=並列度)を指定する Cray Inc.
ジョブの実行-ハイブリッド並列モデル • MPI+OpenMPハイブリッド並列ジョブ例(256ノードx1MPIプロセスx4スレッド=1024並列) #PBS -N TMPJOB #PBS -j oe #PBS -l mppwidth=256 #PBS -l mppnppn=1 #PBS -l mppdepth=4 cd /work/week/$USER/check_mpi/ ftn –mp=nonuma g.f setenv OMP_NUM_THREADS 4 aprun -N 1 –d 4 -n 256 ./a.out -N 1 ノード内のコア数を指定 -d 4 プロセスのスレッド並列度(=depth、OpenMPの並列度)の指示 -n 256 MPIのプロセス数(=並列度)を指定する Cray Inc.
ジョブの実行-対話的な利用 (xtjobexec) • 全ての計算ノードはバッチ処理用に構成されている。 • 対話的なプログラムの実行を行うには xtjobexecコマンドを使用 • xtjobexecコマンド • 対話セッションの起動方法(debugキューで実行される) • xtjobexec -n 並列度 -w 時間 • オプション-w 経過時間[秒] : 経過時間を指定します。省略値 600秒、最大値 1200秒。-n コア数 : 使用するコア数を指定します。省略値 1、最大値 64。-N ノードコア数 : ノードあたりのコア数。省略値 4、最大値 4。 Cray Inc.
バッチジョブの管理 • 各ユーザが使用可能なキューはユーザが所属するカテゴリにより決定される。 • ジョブが必要とするに計算ノードコア数に応じて、該当するバッチキューへ自動配置。(各自でキューを指定する必要なし) • フェアシェアスケジューリングにより利用実績に応じて次実行ジョブの開始優先度が判定される。 • バッチキューへのリソース割り当て(キュー構成) Cray Inc.
ジョブの監視 天文台XT4システム固有のコマンドジョブの監視 天文台XT4システム固有のコマンド • qls • 自分が利用できるリソース(ノード数、キュー名)の表示 xt02 /home/cse01> qls QUEUE CORE CORE WALLTIME MIN MAX MAX -------- ----- ----- -------- S 1 32 06:00:00 debug 1 64 00:30:00 M 33 256 06:00:00 L 257 1024 06:00:00 • qap • PBSのジョブIDを引数としたapstat表示(利用ノード数、経過時間) xt02 /home/cse01> qstat Job id Name User Time Use S Queue ---------------- ---------------- ---------------- -------- - ----- 606.sdb IsoV3 saitoutk 00:00:01 R M xt02 /home/cse01> qap 606 Placed Apid ResId User PEs Nodes Age State Command 2103 3 saitoutk 128 32 1h44m run asura.out Cray Inc.
ジョブの監視 天文台XT4システム固有のコマンドジョブの監視 天文台XT4システム固有のコマンド • xtqstat • PBSジョブIDとALPS apstatコマンドを組み合わせて表示 xt02 /home/cse01> xtqstat Job ID Username Queue Jobname SessID Apid Core Node Elap --------------- -------- -------- ---------- ------ ------ ------ ------ ----- 606.sdb saitoutk M IsoV3 5146 2103 128 32 01:56 608.sdb saitoutk M MergerV5 5263 2107 256 64 01:55 609.sdb saitoutk L MergerV5e1 5317 2109 1024 256 01:55 • xtqacctu • 累積利用時間の表示(未完成) Cray Inc.
ファイルシステム構成 • ユーザ毎にディスククォータ設定あり • home運用ルール • ソフトリミットを越えても1週間以内であればハードリミットまで使用可能。一週間を経過すると、ソフトリミットまで使用量を減らすまでデータ書き込みは不可 • work運用ルール Cray Inc.
計算ノードのメモリ使用 • プログラムプロセスが使用可能な静的変数のサイズは合計2GB上限 • 4バイト単精度では array(500 000 000) • 8バイト単精度では array(250 000 000) • 1プロセスで2GB以上の配列を使用する場合は動的に確保する • Fortran:配列変数をallocatable宣言+allocate文で実行時に動的確保 • C:同様に malloc()関数等を用いて動的領域確保 • Fortranプログラム例: program main integer Giga real, allocatable :: array(:) Giga= 800000000 allocate (array(Giga)) array(Giga)=1.0 write (,) "the stored value is=", array(Giga) deallocate(array) stop end Cray Inc.
最適化オプションの例 ftn -O3 -fastsse -Msmartalloc -tp barcelona-64 -Mlist -Mipa fort.F90 よく利用されるオプション PGIコンパイラ最適化オプション Cray Inc.
最適化オプションの例: -O3 -msse3 –ftree-vectorizer GCCコンパイラ最適化オプション Cray Inc.
ライブラリの利用 Cray Inc.
FFTWライブラリの利用 • FFTWはバージョン2.1.5と3.1.1が利用可能 • FFTW/2.1.5モジュール使用時の注意 • 2.1.5ではライブラリの名称によって、単精度・倍精度を使い分けているため、リンク時にはその名称を明示的に指示する必要がある • インクルードパス-I(アイ)やライブラリパス-Lの指定は不要 • 3.1.1ではリンク時のライブラリ指示は不要(モジュールロードだけでよい) • FFTW/2.1.5ライブラリ指定例: • 倍精度 % ftn foo.f -ldrfftw_mpi -ldfftw_mpi -ldrfftw –ldfftw • 単精度 % ftn foo.f -lsrfftw_mpi -lsfftw_mpi -lsrfftw –lsfftw Cray Inc.
IMSLライブラリの利用について 1 • XT4にインストールされているIMSLライブラリ • IMSL Fortran ライブラリ Ver6.0 (P10469) • IMSL C ライブラリ Ver6.0 (P10312) • IMSLライブラリの利用環境設定はベンダーの推奨する方法を使用 (モジュール環境を設定せず) • IMSL環境設定 • IMSL ライブラリご使用の際には、次のコマンドによりIMSLの環境変数の設定を行います。必要に応じて.bashrc 等への指定をお勧めします。 • bash, sh シェルの場合: Fortran . /opt/imsl/imsl/fnl600/lnxpg700x64/bin/fnlsetup.sh C ./opt/imsl/imsl/cnl600/linux64/bin/cnlsetup.sh • csh シェルの場合: Fortran source /opt/imsl/imsl/fnl600/lnxpg700x64/bin/fnlsetup.csh C source /opt/imsl/imsl/cnl600/linux64/bin/cnlsetup.csh Cray Inc.
IMSLライブラリの利用について 2 • IMSLプログラムコンパイル・リンク方法。 • FORTRANの例 • Cの例 Cray Inc.
IMSLライブラリの利用について 3 • IMSLプログラム実行方法 • FORTRANの例 Cray Inc.
IMSLライブラリの利用について 4 • IMSLプログラム実行方法 • Cの例 Cray Inc.
並列化の基礎 Cray Inc.