Similar documents
Microsoft Word - ユーザ向け利用の手引き_v0.3.doc

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows 日本語版 : インストール・ガイド

Microsoft Word - appli_OpenMX_install.docx

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド

TSUBAME利用手引き

インテル(R) Visual Fortran コンパイラ 10.0

TSUBAME利用手引き

目次 LS-DYNA 利用の手引き 1 1. はじめに 利用できるバージョン 概要 1 2. TSUBAME での利用方法 使用可能な LS-DYNA の実行 4 (1) TSUBAMEにログイン 4 (2) バージョンの切り替え 4 (3) インタラ

ADempiere (3.5)

Microsoft Word - winscp-LINUX-SCPを使用したファイル転送方法について

ビジネスサーバ設定マニュアル_ssh_ftp編(VPS・Pro)

SAMBA Stunnel(Windows) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxx 部分は会社様によって異なります xxxxx 2 Windows 版ダウンロード ボ

Microsoft PowerPoint - RemoteGuide pptx

SAMBA Stunnel(Mac) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxxxx 部分は会社様によって異なります xxxxx 2 Mac OS 版ダウンロー

目次 1. はじめに WEB インタフェース... 4 アクセス方法... 4 操作方法 FTP クライアント FFFTP(WINDOWS) インストール方法 アクセス方法 操作方法 CYBERD

PowerPoint Presentation

PowerPoint Presentation

「ビジネスサーバ」シリーズ設定マニュアル

鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル IC カードを利用しない応札者向け 第 1.7 版 平成 31 年 2 月鳥取県物品契約課 鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル Ver.01-07

目次 1 はじめに 製品に含まれるコンポーネント 動作環境... 4 オペレーティング システム... 4 Microsoft Visual Studio* 製品 製品のダウンロード 製品版をインストールする場合 評価版を

Intel MPI Library Linux

Maser - User Operation Manual

Slide 1

Microsoft Word - XOOPS インストールマニュアルv12.doc

<< 目次 >> 1 PDF コンバータのインストール ライセンスコードの入力 PDF にフォントを埋め込みたい場合の設定 PDF オートコンバータ EX で使用しない場合 PDF コンバータ単体で使用する場合の説明 PDF コンバータのアン

設定仕様書

PDFオートコンバータEX


ファイルサーバ ご利用の手引き 第 1.0 版 2008 年 2 月 14 日 近畿大学総合情報システム部 (KUDOS)

2. FileZilla のインストール 2.1. ダウンロード 次の URL に接続し 最新版の FileZilla をダウンロードします URL: なお バージョンが異なるとファイル名が

(株) 殿

eYACHO 管理者ガイド

OS の bit 数の確認方法 - Windows0 及び Windows8. Windows のコントロールパネルを開きます Windows0 の場合 スタート から Windows システムツール の コントロールパネル をクリックします Windows8. の場合 スタート から PC 設定

Microsoft Word - クライアントのインストールと接続設定

目次 第 1 章はじめに 電子入札システムを使用するまでの流れ 1 第 2 章 Java ポリシーを設定する前に 前提条件の確認 2 第 3 章 Java のバージョンについて Java バージョン確認方法 Java のアンインストール ( ケース2の

Hphi実行環境導入マニュアル_v1.1.1

1 はじめに はじめに 本マニュアルは アルファメールプラチナをご利用のお客様が 新 Web サーバー環境 に移行する手順と設定方法をご案内しております 新 Web サーバー環境ご利用開始までの手順について お客様 弊社 新 Web サーバー切替の申し込み P.3 新 Web サーバー切替のお申し込

新OS使用時の留意事項

商標類 Microsoft は, 米国およびその他の国における米国 Microsoft Corp. の登録商標です Microsoft Office は, 米国 Microsoft Corp. の商品名称です Microsoft Excel は, 米国 Microsoft Corp. の商品名称です

Pirates Buster Series Secure Viewer セットアップマニュアル (Web インストーラ)

NEC COBOL Enterprise Edition Developer クライアントライセンス V2.0 COBOL Enterprise Edition Developer クライアントライセンス V2.0 (1 年間保守付 ) COBOL Enterprise Edition Develo

ご利用の前に 目次 推奨環境とソフトウェアのバージョン 推奨環境について Windows8 Windows8.1 について Internet Explorer のバージョン確認 SAMWEB の初期設定 セ

Windows 環境での遺伝研スパコンシステムログイン手順 目次 1. 作業フロー 公開鍵 / 秘密鍵の生成 公開鍵の設置 SSH 接続確認 アカウント登録証に記載されているパスワードの変更 スパコンへのデータ転送 (

更新用証明書インポートツール 操作マニュアル 2011 年 10 月 31 日 セコムトラストシステムズ株式会社 Copyright 2011 SECOM Trust Systems CO.,LTD. All rights reserved. P-1

クラウドファイルサーバーデスクトップ版 インストールマニュアル 利用者機能 第 1.2 版 2019/04/01 富士通株式会社

FTP 共有を有効にする あらかじめ作成済みの共有フォルダーを FTP 共有可能にする設定を説明します 共有フォルダーの作成方法は 画面で見るマニュアル をご覧ください ファイル数の多い共有フォルダーを変更すると 変更が完了するまでに時間がかかる場合があります また 変更が完了するまで共有フォルダー

SAMBA Remote(Mac) 編 PC にソフトをインストールすることによって OpenVPN でセキュア SAMBA へ接続することができます 注意 OpenVPN 接続は仮想 IP を使用します ローカル環境にて IP 設定が被らない事をご確認下さい 万が一仮想 IP とローカル環境 IP

クイックセットアップ for モバイル(Windows)

インストールマニュアル

Windows ログオンサービス インストールマニュアル 2018/12/21 1

ご利用の前に 目次 - 0. 推奨環境とソフトウェアのバージョン 推奨環境について Windows8 Windows8. について Internet Explorer のバージョン確認 SAMWEB の初期設定 セキュリティ設定..

目次 1. 教育ネットひむかファイル転送サービスについて ファイル転送サービスの利用方法 ファイル転送サービスを利用する ( ひむか内 ) ファイル転送サービスへのログイン ひむか内 PCでファイルを送受信する

3 ハイパーサーバサービスの諸設定を行う為の コントロールパネル のメイン画面が表示されます ウェブサイトとドメイン タブの データベース 欄にある 新規データベースを追加 をクリックします ( 新規データベースを追加 ボタンがない場合は データベース をクリックし データベース画面にある 新しいデ

インストールマニュアル

注意事項 (1)Windows 10 を使用する場合 注意事項 1 注意事項 3 注意事項 4 についてご対応をお願いします (2)Windows 8.1 を使用する場合 注意事項 2 注意事項 3 注意事項 4 についてご対応をお願いします (3)Windows 7 上で Internet Exp

クイックセットアップ for モバイル(Windows)

クライアント証明書導入マニュアル

クラウドファイルサーバーデスクトップ版 インストールマニュアル ファイルサーバー管理機能 第 1.1 版 2017/01/24 富士通株式会社

情報処理概論(第二日目)

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

GXS-I WebIEAS オペレーション ガイド 版 : 第 1 版 2007 年 01 月 22 日 第 2 版 2011 年 12 月 02 日 第 3 版 2012 年 04 月 27 日 第 4 版 2013 年 06 月 17 日 ( 本書 ) GXS 株式会社 (c) 20

V-Client for Mac ユーザーズガイド

2. インストールの方法 インストールの手順は まずインストーラーをサイトからダウンロードし イールドブック カリキュレーターと Java Web Start をインストールします 次にイールドブック カリキュレーターを起動してサーバー接続し Java のファイルをダウンロードします 以下の手順に従

スクールCOBOL2002

PC にソフトをインストールすることによって OpenVPN でセキュア SAMBA へ接続することができます 注意 OpenVPN 接続は仮想 IP を使用します ローカル環境にて IP 設定が被らない事をご確認下さい 万が一仮想 IP とローカル環境 IP が被るとローカル環境内接続が行えなくな

ホスティングA管理画面[Plesk]マニュアル コンテンツアップロード編

9. システム設定 9-1 ネットワーク設定 itmはインターネットを経由して遠隔地から操作を行ったり 異常が発生したときに電子メールで連絡を受け取ることが可能です これらの機能を利用するにはiTM 本体のネットワーク設定が必要になります 設定の手順を説明します 1. メニューリスト画面のシステム設

クライアント証明書インストールマニュアル

USB トークン (epass2003) ユーザマニュアル Ver2.0 1 / 25 Copyright 2018 Mitsubishi Electric Information Network Corporation All rights reserved.

改版履歴 版数 日付 内容 担当 V /03/27 初版発行 STS V /01/27 動作条件のオペレーティングシステムに Windows 7 STS を追加 また 動作条件のブラウザに Internet Explorer 8 を追加 V /0

リモートアクセスライト インストールガイド リモートアクセスライト インストールガイド 第 1. 1 版 2017 年 12 月 12 日

PowerPoint プレゼンテーション

<8B9E93738CF092CA904D94CC814090BF8B818F B D836A B B B816A2E786C73>

1 目次 本書の構成 2 体験版申請用総合ソフトの機能 3 申請用総合ソフトとの相違点 体験版申請用総合ソフト ver.3.0 は, 本番用の申請用総合ソフト (3.0A) の機能に擬似データを加えたものです

Shareresearchオンラインマニュアル

PowerPoint プレゼンテーション

Transcription:

2.06 版 (2014/01/31) 高性能計算サーバシステム 利用の手引き ( 公財 ) 計算科学振興財団運用課

目次 1. システム構成... 1 1.1. システム構成概念図... 1 1.1.1. 高性能計算サーバシステムの概念図... 1 1.1.2. 高性能計算サーバシステムの各構成要素の特徴と概要... 2 1.2. ハードウェア構成... 4 1.2.1. サーバシステム... 4 1.2.2. ワークステーションシステム 講習用端末システム... 5 1.3. ソフトウェア構成... 6 1.3.1. オペレーティングシステム (OS)... 6 1.3.2. ソフトウェア... 7 1.3.3. アプリケーションプログラムのご利用方法... 9 1.4. ディレクトリ構成...10 1.4.1. ストレージシステムのディレクトリ構成...10 2. システム利用方法...11 2.1. システムへのログイン方法...11 2.1.1. 高度計算科学研究支援センター内でのシステムへのログイン方法...11 2.1.2. インターネットからの SSL-VPN 接続によるシステムへのログイン方法...16 2.1.3. インターネットからの SSH 接続によるシステムへのログイン方法...17 2.1.4. インターネットからの SSH 多段接続によるシステムへのログイン方法...27 2.1.5. WinSCP を使ったファイル転送方法 ( お手元の計算機とフロントエンドサーバ間 )...30 2.1.6. C システムの利用方法...33 2.1.7. パスワードの変更概要...33 2.1.8. パスワードの変更 ( センター内 )...33 2.1.9. パスワードの変更 ( センター外 SSL-VPN 接続 )...33 2.2. 課金確認コマンド...34 2.2.1. プロジェクト単位従量課金確認コマンド thismonth...34 2.2.2. 利用者単位従量課金確認コマンド uacct...34 2.3. コンパイラ環境変更...36 2.4. 利用者環境...37 2.5. 改行コード...38 2.5.1. 改行コード...38 2.5.2. エディタ...38 2.5.3. 改行コードの変換...39 2.5.4. マニュアル...40 2.6. 利用上のご質問お問い合わせシステム ProjectWEB 利用法...42 2.6.1. パスワードの変更...42 2.6.2. QA 管理の新規登録...45 2.6.3. QA 管理の追加登録および削除...49 2.7. 予約システム...53 2.8. スパコンネットワーク内 Web ページ...53 3. A システム ( フロントエンドサーバシステム 演算サーバシステム ) B システム ( データ処理サーバシステム ) C システム ( クラウドシステム ) の利用方法...54

3.1. Intel コンパイラ...54 3.1.1. コンパイルコマンド...54 3.1.2. 環境変数設定...55 3.1.3. コンパイルオプション...55 3.1.4. コンパイル方法...56 3.1.5. コンパイル方法 ( 注意事項 )...58 3.1.6. 使用例...58 3.1.7. MPI(Intel コンパイラ )...59 3.1.8. MKL(Math Kernel Library)...60 3.1.9. エンディアン...67 3.1.10. Intel Compiler V11 の利用法...68 3.1.11. Intel Compiler V12.1 の利用法...68 3.1.12. インテル Composer XE 2013 の利用法...69 3.2. PGI コンパイラ...70 3.2.1. コンパイルコマンド...70 3.2.2. 環境変数設定...70 3.2.3. コンパイルオプション...71 3.2.4. コンパイル方法...71 3.2.5. 使用例...71 3.2.6. MPI(PGI コンパイラ )...72 3.2.7. PGI コンパイラ 10.9 の利用法...73 3.2.8. PGI コンパイラ 11.1 の利用法...73 3.3. GCC(GNU Compiler Collection)...74 3.3.1. コンパイルコマンド...74 3.4. プログラム実行...75 3.4.1. キュー...75 3.4.2. ジョブ実行方法...76 3.4.3. ジョブの実行状況の確認...84 3.4.4. ジョブの削除...86 3.4.5. バッチリクエストの実行途中結果...86 3.4.6. ジョブの実行結果...86 4. SPARC64 サーバ...87 4.1. 富士通コンパイラ...87 4.1.1. コンパイルコマンド...87 4.1.2. 環境変数設定...87 4.1.3. コンパイルオプション...88 4.1.4. コンパイル方法...88 4.1.5. 使用例...89 4.1.6. MPI...89 4.1.7. エンディアン...90 4.2. プログラム実行...91 4.2.1. キュー...91 4.2.2. ジョブ実行方法...94 4.2.3. ジョブの実行状況の確認...99 4.2.4. ジョブの実行結果... 101

1. システム構成 1.1. システム構成概念図 1.1.1. 高性能計算サーバシステムの概念図 利用者端末 100Mbps ファイアウォール 1Gbps ウェブサーバシステム PRIMERGY RX100S6 2 ログインサーバシステム PRIMERGY RX300S6 2 管理系システム FOCUS スパコンネットワーク A システム演算サーバシステム PRIMERGY BX922S2 208 ノード Xeon L5640 2.26GHz 2/ ノード主記憶 48GB/ ノード OS: CentOS5.5(64bit 版 ) フロントエンドサーバシステム PRIMERGY RX300S6 15 ノード Xeon L5640 2.66GHz 2/ ノード主記憶 48GB/ ノード OS: RHEL5.5(64bit 版 ) Infini- Band QDR B システムデータ処理サーバシステム PRIMERGY RX600S5 2 ノード Xeon X7520 1.86GHz 4/ ノード主記憶 512GB/ ノード OS: CentOS5.5(64bit 版 ) C システム演算サーバシステム PRIMERGY CX122S1 38 ノード Xeon L5640 2.26GHz 2/ ノード主記憶 48GB/ ノード OS: CentOS5.5(64bit 版 ) ストレージシステム ETERNUS DX80 1 DISK 容量 :1PB (RAID5) ( バックアップを含む ) FC 接続 SPARC64 サーバシステム SPARC Enterprise M3000 2 ノード SPARC64Ⅶ 2.75GHz 1/ ノード主記憶 8GB/ ノード OS: Solaris10 1

1.1.2. 高性能計算サーバシステムの各構成要素の特徴と概要 高性能計算サーバシステムの各構成要素の特徴と概要は以下の通りです ファイアーウォールインターネットからの不正アクセスを防ぎます 各種ポートを塞いだり一方通行にしたり等のアクセス制御を行う他 自動侵入検知 防止装置を備えます ウェブサーバシステム高性能計算サーバシステムの利用に関する情報を提供します 運用情報や予約状況等を表示します ログインサーバシステムインターネットからの SSH プロトコルを使用したログイン接続 ファイル転送の中継を行います この計算機に一旦ログインしてから再度 フロントエンドサーバシステムに SSH でログイン ファイル転送を行います ディレクトリ構成は以下のようになります ディレクトリパス利用目的 /home1/ グループ名 / ユーザ名ホームディレクトリ 容量は 1 ユーザあたり 1GB /data/ グループ名 1GB 以上必要な場合に使用 ( 毎月 1 日 0 時に削除 ) /share/ グループ名 / ユーザ名 2 つのログインサーバからの共通ディレクトリログインサーバはフロントエンドサーバ上のデータをお手元のマシンに中継する際の一時的な場所ですのでファイルを転送した後は可能な限り直ちにデータを消去してください フロントエンドサーバシステム高性能計算サーバシステムを利用するための拠点となります プロジェクト毎の専用のファイルシステムがマウントされ 利用者がログインし プログラムの開発 ジョブ管理システムの利用 小規模な解析 デバッグ 小規模なプリポスト処理等を行います A システム高性能計算サーバシステムの中核たるシステムです ノード内 12 コアを利用した共有メモリ並列から Infiniband-QDR(40Gbit/s) で接続されたノード間分散メモリ並列 それらを組み合わせたハイブリッド並列と京速コンピュータ 京 の産業利用を推進するための様々なプログラミングモデルのスタートアップ ステップアップに利用頂けます B システム大容量共有メモリ (512GB) を備え A システムや 京 で計算するための入力データを作成したり 計算した結果をディスク上から大規模共有メモリに読込んで高速にポスト処理を行ったりするためのシステムです ノード内に 16 コアを備えております C システム通信ネットワークを除いて性能は A システムと同等です ノード間は GbEther で接続されています 2012 年 6 月より 16 ノードは Infiniband-QDR 接続され A システムと一体運用されています SPARC64 サーバシステム京速コンピュータ 京 と同系統の CPU アーキテクチャ SPARC64 VII(4 コア /CPU) を 1 ノード 1 基搭載したシステムです A システムから 京 に移行する際の単体 CPU チューニングや 2 ノードを使ったノード間並列に利用します 2

ストレージシステムプロジェクト毎に専用のファイルシステムを提供するため 大容量 (1PB) を確保しています 3

1.2. ハードウェア構成 以下のシステムを中心に構成されます 1.2.1. サーバシステム A システム : フロントエンドサーバ ( 富士通製 RX300S6)15 ノードと演算サーバ ( 富士通製 BX922S2)208 ノードを高速インターコネクトで接続した構成 CPU メモリ 備考 Intel Xeon 専用フロントエンド L5640(2.26GHz) 2CPU( 計サーバ 12 コア )/ ノード 48GB/ ノード 演算サーバ Intel Xeon L5640(2.26GHz) 2CPU( 計 12 コア )/ ノード 48GB/ ノード ターボブーストは有効 B システム : データ処理サーバ ( 富士通製 RX600S5)2 ノードによる構成 共用フロントエンドサーバー CPU メモリ備考 共用フロントエンドサーバデータ処理サーバ Intel Xeon X7520(1.86GHz) 4CPU( 計 16 コア )/ ノード 512GB/ ノード *1 参照 *2 参照 *1 各ノードの 8 コア メモリ 256GB をフロントエンドとして運用 *2 各ノードの 8 コア メモリ 256GB をデータ処理サーバとして運用 C システム : 演算サーバ ( 富士通製 CX122 S1)38 ノードを GbEther で接続し うち 16 ノードは 高速インターコネクトで A システムと接続した構成 CPU メモリ 備考 Intel Xeon 演算サーバ L5640(2.26GHz) 2CPU( 計 12 コア )/ ノード 48GB/ ノード SPARC64 サーバ : 富士通製 SPARC Enterprise M3000 2 ノードによる構成 CPU メモリ備考 SPARC64 サーバ SPARC64Ⅶ(2.75GHz) 1CPU (4 コア )/ ノード ログインサーバ : 富士通製 RX300S6 2ノードによる構成 ウェブサーバ : 富士通製 RX100S6 2ノードによる構成 8GB/ ノード 4

1.2.2. ワークステーションシステム 講習用端末システム ワークステーション : DELL 製 Precision T5500 で DVD スーパーマルチドライブを搭載 ディスプレイは 24 ワイド TFT(1920 1200) 2/ 台を接続 CPU メモリ備考 Intel Xeon ワークステーション E5630(2.53GHz) 2CPU( 計 8 コア )/ 台 48GB/ 台 端末利用室に設置 講習用端末 : 富士通製 ESPRIMO K551/B で DVD-ROM ドライブを搭載 ディスプレイは本体一体型で 19 ワイド TFT(1440 900) を搭載 CPU メモリ 備考 Intel Core i3-380m 講習用端末 (2.53GHz) 1CPU(2 コア )/ 台 2GB/ 台 センター内実習室に設置 5

1.3. ソフトウェア構成 各計算機に導入するソフトウェアの構成を示します 1.3.1. オペレーティングシステム (OS) 各システムで採用するオペレーティングシステム (OS) を示します 表 1.3.1-1 オペレーティングシステム (OS) システム名 オペレーティングシステム (OS) ログインサーバシステム Red Hat Enterprise Linux 5.5(64bit 版 ) フロントエンドサーバシステム Red Hat Enterprise Linux 5.5(64bit 版 ) 演算サーバシステム CentOS 5.5(64bit 版 ) データ処理サーバシステム CentOS 5.5(64bit 版 ) SPARC64 サーバシステム Solaris 10 ワークステーションシステム Windows 7 Professional(64bit 版 ) 講習用端末システム Windows 7 Professional 6

SPARC64 高性能計算サーバシステム利用の手引き 1.3.2. ソフトウェア 各システムで利用可能な主なソフトウェアの一覧を示します 表 1.3.2-1 ソフトウェア一覧 ( サーバシステム ) フロントエンドサー 演算サーバ システ データ処理サーバ サーバ バシス ム システ システ テム ム ム ジョブスケジューリング 開発環境 ( コンパイラ ) Platform LSF - Parallelnavi BP - - - インテル Cluster Studio 2011 - インテル コンパイラ 12.0 クラスター ツールキット コンパイラ エディション ソフトウェア PGI CDK - GNU - Parallelnavi LP - - - Java SDK - Emacs - - - vim - OpenMPI - MPICH2 - fhpf - OpenMX - GAMESS - ABINIT-MP - NAMD - GROMACS - OpenFOAM (*) - ParaView - gnuplot - Octave - Pov-Ray - R - GLview - - AutoDock Vina - (*) GCC でビルドした OpenFOAM を実行する場合は 環境変数を別途設定する必要があります 2.3. コンパイラ環境変更 を参考に.bashrc_gcc を読み込み 設定を行ってください 7

表 1.3.2-2 ソフトウェア一覧 ( ワークステーションシステム 講習用端末 ) ワーク ステー 講習用端末 ション システ ム ソフトウェア LZH/ZIP 形式の圧縮 展開 Lhaplus telnet/ssh クライアント PuTTY SSH2 プロトコルと UTF-8 表示に対応した ターミナルエミュレータ TeraTerm SCP/SFTP クライアント WinSCP UNIX ライクな環境のひとつである Cygwin X Window System の実装のひとつであ る Cygwin/X テキストエディタ TeraPad Perl のディストリビューションである ActivePerl - Python - OpenOffice - ParaView - Office Personal 2007 With PowerPoint 2007 - AcrobatReader - 8

1.3.3. アプリケーションプログラムのご利用方法 /home1/share/ にインストールしたアプリケーション 数値計算ライブラリ等はご自由に利用ください FOCUS スパコンで動作検証済みの商用 有償アプリケーションは Gaussian 09 以外はソフトウェアベンダーからライセンスを取得して頂きましてご利用いただきます その他 各ユーザがホームディレクトリ下に 独自にインストールしたものが利用可能です 1.3.3.1. ライセンスが必要なアプリケーション ( 商用 有償 ) コンパイラ コンパイラ (Intel コンパイラ,PGI コンパイラ ) については無償で使用していただくことができます ( ただしまれに同時にご使用の方が多いタイミングで 導入しておりますライセンス数を越えてしまい ご使用のためのライセンスがありませんというエラーが出ることがございますが そのような場合はしばらく時間を置いてご利用下さい ) コンパイラ以外の商用 有償ソフトウエア ANSYS FLUENT, Advance/FrontFlow/red, STRAM V9, SCRYU/Tetra V9, RFLOW, ADVentureCluster, Advance/FrontSTR 等に関しましては FOCUS スパコンで利用するために新たにライセンスを取得する必要がございます 各アプリケーションの代理店等に関しましては お問い合わせ下さい サポート等は各ソフトウェアベンダー等が担当いたします (FOCUS スパコンに未導入の商用ソフトウエアをご利用されたい場合は各ソフトウェアベンダー等に FOCUS スパコンで使いたいとご相談下さい ) 1.3.3.2. フリーソフトウェア /home1/share にインストールされているアプリケーション 数値計算ライブラリ 画像処理ライブラリ等 OpenFOAM, GROMACS, ParaView, Octave, POV-Ray, NAMD,GMP, MPFR, Qt, FFTW, tiff ライブラリ,jpeg ライブラリ等は利用者に自由に使っていただくことができます しかしながら当該アプリケーションのご利用にあたっては FOCUS によるサポートはございません ユーザあるいはプロジェクトとして FOCUS スパコンに未導入のフリーソフトウェアを利用されたい場合は各自のホームディレクトリやプロジェクト共用ディレクトリ下に自由にインストールして利用して頂いてかまいません 基本的に FOCUS からのサポートはございません 1.3.3.3. 利用サポート FOCUS スパコンに導入された商用ソフトウェアのサポートは各ソフトウェアベンダーが行います 現在 以下のサポートサービスが提供されております OpenFOAM 利用サポートサービス :( 株 )CAE ソリューションズ http://www.j-focus.jp/documents/openfoamsupportguide.html Gaussian/GaussView/GAMESS/AMBER/CONFLEX 利用サポートサービス : コンフレックス ( 株 ) http://www.j-focus.jp/documents/conflexsupportguide.html 9

1.4. ディレクトリ構成 1.4.1. ストレージシステムのディレクトリ構成 共用フロントエンドサーバ 演算サーバで利用するストレージシステムのディレクトリ構成を示します 表 1.4.1-1 ディレクトリ構成一覧ディレクトリパス利用目的 /home1/ グループ名 / ユーザ名ホームディレクトリ /home1/ グループ名グループメンバーにて共用するディレクトリを作成することができます /home1/share システムで共有するソフトウェア /work/ グループ名スクラッチディレクトリ ( 共有ファイルシステム ) /tmp スクラッチディレクトリ ( 演算サーバのローカルディスク ) グループメンバーで共有したいソフトウェア等は /home1/ グループ名配下にディレクトリを作成し インストールを行ってください /work 配下のファイルやディレクトリはジョブ終了後速やかに消去してください 他の利用者も利用する共通領域です I/O 性能は約 100MB/sec です /tmp は演算サーバのローカルディスクになります 当該演算サーバにて新しいジョブが実行されるとデータは /tmp は以下のデータは消去されます 容量は 400GB です 上記以外は サーバの各 OS に準じます 10

2. システム利用方法 高性能計算サーバシステムの利用方法について以下に示します 2.1. システムへのログイン方法 2.1.1. 高度計算科学研究支援センター内でのシステムへのログイン方法 各サーバシステムのシステム名 ホスト名 接続プロトコルを示します 計算科学支援センター内に設置されている実習室の講習用端末システムまたは端末利用室のワークステーションシステムから目的のサーバに接続します 表 2.1.1-1 ホスト名 / 接続プロトコル ホスト名 SSH 接続プロトコル teln et SCP FTP 共用フロントエンドサーバ ( データ処理サーバと並行運用 ) l001.j-focus.jp l002.j-focus.jp 専用フロントエンドサーバ f005.j-focus.jp f013.j-focus.jp SPARC64 サーバ sparc1.j-focus.jp A システム B システム C システムをご利用の際は共用フロントエンドサーバにログインしてください SPARC64 サーバのご利用には別途利用申請書を提出していただく必要があります SPARC64 サーバにログインするにはログインサーバまたはフロントエンドサーバを経由する必要があります (SSL-VPN 接続においてお手元の計算機 SPARC64 サーバへの直接ログインはできません ) 2012 年 10 月 25 日より f002,f003,f004 は共用フロントエンドとしてご利用いただけなくなっております 11

2.1.1.1. Tera Term などで SSH 接続する場合 講習用端末システムまたはワークステーションシステムで SSH クライアントソフトを起動します 以下は Tera Term を使用した場合の例です スタートメニュー > すべてのプログラム > Tera Term で Tera Term を起動する (1) ホスト名に 接続したいサーバ名 (l001.j-focus.jp または l002.j-focus.jp) を入力し SSH を選択 SSH バージョンは SSH2 を選択します 12

(2) ユーザ名に発行されたユーザ ID, パスフレーズにパスワードを入力します (3) プレインテキストを使う を選択します (ID を入力中に以下のようなセキュリティ警告ウインドウが現れますが 続行ボタンを押して続けます )OK ボタンを押します (4) 接続に成功すると 以下のようなコマンドプロンプトが表示されます 13

2.1.1.2. WinSCP によるファイル転送 スタートメニュー > すべてのプログラム > WinSCP で WinSCP を起動する (1) 接続したいホスト名 (l001.j-focus.jp または l002.j-focus.jp) ポート番号に 22 ユーザ名にユーザ ID パスワード を入力します (2) ログインをクリックします (3) 下の図のように 講習用端末と FOCUS スパコンの間でファイル転送ができるようになります なお 講習用端末システム内のハードディスクの内容は起動時に初期化されるようになっ ておりますので ご注意ください 14

2.1.1.3. X Window System を利用するアプリケーションをご利用の場合の手順 (1) スタートメニュー > すべてのプログラム > Cygwin-X > XWin Server を起動します (2) スタートメニュー > すべてのプログラム > Tera Term を起動します (3)Tera Term を起動すると 新しい接続の設定 ウインドウが出ますが キャンセルボタンを押し 新しい接続の設定 ウインドウを閉じます (4)Tera Term のメニューで設定 (S) > SSH 転送を選択します (5) リモートの (x) アプリケーションをローカルの X サーバに表示する にチェックを入れ OK を押します (6) Tera Term のメニューでファイル (F) > 新しい接続で 新しい接続の設定 ウインドウを開きます (7) あとは通常の手順 (2.1.1.1 参照 ) で接続します X Window System を利用するアプリケーションを講習用端末で利用出来るようになります 15

2.1.2. インターネットからの SSL-VPN 接続によるシステムへのログイン方法 お手元の計算機がインターネットに対して SSL-VPN 接続できる環境であれば SSL-VPN 接続によりセンターにアクセスすることができます 以下に接続方法について示します [ 事前準備 ] 1 SSL-VPN の接続環境を準備する ( 別紙の SSL-VPN 利用者マニュアル を参照 ) [ 接続方法 ] 1 SSL-VPN で接続する ( 別紙の SSL-VPN 利用者マニュアル を参照 ) 接続後のサーバとの接続方法については 2.1.1 項のログイン方法を参照ください 16

2.1.3. インターネットからの SSH 接続によるシステムへのログイン方法 お手元の計算機がインターネットに対して SSH 接続できる環境であれば SSH 接続によりセンターにアクセスすることができます (SSH 接続するには事前にセンターに公開鍵を登録する必要があります ) ログインサーバ ssh.j-focus.jp に接続し そこから再度 FOCUS スパコン内の共有フロントエンドサーバ fe.j-focus.jp に接続し (l001, l002 のいずれかに接続されます ) ご利用いただきます 以下に接続方法について示します 2.1.3.1. 事前準備 1 公開鍵 秘密鍵を作成する 2 センターに 1 で作成した公開鍵を送付し登録を依頼する 3 センターから登録完了の連絡を待つ 4 公開鍵 秘密鍵を変更する場合は 1~3 を再度行う 公開鍵 秘密鍵の作成例 : Tera Term を使った公開鍵 秘密鍵の作成方法 (1)Tera Term を起動すると 新しい接続 のウインドウが開くので キャンセルボタンを押して閉じます (2) メニューバーの [ 設定 (S)] をクリックします (3) サブメニューから [SSH 鍵生成 (N) ] をクリックします 17

(4) TTSSH: 鍵生成 ウインドウが開くので RSA2 をチェックし [ 生成 ] ボタンをクリックします ( 注 ) 日本語 Windows 環境では上の図のように RSA2 の表記の 2 が隠れておりますが 鍵の種類 の中央のものが RSA2 になっております (5) キーのパスフレーズとパスフレーズの確認に同じパスフレーズを入力 ( 推奨 ) します (6) [ 公開鍵の保存 (C)] と [ 秘密鍵の保存 (P)] でそれぞれ公開鍵と秘密鍵を保存します (7) センターに公開鍵の登録を依頼します ProjectWEB(https://pjshr139.soln.jp/IJS06D5/pjwebroot/login.jsp)(2.6 章参照 ) 経由で送付お願いします もしくは運用課 unyo@j-focus.or.jp 宛にメールを添付公開鍵は ユーザ個人単位でそれぞれ別のものが必要です 公開鍵の送付の際は あわせてユーザ ID も記載お願いします (8) 秘密鍵は SSH 接続する際に使用します 秘密鍵のファイルは厳重に管理お願いします ( 公開鍵登録の際に誤って送付されないようにお願いします ) 18

2.1.3.2. ログインサーバへの接続方法 SSH クライアントにより前述で作成した秘密鍵を指定してセンターの以下の接続先によりログインサ ーバに接続する 接続先 サービス ポート番号 サービスバージョン 認証方式 ssh.jfocus.jp SSH 22 SSH2 公開鍵認証 SSH の接続例 : Tera Term による接続方法以下に Tera Term を使った公開鍵認証でのログイン方法を説明します ご使用の環境によってはプロキシを設定する必要があります ネットワーク管理者にご確認ください (1) Tera Term を起動し ホスト名に接続するログインサーバ名 ssh.j-focus.jp を入力します サービスは SSH ポート番号は 22 サービスバージョンは SSH2 を選択します [OK] をクリックします (2) SSH 認証画面が表示されたら ユーザ名にセンターから発行されたユーザ ID を入力し パスフレーズには公開鍵 秘密鍵を作成した際に指定したパスフレーズを入力してください さらに RSA/DSA 鍵を使うをチェックし 端末に保存している秘密鍵を指定します [OK] を押すと接続されます 19

( ユーザ ID を入力中に以下のようなセキュリティ警告ウインドウが現れますが [ 続行 ] ボタンを押して続けます ) (4) ログインサーバ ssh.j-focus.jp に接続すると [ ユーザ ID@f016~]$ もしくは [ ユーザ ID@f017~]$ というコマンドプロンプトが表示されます 20

2.1.3.3. サーバへの接続方法 ssh コマンドにより共有フロントエンドサーバ fe.j-focus.jp に接続します (l001, l002 のいずれかに接続します ) [ 接続例 ] ssh fe 21

2.1.3.4. ファイル転送方法 ログインサーバ ssh.j-focus.jp を介して 共有フロントエンドサーバ (fe.j-focus.jp) に接続している場合 それぞれ独立したファイルシステムがマウントされますので ファイル転送は お手元の計算機 ログインサーバ (ssh.j-focus.jp) 共有フロントエンドサーバ (fe.jfocus.jp) と 2 段階の転送が必要になります 1 ファイル転送クライアント (WinSCP など ) によりログインサーバにファイルを転送します SCP の接続例 : WinSCP による接続方法以下に WinSCP を使った公開鍵認証でのログイン方法を説明します ご使用の環境によってはプロキシを設定する必要があります ネットワーク管理者にご確認ください (1) WinSCP を起動し セッションを選択します (2) ホスト名に接続するログインサーバ名 ssh.j-focus.jp ポート番号に 22 ユーザ名にユーザ ID を入力します パスワードには何も入力する必要はありません WinSCP 用に変換した PuTTY 形式の秘密鍵を選択します ( 鍵の形式の変換方法は 2.1.3.5 参照 ) プロトコルは SFTP または SCP プロトコルが SFTP の場合には SCP 代替システムにチェックを入れます [ ログイン ] を押します (3) セキュリティ警告画面 ( 初回アクセス時のみ表示されます ) が表示されたら 内容を確認し [ はい ] を押 します 22

(4) 公開鍵 秘密鍵を作成した際に指定したパスフレーズを入力します (5) お手元の計算機とログインサーバ間でファイル転送が出来るようになります 2 ログインサーバと共有フロントエンドサーバ (fe.j-focus.jp) 間のファイル転送は scp コマンドを使用してファイルを転送を行います [ 接続例 ] scp fe: コピー元パス名コピー先パス名 ユーザ ID を指定する場合はサーバ名の前にユーザ名 @ を追加してください [ 接続例 ] scp ユーザ ID@ 目的のサーバ : コピー元パス名コピー先パス名 ( 注 ) フロントエンドにログインした状態でログインサーバにファイルを転送する場合は 転送先のサーバのアドレスを ssh.j-focus.jp ではなく f016.j-focus.jp または f017.j-focus.jp とする必要があります 23

2.1.3.5. 秘密鍵の変換 : PuTTYgen を使った WinSCP 用 PuTTY 形式への変換方法 スタート プログラム WinSCP 鍵関連ツール PuTTYgen で PuTTYgen を起動する (1) Conversions Import Key を選択する (2) 2.1.3.1 の手順で作成した秘密鍵を選択する (3) 鍵を作成する際に指定したパスフレーズを入力する 24

(4) Save private key をクリックし 変換した鍵を保存する 25

2.1.3.6. X Window System を利用するアプリケーションをご利用の場合の手順 (windows 環境 ) (1) お手元の計算機に Cygwin/X Xming 等の X サーバソフトウエアをあらかじめインストールしておき X サーバを起動します (2) Tera Term を起動します Tera Term を起動すると 新しい接続の設定 ウインドウが出ますが キャンセルボタンを押し 新しい接続の設定 ウインドウを閉じます (3) Tera Term のメニューで設定 (S) > SSH 転送を選択 (4) リモートの (X) アプリケーションをローカルの X サーバに表示する にチェックを入れ OK を押します (5) Tera Term のメニューでファイル (F) > 新しい接続で新しい接続の設定ウインドウを開きます (6) ログインサーバへは通常の手順 (2.1.3.2 参照 ) で接続します (7) ログインサーバから共用フロントエンドサーバ (fe.j-focus.jp) に ssh 接続する際には -X ( えっくす X は大文字 ) オプションを付けて ssh X fe とします (8) X Window System を利用するアプリケーションを接続にご利用の端末で利用出来るようになります 26

2.1.4. インターネットからの SSH 多段接続によるシステムへのログイン方法 2.1.3 ではお手元の PC(localhost) からログインサーバに接続し そこから再度 FOCUS スパコン内の目的のフロントエンドサーバに接続する方法を示しました 本節では SSH 多段接続により localhost から直接フロントエンドサーバにログインする方法について示します 2.1.4.1. proxy 設定による SSH 多段接続の設定方法 (Windows cygwin, MacOS, linux 等 ) localhost での設定は $HOME/.ssh/config ファイルを以下のように設定します ログインするフロントエンドサーバは l001 ユーザ ID は user0001 の場合の設定例になります $HOME/.ssh/config 設定例 Host FocusLogin # HostName ssh.j-focus.jp User user0001 Port 22 IdentityFile ~/id_rsa # フロントエンドサーバの設定 # ユーザ ID # ポート番号 # SSH 秘密鍵の場所 Host l001focus HostName l001.j-focus.jp # ホストの指定 User user0001 # ProxyCommand ssh FocusLogin nc %h %p # config ファイルでの設定終了後 フロントエンドへの接続を実行します 多段 SSH 接続実行例 [localhost] $ ssh l001focus Enter passphrase for key '~/id_rsa': ssh 鍵のパスワードを入力 user0001@l001's password: フロントエンドサーバのログインパスワードを入力 Last login: Wed Aug 29 14:05:10 2012 from f017.j-focus.jp [user0001@l001 ~]$ hostname l001.p [user0001@l001 ~]$ scp コマンドを使って localhost から直接フロントエンドサーバへファイルのコピーを行うことも可能です 多段 SSH 接続を使った scp 実行例 [localhost] $ scp testfile l001focus:~ testfile を l001 のホームにコピー Enter passphrase for key '~/id_rsa': ssh 鍵のパスワードを入力 user0001@l001's password: フロントエンドサーバのログインパスワードを入力 testfile 100% 217 0.2KB/s 00:00 [localhost] $ 27

2.1.4.2. tera term を使った SSH 多段接続の設定方法 tera term を使った SSH 多段接続ではマクロを設定します 1) テキストエディターを使ってマクロを作成します 以下では FOCUS_FE.ttl という名前でファイルを作成しています ( 接尾語は ".ttl" にしてください ) マクロ設定例 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; username = 'user0001' hostname1= 'ssh.j-focus.jp' ; ユーザ ID keyfile = '"C:Documents and Settingsxxxxid_rsa"' ;SSH 秘密鍵の場所 hostname2= 'fe' ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; msg = hostname1 strconcat msg ':22 /ssh /auth=publickey /user=' strconcat msg username strconcat msg ' /keyfile=' strconcat msg keyfile strconcat msg ' /ask4passwd' connect msg remote_prompt = '$' wait remote_prompt msg = 'ssh ' strconcat msg username strconcat msg '@' strconcat msg hostname2 sendln msg 2) 接尾語.ttl をもつファイルが FOCUS_FE.ttl が実行エンジン ttpmacro.exe に関連しているようエクスプローラから設定する 2.1) 該当ファイルを右クリックし プロパティ を表示する 28

2.2) ファイルの種類 --> 変更 ---> このファイルの種類を開くプログラムを選択 ---> ttpmacro.exe を選択 3) FOCUS_FE.ttl をダブルクリックすると tera term が立ち上がります パスワードを入力し OK をクリックします 3) フロントエンドサーバにログインできました (ssh user0001@fe コマンドは自動的に入力されます ) 29

2.1.5. WinSCP を使ったファイル転送方法 ( お手元の計算機とフロントエンドサーバ間 ) インターネットから SSH 接続を行う場合のファイル転送については 2.1.3.4 にて示したように 2 段階でファイル転送を実施しました お手元の計算機 ログインサーバ (ssh.j-focus.jp) 共有フロントエンドサーバ (fe.jfocus.jp) 本節ではログインサーバを経ることなく直接とファイル転送を行う方法について説明します (1) WinSCP を起動し 詳細設定 をチェックします (2) 接続 -- トンネル を選択します SSH トンネルを経由して接続 にチェックを入れると トンネルするホストの設定 が入力可能な状態になるので以下のように設定します ホスト名 ssh.j-focus.jp ポート番号 22 ユーザ名 ユーザ ID 秘密鍵 WinSCP 用に変換した PuTTY 形式の秘密鍵を指定 ( 鍵の形式の変換方法は 2.1.3.5 参照 ) 30

(2) セッション を選択し 以下のように設定します ホスト名 fe ユーザ名 ユーザ ID (3) 保存 ボタンより設定の保存を行います 以下では FOCUS フロントエンド接続 として保存しています (4) セキュリティ警告画面 ( 初回アクセス時のみ表示されます ) が表示されたら 内容を確認し [ はい ] を押します 31

(5) ログインサーバに接続します SSH 鍵のパスワードを入力します (6) 続いてフロントエンドサーバに接続されます フロントエンドサーバのパスワードを入力します (7) お手元の計算機とフロントエンドサーバ間でファイル転送が出来るようになります 32

2.1.6. C システムの利用方法 C システムをご使用の場合 共用フロントエンドサーバ l001.j-focus.jp, l002.j-focus.jp もしくは ご使用の専用フロントエンドサーバから C システムにジョブ投入するためのキューを使用します 共用フロントエンドサーバ l001.j-focus.jp, l002.j-focus.jp から C システムをご利用になられる場合のキュー名は c24t24h になっております 専用フロントエンドサーバから C システムをご利用の場合のキュー名につきましては 個別に別途通知いたします 2.1.7. パスワードの変更概要 ログインサーバシステムは公開鍵 秘密鍵で認証を行いますので 公開鍵の形成方法は 2.1.3.1 事前準備を参照してください フロントエンドサーバシステム データ処理サーバシステム SPARC64 サーバシステムに直接ログインする際や講習用端末システム ワークステーションシステム SSL-VPN にログインする際はパスワードが必要です これらの ID パスワードは共通で管理されています 変更方法を以下に示します センター外から SSH 接続の場合は SSH の X フォワード機能を使用することでパスワード変更可能ですが推奨しません 以下の 2.1.8 項または 2.1.9 項の方法で変更してください 2.1.8. パスワードの変更 ( センター内 ) パスワードの変更は Web ブラウザで以下の URL に接続して行います 接続先 : https://ldapmgr.j-focus.net/ 2.1.9. パスワードの変更 ( センター外 SSL-VPN 接続 ) SSL-VPN 接続 (2.1.2 項を参照 ) 後は 2.1.8 項を参照願います 33

2.2. 課金確認コマンド 2.2.1. プロジェクト単位従量課金確認コマンド thismonth 基本サービスでの当月始めからの終了ジョブに対する従量課金額等の情報が得られます 実行例 $ thismonth Accounting information at S128 in this month. proj njob avg_et avg_nodes avg_procs et_nodes charge et_np_max np_max et_max abc 274 3.0 9.9 95.0 1058.8 111174 24.2 4019.4 1200 < 出力説明 > proj プロジェクトコード njob ジョブ数 avg_et 平均経過時間 (h) avg_nodes 平均ノード数 avg_procs 平均プロセス数 et_nodes ノード時間 (h) charge 課金額 ( 円 ) et_max 最大経過時間 (h) et_np_max 最大プロセスノード時間 (h) np_max 最大プロセス数 < 注意 > トライアルユース額に到達したかどうかの確認は先月までの請求書又は実績報告書に記載の残額と本コマンドで出力される課金額の合計が 10 万円を超えたかどうかで確認してください また 実行中のジョブは結果に反映されません コマンド実行時点で終了しているジョブのみが集計対象です 2.2.2. 利用者単位従量課金確認コマンド uacct 基本サービスでの終了ジョブに対する従量課金額 Gaussian 利用料等の情報が得られます uacct と引数無しだと当月の情報が uacct YYYYMM で西暦と月を与えると当該年月の情報が得られます 実行例 1 $ uacct Charge information of uabc0001 in 201204 : Computational: 5319.05 (Rack rate: 5599) Items S128: 0 nodehours, 0 yen C24 : 66 nodehours, 5319.05 yen Gaussian 09 : 42 nodehours, 2677 yen ===================================================== Total charge : 7996.05 34

実行例 2 $ uacct 201203 Charge information of uabc0001 in 201203 : Computational: 25030.60 (Rack rate: 26292) Items S128: 100 nodehours, 9975.00 yen C24 : 188 nodehours, 15055.60 yen Gaussian 09 : 140 nodehours, 8840 yen ===================================================== Total charge : 33870.60 < 出力説明 > Computational: 計算ノード課金額 Rack rate: 計算ノード割引前課金 Items 内訳 S128: Aシステムノード時間 課金額 C24 : Cシステムノード時間 課金額 Gaussian 09 : Gaussian 09 利用課金額 Total charge 合計課金額 < 注意 > トライアルユース額は反映されておりません また 実行中のジョブは結果に反映されません コマンド実行 時点で終了しているジョブのみが集計対象です 35

2.3. コンパイラ環境変更 デフォルトのコンパイラ環境は GNU(gcc 4.1.2) です コンパイラ環境を変更するには Intel の環境をご利用になる場合は 環境変数を変更する必要があります 3 章の各コンパイラの一覧を参照の上で変更をお願いします フロントエンドサーバにアクセスすると各ユーザアカウントのホームディレクトリに.bashrc_gcc.bashrc_intel.bashrc_pgi という各コンパイラを使用するための環境変数の設定のサンプルがあり それぞれ gcc 4.4.5 Intel コンパイラ Version 12.0.0 PGI コンパイラ version 11.1 を利用するための環境設定のサンプルになっています コマンドラインでの設定の方法は以下になります 例 gcc 4.4.5 を利用するための環境設定 $. ~/.bashrc_gcc 例 Intel コンパイラ Version 12.0.0 を利用するための環境設定 $. ~/.bashrc_intel 例 PGI コンパイラ version 11.1 を利用するための環境設定 $. ~/.bashrc_pgi 36

2.4. 利用者環境 初期登録時 各システムのシェルは bash を使用可能としています ご参考までに他のシェルを利用される場合に用意すべきファイルを以下に記載します bash 以外のシェルの環境設定ファイルは初期登録時には用意されていません 表 2.4-1 環境設定ファイル 環境設定ファイル名 利用ログインシェル bash sh ksh csh / tcsh.bash_profile.bashrc.profile.cshrc.login ログインシェル環境を変更されたい場合は ユーザ ID を FOCUS スパコン QA システム ProjectWEB https://pjshr139.soln.jp/ijs06d5/pjwebroot/login.jsp(2.6. ProjectWEB 利用法参照 ) で書き込んで頂く もしくは運用課 unyo@j-focus.or.jp 宛にお問い合わせお願いします 37

2.5. 改行コード UNIX/Linux 系 OS(RHEL5/CentOS) と Windows 系 OS では 改行コードに違いがあります 2.5.1. 改行コード 改行コードには LF(Line Feed) CR(Carriage Return) があり UNIX/Linux 系では LF Windows 系では CR+LF となります OS 表 2.5.1-1 OS 改行コード改行コード RHEL5 LF CentOS5 LF Windows 系 (Vista/XP など ) CR+LF 2.5.2. エディタ (1) emacs(rhel5) emacs では CR+LF LF 両方のテキストファイルを編集することができます emacs で CR+LF を編集した場合 次の通り (DOS) と表示されます ----(DOS)---F1 dos.c ------------ (C Abbrev)--L1--All--------------- (2) vi / vim(rhel5/centos) RHEL5/CentOS の vi(vim) では CR+LF LF 両方のテキストファイルを編集することができます vi(vim) で CR+LF を編集した場合 [dos] と表示されます 38

2.5.3. 改行コードの変換 改行コードの変換方法を示します (1) LF から CR+LF への変換 $ nkf -Lw UNIX/Linux 系ファイル > output ファイル (2) CR+LF から LF への変換 $ nkf -Lu Windows 系ファイル > output ファイル 39

2.5.4. マニュアル 高性能計算サーバシステム を構成する各ソフトウェア製品のマニュアルを以下に示します 表 2.5.4-1 マニュアル一覧 関連製品名 マニュアル名称 形式 和 英 Intel Cluster インテル C++ コンパイラーリリースノート PDF Toolkit Compiler インテル C++ コンパイラー入門ガイド PDF Edition for Linux インテル C++ コンパイラーユーザー リファレンス ガイド HTML インテル Fortran コンパイラーリリースノート PDF インテル Fortran コンパイラーユーザー リファレンス ガイド HTML インテル デバッガーコマンド リファレンス PDF PGI Compiler PGI User's Guide ( コンパイラ全般 ) PDF Development Kit PGI Tools Guide ( デバッガ プロファイラ関連 ) PDF PGI Fortran Reference Manual PDF PGI コンパイラ使用ガイド - 使用法 チュートリアル PDF PGI CDK 使用法の手引き PDF PGI CDK インストールの手引き PDF ライセンス発行の手引き PDF Parallelnavi Base Parallelnavi Base Package 導入ガイド PDF Package Parallelnavi Base Package 運用ガイド PDF Parallelnavi Base Package メッセージ集 PDF Parallelnavi Base Package ユーザーズガイドシステム管理編 PDF Parallelnavi Base Package ユーザーズガイド資源管理編 PDF Parallelnavi Base Package ユーザーズガイド NQS 基本編 PDF Parallelnavi Base Package ユーザーズガイド NQS 拡張編 PDF Parallelnavi Base Package ユーザーズガイド並列実行環境編 PDF Parallelnavi Base Package ユーザーズガイドインターコネクト制御編 PDF Parallelnavi Base Package ユーザーズガイドジョブ凍結編 PDF Parallelnavi Fortran 文法書 PDF Language Package Fortran 使用手引書 PDF Fortran 翻訳時メッセージ PDF Fortran 実行時メッセージ PDF C 言語使用手引書 PDF C++ 言語使用手引書 PDF 40

XPFortran 使用手引書 PDF プログラミング支援ツール使用手引書 PDF プロファイラ使用手引書 PDF デバッガ使用手引書 PDF MPI トレーサ使用手引書 PDF SSL II オンラインマニュアル PDF SSL II スレッド並列機能オンラインマニュアル PDF C-SSL II オンラインマニュアル PDF C-SSL II スレッド並列機能オンラインマニュアル PDF SSLⅡ/MPI オンラインマニュアル PDF BLAS LAPACK ScaLAPACK オンラインマニュアル PDF MPI 使用手引書 PDF Parametric Job Organizer 使用手引書 PDF Gaussian09 Gaussian 09 User's Reference HTML IOps Reference HTML 電子構造論による化学の探究 製本 Linda Using Gaussian 09 with Linda HTML GaussView GaussView 5 Reference PDF 41

2.6. 利用上のご質問お問い合わせシステム ProjectWEB 利用法 2.6.1. パスワードの変更 Web ブラウザを起動し 以下の URL を入力します https://pjshr139.soln.jp/ijs06d5/pjwebroot/login.jsp 以下は Internet Explorer 8 を使用した場合の例です (1) ログイン ID とパスワードを入力し ログインボタンをクリックします ログイン ID とパスワードは FOCUS スパコンシステムのアカウントと 初期パスワードが設定されています ログイン後 以下の画面が表示されますので 初期パスワードの変更をお願いします 42

(2)home メニューより 個人情報 / 環境設定ボタンをクリックします 以下の個人情報 / 環境設定画面が表示されます (3) パスワード変更をクリックします 43

以下のパスワード変更画面が表示されます (4) 現在のパスワード 新しいパスワードを入力します 入力が完了したら 設定ボタンをクリックします パスワードは 8 バイト以上で 数字 英字 特殊記号を組み合わせて下さい ProjectWeb のパスワードを変更しても FOCUS スパコンシステムのログインパスワードは変更されません FOCUS スパコンシステムのログインパスワード変更は 2.1.6 パスワードの変更を参照下さい 44

2.6.2. QA 管理の新規登録 (1) メニューバーの tool ボタンをクリックします 以下の案件管理ツール画面が表示されます (2)QA 管理ボタンをクリックします 45

以下の画面が表示されます (3)QA 管理より 新規登録ボタンをクリックします 以下の QA 管理 - 新規登録画面が表示されます (4) 入力必須項目を入力します 46

ファイルを添付する場合は 参照ボタンをクリックします アップロードするファイルを選択し 開くボタンをクリックます 47

(5) 入力が完了したら 登録ボタンをクリックします 以下の QA 管理 - 新規登録確認画面が表示されます (6) 実行ボタンをクリックします 48

2.6.3. QA 管理の追加登録および削除 (1) メニューバーの tool ボタンをクリックします 以下の案件管理ツール画面が表示されます (2)QA 管理ボタンをクリックします 49

以下の画面が表示されます (3)QA 管理より すべて表示ボタンをクリックします 質問した案件の一覧が表示されます (4) 該当する案件の 詳細ボタンをクリックします 50

以下の QA 管理 - 詳細表示画面が表示されます (5) 質問した内容を変更 ( 修正 回答に対する返信等 ) する場合は 更新ボタンをクリックします 質問した内容を削除する場合は 削除ボタンをクリックします 以下の QA 管理 - 更新画面が表示されます (6) 変更箇所を入力します 51

(7) 入力が完了したら 更新ボタンをクリックします 以下の QA 管理 - 更新確認画面が表示されます (8) 実行ボタンをクリックします 52

2.7. 予約システム FOCUS スパコンの計算ノード FOCUS の端末利用室を 1 日単位で予約できます 詳細は FOCUS スパコン予約システム利用の手引き をご覧ください 2.8. スパコンネットワーク内 Web ページ FOCUS スパコンネットワーク内部に WWW サーバがあり SSL-VPN 接続した場合 新しい Web ブラウザの Window を開き 以下の URL にアクセスすると FOCUS スパコンネットワーク内 Web ページが表示されます http://f001.j-focus.net ( ただし FOCUS スパコンネットワーク内のページですので FOCUS スパコンネットワークに接続した状態でないと上記のサイトにはアクセス出来ません ) 高性能計算サーバ利用の手引き 2.5.4. 項マニュアル一覧にある コンパイラ類 LSF 等のマニュアルにアクセス ダウンロードできる他 FOCUS スパコン更新情報等 様々な情報提供を行っております 53

3. A システム ( フロントエンドサーバシステム 演算サーバシステ ム ) B システム ( データ処理サーバシステム ) C システム ( クラ ウドシステム ) の利用方法 A システム ( フロントエンドサーバシステム 演算サーバシステム ) B システム ( データ処理サーバシステム ) C システム ( クラウドシステム ) は ジョブスケジューリングに Plarform LSF 開発環境 ( コンパイラ ) に gcc インテル クラスター ツールキット コンパイラー エディション PGI CDK を採用しています 3.1. Intel コンパイラ A システム B システムでは プログラム開発環境 ( コンパイラ ) として インテル Cluster Studio 2011( インテル クラスター ツールキット コンパイラー エディション ) を利用することができます 3.1.1. コンパイルコマンド インテル クラスター ツールキット コンパイラー エディション には 以下のコマンドが含まれています 表 3.1.1-1 コンパイラ一覧 (Intel コンパイラ ) 使用言語 コマンド パス コマンド形式 Fortran ifort /home1/share/intel/compilerpro- ifort [ オプション ] ファイル 12.0.0.084/bin/intel64 C 言語 icc /home1/share/intel/compilerpro- 12.0.0.084/bin/intel64 C++ icpc /home1/share/intel/compilerpro- 12.0.0.084/bin/intel64 MPI mpiifo /home1/share/intel/impi/4.0.1.007/intel64/ (Fortran) rt bin MPI(C 言語 ) mpiicc /home1/share/intel/impi/4.0.1.007/intel64/ MPI(C++) mpiicp c bin /home1/share/intel/impi/4.0.1.007/intel64/ bin icc [ オプション ] ファイル icpc [ オプション ] ファイル mpiifort [ オプション ] ファイル mpiicc [ オプション ] ファイル mpiicpc [ オプション ] ファイル 54

3.1.2. 環境変数設定 環境変数変更後は インテル クラスター ツールキット コンパイラー エディション のパスが優先になっています 環境変数設定 $. /home1/share/intel/ics/2011.0.013/ictvars.sh プロセス並列 (MPI) 環境 MKL(Math Kernel Library) のリンク環境も同時に設定されています 3.1.3. コンパイルオプション インテル クラスター ツールキット コンパイラー エディション の主なコンパイルオプションを示します 表 3.1.3-1 コンパイルオプション (Intel コンパイラ ) コンパイルオプション説明 -c オブジェクトファイルの作成までを行ないます -o exe_file 実行可能ファイル名 / オブジェクトファイル名を exe_file に変更します 実行可能ファイル名の省略時は a.out となります -fast 性能効能のオプション (-xhost -O3 -ipo -noprec-div static) が指定されます -xhost プログラムを実行するインテル プロセッサー専用の最適化コードを生成します -O1 サイズの最適化を行ないます -O2 最速化 ( デフォルト ) を行ないます -O3 (-O2) の最適化に加えて スカラー置換 ループアンロール 分岐を除去するコード反復 より効率的にキャッシュを使用するループ ブロッキングなど 強力なループの最適化およびメモリーアクセスの最適化を行ないます -ip 単一ファイルの最適化を行います -ipo インライン化およびその他のプロシージャー間の最適化が複数のソースファイル間で行ないます -prec-div 浮動小数点演算の精度を上げます -[no-]prec-div デフォルト (-prec-div) は 浮動小数点演算の精度を上げます -no-prec-div を指定することにより 完全な IEEE 準拠の除算よりも多少精度が低い最適化が有効となります -static 共用ライブラリとリンクしないことを指示します -parallel 自動並列を行ないます 55

コンパイルオプション -par-report[0,1,2,3] -openmp -openmp-report 0,1,2] -mcmodel [=small,medium,large] -shared-intel -static-intel -mkl [=parallel,sequential,cluster] 説明自動パラレライザーの診断レベルを次のように制御します 0 診断情報を表示しません 1 正常に並列化されたループを示します ( デフォルト ) 2 並列化されなかったループに関する情報が追加されます 3 自動並列化の妨げになると判断されたか または想定された依存関係についての情報 ( 並列化されない理由 ) が追加されます OpenMP 指示子を有効にしてコンパイルします OpenMP の並列化情報を表示します メモリモデルを指定します small( デフォルト ) コードとデータはアドレス空間の最初の 2GB までに制限されます medium コードはアドレス空間の最初の 2GB までに制限されますが データは制限されません large コードもデータも制限されません インテル クラスター ツールキット コンパイラー エディションで提供されるライブラリを動的にリンクします インテル クラスター ツールキット コンパイラー エディションで提供されるライブラリを静的にリンク ( デフォルト ) します MKL ライブラリをリンクします parallel( デフォルト ) スレッド並列版の MKL ライブラリをリンクします sequential 逐次版の MKL ライブラリをリンクします cluster MKL のクラスタライブラリ (IntelMPI ライブラリ / ScaLAPACK/ クラスタ用 FFT) および 逐次版 MKL ライブラリをリンクします 3.1.4. コンパイル方法 主なコンパイル方法を以下に示します Fortran(ifort) のみを記述していますが C 言語 (icc) C++(icpc) の場合も同様の方法となります 逐次 56

$ ifort ソースファイル名 自動並列 $ ifort -parallel ソースファイル名 OpenMP $ ifort openmp ソースファイル名 57

3.1.5. コンパイル方法 ( 注意事項 ) コンパイル / リンク時の注意事項を示します (1) Intel コンパイラにおいて -Wl オプションの後に, を指定していますが, の前後にスペースを入力するとコンパイル / リンクエラーとなります (2) 2GB を超える配列 2GB を超える配列を使用する場合 -mcmodel( メモリモデル ) に medium または large を指定してコンパイルします リンク時に 適切なメモリモデルが指定されていない場合 エラーメッセージ の形式でエラーとなります medium または large を指定した場合 インテルのランタイム ライブラリーの適切なダイナミック バージョンが使用されるように -shared-intel コンパイラー オプションも指定する必要があります エラーメッセージ <some lib.a library>(some.o): In Function <function>: : relocation truncated to fit: R_X86_64_PC32 <some symbol> コンパイル $ ifort mcmodel=medium shared-intel ソースファイル名 3.1.6. 使用例 各コンパイラの利用方法を解説します サンプルプログラムは以下に格納されていますので コピーしてご活用いただけます サンプルプログラム格納場所 /home1/share/intel/compilerpro-12.0.0.084/samples/en_us/ 3.1.6.1. Fortran コンパイラの使用例 $ ifort o int_sin int_sin.f90 $./int_sin 3.1.6.2. C コンパイラの使用例 $ icc o int_sin./int_sin.c $./int_sin 58

3.1.7. MPI(Intel コンパイラ ) Fortran/C/C++ プログラムに MPI ライブラリをリンクし プロセス並列プログラムを作成 / 実行することができます 3.1.7.1. コンパイル MPI プログラムのコンパイル方法を示します MPI プログラムのコンパイル / リンクは mpiifort(fortran) mpiicc(c) mpiicpc(c++) を使用します mpiifort/mpiicc/mpiicpc は内部的に ifort(fortran) icc(c) icpc(c++) コンパイラを呼び出し 利用者がヘッダファイルやライブラリの位置等を意識することなく利用できる環境を提供します Fortran $ mpiifort [ コンパイルオプション ] ソースファイル名 C $ mpiicc [ コンパイルオプション ] ソースファイル名 C++ $ mpiicpc [ コンパイルオプション ] ソースファイル名 3.1.7.2. MPI プログラム実行 (Intel MPI) Intel MPI の MPI プログラム実行方法に関しては 3.4.2.6 項に示します 59

3.1.8. MKL(Math Kernel Library) MKL で提供される BLAS/LAPACK/ScaLAPACK のライブラリをリンクする方法を示します (1) -mkl オプションを指定することで MKL ライブラリをリンクすることができます 通常はスレッド並列版 (-mkl=parallel) 動的ライブラリがリンクされます 静的ライブラリのリンクが指示された場合 (-static-intel, -static, -fast) MKL の静的ライブラリがリンクされます -fast オプションには -static オプションが含まれています スレッド並列 / 動的ライブラリ $ ifort ソースファイル名 -mkl スレッド並列 / 静的ライブラリ $ ifort ソースファイル名 -mkl -static-intel 逐次 / 動的ライブラリ $ ifort ソースファイル名 -mkl=sequential 逐次 / 静的ライブラリ $ ifort ソースファイル名 -mkl=sequential -static-intel MPI/ 動的ライブラリ $ mpiifort ソースファイル名 -mkl=cluster MPI/ 静的ライブラリ $ mpiifort ソースファイル名 -mkl=cluster -static-intel (2)-mkl オプションを使用しない場合 ライブラリを個別に指定することができます BLAS/ LAPACK/ScaLAPACK について 個別にライブラリをリンクする時の手順を次項以降に示します 環境変数 MKLROOT は ictvars.sh, ictvars.csh で設定されます -Wl,--start-group/-Wl,--end-group について, の後は続けて入力します スペースが含まれる場合 コンパイル時にエラーとなります 60

3.1.8.1. BLAS(Fortran) Fortran(ifort) C 言語 (icc) において BLAS(-lmkl_blas95_lp64) をリンクすることで MKL で提供されるベクトル演算 / 行列演算ライブラリ (BLAS) を利用することができます Fortran( スレッド並列 ) $ ifort ソースファイル名 -L$MKLROOT/lib/em64t -lmkl_blas95_lp64 -I$MKLROOT/include -I$MKLROOT/include/em64t/lp64 -Wl,--start-group $MKLROOT/lib/em64t/libmkl_intel_lp64.a $MKLROOT/lib/em64t/libmkl_intel_thread.a $MKLROOT/lib/em64t/libmkl_core.a -Wl,--end-group -liomp5 -lpthread Fortran( 逐次 ) $ ifort ソースファイル名 -L$MKLROOT/lib/em64t -lmkl_blas95_lp64 -I$MKLROOT/include -I$MKLROOT/include/em64t/lp64 -Wl,--start-group $MKLROOT/lib/em64t/libmkl_intel_lp64.a $MKLROOT/lib/em64t/libmkl_sequential.a $MKLROOT/lib/em64t/libmkl_core.a -Wl,--end-group -lpthread 61

3.1.8.2. BLAS(C 言語 ) BLAS ルーチンは Fortran 形式のルーチンとなります BLAS ルーチンを C 言語から呼び出す場合 Fortran 形式の呼び出し規則に従う必要があります (1) 変数を値ではなくアドレスで渡します (2) データを Fortran 形式で格納します C 言語で使用する場合は Fortran 形式の呼び出し規則に従う必要があります 1 2 3 4 0 1 2 3 1 0 2 1 3 2 Fortran 形式 C 形式 C 言語 ( スレッド並列 ) $ icc ソースファイル名 -L$MKLROOT/lib/em64t -lmkl_blas95_lp64 -I$MKLROOT/include -I$MKLROOT/include/em64t/lp64 -Wl,--start-group $MKLROOT/lib/em64t/libmkl_intel_lp64.a $MKLROOT/lib/em64t/libmkl_intel_thread.a $MKLROOT/lib/em64t/libmkl_core.a -Wl,--end-group -liomp5 -lpthread C 言語 ( 逐次 ) $ icc ソースファイル名 -L$MKLROOT/lib/em64t -lmkl_blas95_lp64 -I$MKLROOT/include -I$MKLROOT/include/em64t/lp64 -Wl,--start-group $MKLROOT/lib/em64t/libmkl_intel_lp64.a $MKLROOT/lib/em64t/libmkl_sequential.a $MKLROOT/lib/em64t/libmkl_core.a -Wl,--end-group -lpthread 62

3.1.8.3. CBLAS C 言語から CBLAS を利用することができます C 言語 ( スレッド並列 ) $ icc ソースファイル名 -L$MKLROOT/lib/em64t -lmkl_blas95_lp64 -I$MKLROOT/include -I$MKLROOT/include/em64t/lp64 -Wl,--start-group $MKLROOT/lib/em64t/libmkl_intel_lp64.a $MKLROOT/lib/em64t/libmkl_intel_thread.a $MKLROOT/lib/em64t/libmkl_core.a -Wl,--end-group -liomp5 lpthread C 言語 ( 逐次 ) $ icc ソースファイル名 -L$MKLROOT/lib/em64t -lmkl_blas95_lp64 -I$MKLROOT/include -I$MKLROOT/include/em64t/lp64 -Wl,--start-group $MKLROOT/lib/em64t/libmkl_intel_lp64.a $MKLROOT/lib/em64t/libmkl_sequential.a $MKLROOT/lib/em64t/libmkl_core.a -Wl,--end-group lpthread 63

3.1.8.4. LAPACK(Fortran) Fortran(ifort) C 言語 (icc) において LAPACK(-lmkl_lapack95_lp64) をリンクすることで MKL で提供される線形代数 (LAPACK) を利用することができます Fortran( スレッド並列 ) $ ifort ソースファイル名 -L$MKLROOT/lib/em64t -lmkl_lapack95_lp64 -I$MKLROOT/include -I$MKLROOT/include/em64t/lp64 -Wl,--start-group $MKLROOT/lib/em64t/libmkl_intel_lp64.a $MKLROOT/lib/em64t/libmkl_intel_thread.a $MKLROOT/lib/em64t/libmkl_core.a -Wl,--end-group -liomp5 -lpthread Fortran( 逐次 ) $ ifort ソースファイル名 -L$MKLROOT/lib/em64t -lmkl_lapack95_lp64 -I$MKLROOT/include -I$MKLROOT/include/em64t/lp64 -Wl,--start-group $MKLROOT/lib/em64t/libmkl_intel_lp64.a $MKLROOT/lib/em64t/libmkl_sequential.a $MKLROOT/lib/em64t/libmkl_core.a -Wl,--end-group -lpthread 3.1.8.5. LAPACK(C 言語 ) LAPACK ルーチンは Fortran 形式のルーチンとなります LAPACK ルーチンを C 言語から呼び出す場合 Fortran 形式の呼び出し規則に従う必要があります (1) 変数を値ではなくアドレスで渡します (2) データを Fortran 形式で格納します C 言語で使用する場合は Fortran 形式の呼び出し規則に従う必要があります 64

C 言語 ( スレッド並列 ) $ icc ソースファイル名 -L$MKLROOT/lib/em64t -lmkl_lapack95_lp64 -I$MKLROOT/include -I$MKLROOTinclude/em64t/lp64 -Wl,--start-group $MKLROOT/lib/em64t/libmkl_intel_lp64.a $MKLROOT/lib/em64t/libmkl_intel_thread.a $MKLROOT/lib/em64t/libmkl_core.a -Wl,--end-group -liomp5 -lpthread C 言語 ( 逐次 ) $ icc ソースファイル名 -L$MKLROOT/lib/em64t -lmkl_lapack95_lp64 -I$MKLROOT/include -I$MKLROOTinclude/em64t/lp64 -Wl,--start-group $MKLROOT/lib/em64t/libmkl_intel_lp64.a $MKLROOT/lib/em64t/libmkl_sequential.a $MKLROOT/lib/em64t/libmkl_core.a -Wl,--end-group -lpthread 3.1.8.6. ScaLAPACK ScaLAPACK を利用するには ScaLAPACK ライブラリ (-lmkl_scalapack_lp64) をリンクします Fortran(MPI) $ mpiifort ソースファイル名 -L$MKLROOT/lib/em64t -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lmkl_lapack -lmkl_intel_lp64 lmkl_intel_thread lmkl_core -liomp5 -lpthread 65

Fortran(MPI) $ mpiicc ソースファイル名 -L$MKLROOT/lib/em64t -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lmkl_lapack -lmkl_intel_lp64 lmkl_intel_thread lmkl_core -liomp5 -lpthread 66

3.1.9. エンディアン A システム B システムはリトルエンディアンを採用しています Intel コンパイラで作成した Fortran プログラムの書式なし入出力において 環境変数 F_UFMTENDIAN を使用することにより ビッグエンディアン形式でのファイル出力 または ビッグエンディアン形式のファイル入力が可能となります F_UFMTENDIAN MODE [MODE; ] EXCEPTION MODE は形式を指定します little はリトルエンディアン形式であり 変換されません big はビッグエンディアン形式であり 入力はビッグエンディアンからリトルエンディアンに変換 出力はリトルエンディアンからビッグエンディアンに変換されます EXCEPTION には 例外を定義します MODE;EXCEPTION は空白を含むことはできません (1) 全入出力変換全ての入力 / 出力操作で READ ではビッグエンディアンからリトルエンディアンへ変換 WRITE ではリトルエンディアンからビッグエンディアンへ変換します $ F_UFMTENDIAN=big ; export F_UFMTENDIAN (2) 特定ユニット変換特定のユニット番号 (10,20) について エンディアンを変換します $ F_UTMTENDIAN=10,20 ; export F_UFMTENDIAN (3) 特定ユニット変換 ( 範囲指定 ) 特定のユニット番号の範囲 (10 ~ 20) を指定して エンディアンを変換します $ F_UFMTENDIAN=10-20 ; export F_UFMTENDIAN (4) 一部場外ユニット番号 10 を除き エンディアンを変換します $ F_UFMTENDIAN=big;little:10 ; export F_UFMTENDIAN 67

3.1.10. Intel Compiler V11 の利用法 Intel Compiler V11 は /home1/share/intelv11 にインストールしております 環境設定用スクリプトファイルは /home1/share/intelv11/ictce/3.2.2.013/ictvars.sh になっております ご利用の際は source /home1/share/intelv11/ictce/3.2.2.013/ictvars.sh として環境設定お願いします コンパイル例 mpiifort test.f 実行スクリプト例 #!/bin/bash #BSUB -q s128t24h #BSUB -n 24 #BSUB -R "span[ptile=12]" #BSUB -a intelmpi #BSUB -J test #BSUB -o stdout.%j #BSUB -e stderr.%j source /home1/share/intelv11/ictce/3.2.2.013/ictvars.sh mpirun.lsf./a.out 3.1.11. Intel Compiler V12.1 の利用法 Intel Compiler V12.1 は /home1/share/intelv12.1 にインストールしております 環境設定用スクリプトファイルは /home1/share/intelv12.1/ics/2012.0.032/ictvars.sh になっております ご利用の際は source /home1/share/intelv12.1/ics/2012.0.032/ictvars.sh として環境設定お願いします 68

3.1.12. インテル Composer XE 2013 の利用法 インテル Composer XE 2013 は /home1/share/intelv13 にインストールしております 環境設定用スクリプトファイルは /home1/share/intelv13/ics/2013.0.028/ictvars.sh になっております ご利用の際は source /home1/share/intelv13/ics/2013.0.028/ictvars.sh として環境設定お願いします 69

3.2. PGI コンパイラ 3.2.1. コンパイルコマンド PGI CDK には 以下のコマンドが含まれています 表 3.2.11-1 コンパイル一覧 (PGI コンパイラ ) 使用言語 コマンド パス コマンド形式 Fortran pgf90 (*1) /home1/share/pgi/linux86-64/11.1/bin pgf90 [ オプション ] ファイル C 言語 pgcc /home1/share/pgi/linux86-64/11.1/bin pgcc [ オプション ] ファイル C++ pgcc /home1/share/pgi/linux86-64/11.1/bin pgcc [ オプション ] ファイル MPI mpif90 /home1/share/pgi/linux86- mpif90 [ オプション ] ファイル (Fortran) 64/2011/mpi/mpich/bin MPI(C 言語 ) mpicc /home1/share/pgi/linux86-64/2011/mpi/mpich/bin MPI(C++) mpicc /home1/share/pgi/linux86-64/2011/mpi/mpich/bin *1: ここでは代表して pgf90 を記載しています mpicc [ オプション ] ファイル mpicc [ オプション ] ファイル 3.2.2. 環境変数設定 PGI コンパイラを実行するための環境変数を設定は 下記のようにスクリプトを実行します 環境変数設定 $. /home1/share/pgi/linux86-64/11.1/pgi.sh 環境変数設定 (MPI) $. /home1/share/pgi/linux86-64/11.1/mpi.sh 70

3.2.3. コンパイルオプション PGI CDK の主なコンパイルオプションを示します 表 3.2.3-1 コンパイルオプション (PGI コンパイラ ) コンパイルオプション 説明 -fast 最適化のためのセットオプション 内容は pgf90 -fast - help で確認可能 -mcmodel=medium 2Gbyte を超えるメモリをサポートします -mp OpenMP を使用します -Mconcur 自動並列化を指示します -Minfo 最適化等コンパイル時の情報を出力します -Mneginfo 最適化が不可能であった部分の情報を出力します -o オブジェクトファイルの名前を指定します -l リンクするライブラリ名を指定します 3.2.4. コンパイル方法 主なコンパイル方法を以下に示します Fortran(pgf90) のみを記述していますが C 言語 (pgcc) C++(pgCC) の場合も同様の方法となります 逐次 $ pgf90 fast ソースファイル名 自動並列 $ pgf90 fast Minfo Mconcur ソースファイル名 OpenMP $ pgf90 fast Minfo mp ソースファイル名 3.2.5. 使用例 各コンパイラの利用方法を解説します サンプルプログラムは以下に格納されていますので コピーしてご活用いただけます サンプルプログラム格納場所 /home1/share/pgi/linux86-64/11.1/etc/samples 71

3.2.5.1. Fortran コンパイラの使用例 $ pgf90 fast test.f90 $./a.out 3.2.5.2. Fortran コンパイラの使用例 ( 自動並列化 ) $ pgf90 fast Minfo Mconcur test.f90 $ setenv OMP_NUM_THREADS 4 # 並列数 4 の場合 (csh/tcsh) $ export OMP_NUM_THREADS=4 # 並列数 4 の場合 (sh/bash) $./a.out 3.2.5.3. C コンパイラの使用例 (OpenMP) $ pgcc fast Minfo mp test.c $ setenv OMP_NUM_THREADS 4 # 並列数 2 の場合 (csh/tcsh) $ export OMP_NUM_THREADS=4 # 並列数 2 の場合 (sh/bash) $./a.out 3.2.6. MPI(PGI コンパイラ ) Fortran/C/C++ プログラムに MPI ライブラリをリンクし プロセス並列プログラムを作成 / 実行することができます 3.2.6.1. コンパイル MPI プログラムのコンパイル方法を示します Fortran $ mpif90 o mpi.out mpi.f C $ mpicc -o mpi.out mpi.c C++ $ mpicc o mpi.out mpi.c 3.2.6.2. MPI プログラム実行 以下の方法にて 実行してください MPICH-2 の場合 $ mpirun np 4./mpi.out 72

3.2.7. PGI コンパイラ 10.9 の利用法 PGI コンパイラ 10.9 は /home1/share/pgi_10.9 にインストールしております 環境設定用スクリプトファイルは /home1/share/pgi_10.9/linux86-64/10.9/mpi.sh になっております ご利用の際は source /home1/share/pgi_10.9/linux86-64/10.9/mpi.sh として環境設定お願いします 3.2.8. PGI コンパイラ 11.1 の利用法 PGI コンパイラ 11.1 は /home1/share/pgi_11.1 にインストールしております 環境設定用スクリプトファイルは /home1/share/pgi_11.1/linux86-64/11.1/mpi.sh になっております ご利用の際は source /home1/share/pgi_11.1/linux86-64/11.1/mpi.sh として環境設定お願いします 73

3.3. GCC(GNU Compiler Collection) 3.3.1. コンパイルコマンド A システム B システムに GCC(GNU Compiler Collection) をインストールしています openmpi を使用する場合は 下記のパスを指定して下さい 表 3.3.1-1 コンパイラ一覧 (GCC) システム名 使用言語 コマント ハ ーシ ョン パス A システム Fortran g77 3.4.6 /usr/bin(rhel5 標準提供 ) B システム C 言語 gcc 4.1.2 /usr/bin(rhel5 標準提供 ) C++ g++ 4.1.2 /usr/bin(rhel5 標準提供 ) OpenMPI mpif90 1.4.1 /opt/openmpi/gnu/bin (Fortran) OpenMPI(C 言語 ) mpicc 1.4.1 /opt/openmpi/gnu/bin OpenMPI(C++) mpicc 1.4.1 /opt/openmpi/gnu/bin gcc は 2 種類のバージョンがインストールされており デフォルトではバージョン 4.1.2 が利用可能です バージョン 4.4.5 もインストールされており ユーザのホームディレクトリにある.bashrc_gcc がバージョン 4.4.5 を利用する際の環境変数設定のサンプルになりますので ご利用の際は参考にしてください Lapack を利用するには以下のように Lapack ライブラリをリンクします gcc llapack test.c o test.o Blas を利用するには以下のように Blas ライブラリをリンクします gcc lblas test.c o test.o 74

3.4. プログラム実行 A システム B システム C システムのジョブスケジューリングには Plarform LSF を採用しています 3.4.1. キュー 分散メモリ型並列計算機でジョブを投入できるキューの一覧を示します 以下はフロントエンドサーバシステムから利用可能なキュー名を示します キュー名 最大ジョブ数 最長実行時間 最大ノード数 最大使用コア数 キュー内で 使用可能な 総コア数 ユーザ毎に使用可能な総コア数 システム s128n1debug 未設定 3 分 1 12 12 12 A s128n2debug 未設定 3 分 2 24 24 24 A s128t24h 未設定 24 時間 s128n1m256gb 未設定 24 時間 c24t24h 未設定 24 時間 s128we 未設定 72 時間 c24we 未設定 72 時間 150 1800 1800 1800 2 16 16 16 20 240 240 240 150 1800 1800 1800 20 240 240 240 s128t24h, s128n1m256gb, c24t24h, s128we, c24we の最大ノード数 コア数は 計算資源の予約状況により変動します A B C A C (1) デフォルトキューは s128n1debug となります ジョブ実行時にキュー名が省略された場合 s128n1debug で実行されます (2) 実際に本システムを利用する際には bqueues コマンドで利用できるキュー名を確認して下さい bqueues とすると ユーザ毎にどのキューが利用できるかが表示されます (3) s128we (A システム ) と c24we (C システム ) は週末キューとして稼働しています 毎週金曜 10 時から翌月曜 10 時までの間にジョブが実行されます この時間外に投入されたジョブは待ち状態となります 課金は演算サーバ利用時間 ( ノード占有経過時間 ) に応じて行い 基本サービス ( 共有資源を並んで使うサービス ) と同じ利用料金が適用されます 75

3.4.2. ジョブ実行方法 ジョブを実行するには フロントエンドサーバシステムまたはデータ処理サーバシステムから bsub コマンドを実行します 3.4.2.1. バッチリクエストの投入 ジョブを実行するために バッチリクエストを事前に作成する必要があります bsub コマンドにジョブ投入スクリプトを指定することで ジョブがキューイングされ実行されます $ bsub <./run.sh Job < > is submitted to default queue < s128n1debug >. bsub コマンドの主なオプションを示します 表 3.4.2.1-1 主要オプション (bsub) オプション概要 -q キュー名投入するキューを指定します -J ジョブ名ジョブ名を指定します -n コア数ジョブで使用するコア数を指定します OpenMP IntelMPI OpenMPI などを使用する場合に 使用する機能に合わせて 以下を指定します -a 使用する機能 openmp:openmp を使用する場合 intelmpi:intelmpi を使用する場合 openmpi:openmpi を 128 ノード以内で使用する場合指定したリソース要件を満たすノードでジョブを実行します 例 :-n で指定したコア数を 1 ノードで実行する場合 -R " リソース要件 " -R "span[hosts=1]" 1 ノードに割り当てるコア数を 2 コアにする場合 -R "span[ptile=2]" -W 経過時間 -o ファイル名 -oo ファイル名 -e ファイル名 -eo ファイル名 -r ジョブの経過時間制限値を指定します 経過時間は分単位または HH:MM で指定することができます 標準出力ファイル名を指定します 標準出力が必要な場合は -o か-oo を指定してください -o は追加書き -oo は上書きします -e や-eo オプションが指定されていない場合は 標準エラー出力も出力されます 標準エラー出力ファイルを指定します -e は追加書き -eo は上書きします システムの異常などでジョブが実行不能となった際に 本オプションが指定されていると 別のノードで再実行されます 本オプションが指定されていない場合は 再実行されずに終了します 76

3.4.2.2. ジョブ投入スクリプトの作成 ジョブ投入のためのバッチスクリプトを作成します (1) bsub オプション ( デフォルト値の指定 ) ジョブ投入スクリプトはコメント行 (#) として BSUB で始まる行に bsub オプションを指定することで bsub コマンド実行時の省略値を指定することができます (2) bsub オプション解析 ( ジョブ投入スクリプト ) ジョブ制御 (Plarform LSF) は ジョブ投入スクリプトについて bsub オプションを次の通り解釈します (3) 環境変数 bsub コマンド実行時 ジョブ実行時に環境変数が設定されます 設定される主な環境変数を示します 環境変数 LS_SUBCWD LSB_EXECHOSTS 表 3.4.2.2-1 環境変数内容 ジョブが投入されたカレントディレクトリジョブが実行されるホスト名のリスト LSB_MCPU_HOSTS ジョブ実行に使用されるホストとコア数のリスト ( 例 ) j010.p 12 j011.p 12 LSB_JOBID ジョブ ID LSB_JOBNAME -J で指定したジョブ名 -J が指定されていない場合は 実際に指定されたコマンド列がジョブ名になります 77

3.4.2.3. 逐次ジョブを実行する場合 逐次 ( 並列計算を行わない方式 ) で実行する時に作成するバッチスクリプトの例を示します $ vi run.sh #!/bin/bash #BSUB -q s128t24h #BSUB -n 1 (1) #BSUB -J test_serial #BSUB -o stdout.%j (2) #BSUB -e stderr.%j (3)./a.out (4) (1) ジョブで使用するコア数 (-n) を指定します 逐次ジョブの場合 プロセス数は 1 となりますので 指定値は n 1 を指定します (2) 標準出力ファイルを指定します %J はジョブ ID に変換されます (3) 標準エラー出力ファイルを指定します %J はジョブ ID に変換されます (4) プログラム (a.out) を実行します 78

3.4.2.4. スレッド並列ジョブを実行する場合 スレッド並列 ( 単体の演算ノードの範囲内で並列計算を行う方式 ) でジョブを実行する時に作成するバッチスクリプトの例を示します スレッド並列ジョブを実行する際には 逐次ジョブの定義に加え 下記 (2) (3) (4) の定義が必要です $ vi run.sh #!/bin/bash #BSUB -q s128t24h #BSUB -n 6 (1) #BSUB -R "span[hosts=1]" (2) #BSUB -a openmp (3) #BSUB -J test_openmp #BSUB -o stdout.%j #BSUB -e stderr.%j export OMP_NUM_THREADS=6 (4)./a.out (5) (1) ジョブで使用するコア数 (-n) を指定します 上記の例では 6 スレッドで実行するために -n 6 を指定しています (2) 6 コアを 1 ノード上で確保する必要があるため -R "span[hosts=1]" を指定します これにより 1 ノード上で 6 コアを確保できるノードにジョブが割り当てられます (3) OpenMP によるスレッド並列を使用するため -a openmp を指定します (4) 環境変数 PARALLEL, OMP_NUM_THREADS に (1) で指定したコア数を指定します (5) プログラム (a.out) を実行します 79

3.4.2.5. MPI プログラム (openmpi) を実行する場合 プロセス並列 ( 複数の演算ノードで並列計算を行う方式 ) のジョブを OpenMPI で実行する時に作成するバッチスクリプトの例を示します OpenMPI によるプロセス並列ジョブを実行する際には 逐次ジョブの定義に加え 下記 (2) (3) (4) (5) の定義が必要です $ vi run.sh #!/bin/bash #BSUB -q s128t24h #BSUB -n 24 (1) #BSUB -a openmpi (2) #BSUB -J test_openmpi #BSUB -o stdout.%j #BSUB -e stderr.%j export PATH=/opt/openmpi/gnu/bin:$PATH (3) export LD_LIBRARY_PATH=/opt/openmpi/gnu/lib:$LD_LIBRARY_PATH (4) mpirun.lsf./a.out (5) (1) ジョブで使用するコア数 (-n) を指定します (2) OpenMPI によるプロセス並列を使用するため -a openmpi を指定します (3) 使用する MPI のモジュールのパス PATH を設定します ( ) (4) 使用する MPI のライブラリのパスを設定します ( ) (5) プログラム (a.out) を実行します mpirun.lsf を使用することで OpenMPI を使用するのに必要な設定を LSF が自動で行います ( ) ( ) プロセス並列時に環境変数を定義するには (3) (4) の様に export コマンドで定義するか (5) の定義を以下の様に修正してください PATH や LD_LIBRARY_PATH 以外でも同様です mpirun.lsf -x PATH=/opt/openmpi/gnu/bin:$PATH -x LD_LIBRARY_PATH=/opt/openmpi/gnu/lib:$LD_LIBRARY_PATH./a.out 80

3.4.2.5.1 MPI プログラム (Intel MPI) を実行する場合 プロセス並列 ( 複数の演算ノードで並列計算を行う方式 ) のジョブを IntelMPI で実行する時に作成するバッチスクリプトの例を示します IntelMPI によるプロセス並列ジョブを実行する際には 逐次ジョブの定義に加え 下記 (2) (3) (4) の定義が必要です $ vi run.sh #!/bin/bash #BSUB -q s128t24h #BSUB -n 24 (1) #BSUB -a intelmpi (2) #BSUB -J test_intelmpi_hybrid #BSUB -o stdout.%j #BSUB -e stderr.%j source /home1/share/intel/ics/2011.0.013/ictvars.sh (3) mpirun.lsf./a.out (4) (1) ジョブで使用するコア数 (-n) を指定します (2) IntelMPI によるプロセス並列を使用するため -a intelmpi を指定します (3) Intel コンパイラを用いて作成した実行ファイルを実行する際は環境変数等を一括して設定するスクリプトを実行するこの行が必要になります 使用する Intel コンパイラが決まっている場合には 適宜その環境用のスクリプトを実行する様パスを変更してください ( ) (4) プログラム (a.out) を実行します ( )(3) の他に環境変数を定義するには OpenMPI のスクリプト例の ( ) をご参照下さい 81

3.4.2.6. MPI プログラム (mpich2) を実行する場合 プロセス並列 ( 複数の演算ノードで並列計算を行う方式 ) のジョブを PGI コンパイラで作成した MPI プログラム (mpich2) で実行する時に作成するバッチスクリプトの例を示します mpich2 によるプロセス並列ジョブを実行する際には 逐次ジョブの定義に加え 下記 (2) (3) (4) の定義が必要です $ vi run.sh #!/bin/bash #BSUB -q s128t24h #BSUB -n 24 (1) #BSUB -a "openmp intelmpi" (2) #BSUB -R "span[ptile=2]" (3) #BSUB -J test_intelmpi_hybrid #BSUB -o stdout.%j #BSUB -e stderr.%j export OMP_NUM_THREADS=6 (4) source /home1/share/intel/ics/2011.0.013/ictvars.sh (5) mpirun.lsf./a.out (6) (1) ジョブで使用するコア数 (-n) を指定します (2) mpich2 によるプロセス並列を行うため -a mpich2 を指定します (3) PGI コンパイラが用意する mpich2 環境を設定します 使用する PGI コンパイラが決まって いる場合には 適宜その環境用のスクリプトを実行する様パスを変更してください ( ) (4) プログラム (a.out) を実行します ( ) ( )(3) の他に環境変数を定義するには OpenMPI のスクリプト例の ( ) をご参照下さい 82

3.4.2.7. ハイブリッド並列ジョブを実行する場合 ハイブリッド並列 ( スレッド並列とプロセス並列の混合計算を行う方式 ) でジョブを実行する時に作成するバッチスクリプトの例を示します ハイブリッド並列ジョブを実行する際には 逐次ジョブの定義に加え 下記 (2) (3) (4) の定義が必要です ( 下記は演算ノードを 4 台 / 各ノード内で 2 コアスレッド並列 / ノード間のプロセス並列を IntelMPI で実施する場合です ) $ vi run.sh #!/bin/bash #BSUB -q s128t24h #BSUB -n 8 (1) #BSUB -R "span[ptile=2]" #BSUB -a intelmpi (2) #BSUB -J test_openmpi #BSUB -o stdout.%j #BSUB -e stderr.%j source /home1/share/intel/ics/2011.0.013/ictvars.sh (3) export LSB_PJL_TASK_GEOMETRY="{(0)(1)(2)(3)}" (4) mpirun.lsf a.out (5) (1) ジョブで使用するコア数 (-n) を指定します (2) IntelMPI によるプロセス並列を使用するため -a intelmpi を指定します (3) Intel コンパイラを用いて作成した実行ファイルを実行する際は環境変数等を一括して設定するスクリプトを実行するこの行が必要になります 使用する Intel コンパイラが決まっている場合には 適宜その環境用のスクリプトを実行する様パスを変更してください ( ) (4) 環境変数 LSB_PJL_TASK_GEOMETRY を定義します () 内は ノード毎に実行する各スレッドのタスク ID が入ります 詳細が不明な場合は記載例の様に 使用する演算ノードの台数分 () を記載し その中に 0 から順に数字を記載します その場合 各ノードで 1 つのスレッド並列計算を実施します (5) プログラム (a.out) を実行します ( ) ( )(3) の他に環境変数を定義するには OpenMPI のスクリプト例の ( ) をご参照下さい 83

3.4.3. ジョブの実行状況の確認 ジョブの実行状況を確認する場合には bjobs コマンドを使用します 3.4.3.1. 実行状況 (bjobs) 該当する利用者が投入したジョブの情報 (REQUEST NAME REQUEST ID USER PRI STATE STEPNO) を表示するには bjobs コマンドを実行します また オプション -z をつけるとグループユーザの利用状況も確認できます $ bjobs JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME 1234 uabc0001 RUN s128n1debug f002.p j081.p *st_serial XXX X XX:XX 省略 $ bjobs -z ==== uabc0001 ==== JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME 1234 uabc0001 RUN s128n1debug f002.p j081.p *st_serial XXX X XX:XX ==== uabc0002 ==== No unfinished job found ==== uabc0003 ==== No unfinished job found 省略 (1) JOBID LSF がジョブに割り当てたジョブ ID が表示されます ジョブの削除 (bkill) などで指定する識別子となります (2) USER バッチリクエスト ( ジョブ ) の実行者を表示します (3) STAT ジョブの状態を表示します 主なジョブの状態を以下の表に示します 表 3.4.3.1-1 ジョブ状態 (bjobs コマンド ) 状態説明 PEND ジョブは保留中です PSUSP ジョブは 保留中に その所有者または LSF 管理者によって中断されました RUN ジョブは 現在実行中です USUSP ジョブは 保留中に その所有者または LSF 管理者によって中断されました SSUSP ジョブは LSF によって中断されました DONE ジョブは 状態 0 で終了しました EXIT ジョブは 0 - 以外の状態で終了しました UNKWN システムの異常により ジョブの状態が取得できません 84

(4) QUEUE ジョブが属するキューの名前を表示します (5) FROM_HOST ジョブが投入されたホスト名を表示します (6) EXEC_HOST ジョブが実行されているホスト名を表示します (7) JOB_NAME ジョブ名 ( 未指定の場合はコマンド文字列 ) を表示します (8) SUBMIT_TIME ジョブの投入時間を表示します 3.4.3.2. 利用可能なキューの確認方法 利用可能なキューを確認するには コマンドラインで bqueues とします 実行例 -bash-3.2$ bqueues QUEUE_NAME PRIO STATUS MAX JL/U JL/P JL/H NJOBS PEND RUN SUSP s128n1debug 35 Open:Active - - - - 0 0 0 0 s128t24h 30 Open:Active - - - - 2024 1408 616 0 c24t24h 30 Open:Active - - - - 16 0 16 0 3.4.3.3. 利用可能なノード数の確認方法 コマンドラインで実行しますと S128 クラスタ (A システム ) 及び C24 クラスタ (C システム ) の空きノード数を確認する freenodes というコマンドを用意しています ジョブ投入のための空きノード数の確認の目安にご利用ください 実行例 -bash-3.2$ freenodes Number of free nodes in s128 with QDR-IB connected is 3 / 137. Number of free nodes in c24 with GbE connected is 16 / 20. 85

3.4.4. ジョブの削除 ジョブをキャンセルするには bkill コマンドを実行します bjobs コマンドなどで確認したジョブ ID を指定します $ bkill 1234 Job <1234> is being terminated bkill ジョブ ID ジョブ ID ジョブ ID bkill の後に ジョブ ID をまとめて指定すると 複数の ジョブを一度にキャンセルすることができます 上記の方法でキャンセルできない場合は -r を追加して強制的にキャンセルします bkill r ジョブ ID 3.4.5. バッチリクエストの実行途中結果 ジョブの実行中において 標準出力 標準エラー出力の途中結果を bpeek コマンドで表示することができます bpeek コマンドのオプションに f を指定すると tail f と同様の動作になります $ bpeek [-f] ジョブ ID 3.4.6. ジョブの実行結果 ジョブの標準出力 及び 標準エラー出力の出力先ファイルは bsub のオプションで指定します ジョブの標準出力や標準エラー出力が必要な場合は 下記のオプションを指定してください オプション説明指定したファイルに標準出力を追加書きします -e や-eo オプション -o ファイル名が指定されていない場合は 標準エラー出力もこのファイルに出力されます 指定したファイルに標準出力を上書きします -e や-eo オプションが -oo ファイル名指定されていない場合は 標準エラー出力もこのファイルに出力されます -e ファイル名指定したファイルに標準エラー出力を追加書きします -eo ファイル名指定したファイルに標準エラー出力を上書きします 86

4. SPARC64 サーバ SPARC64 サーバは Parallelnavi ( パラレルナビ ) を採用し ジョブスケジューラの NQS プログラム開発環境として Language Package( 以降 富士通コンパイラ ) が利用可能です 4.1. 富士通コンパイラ 4.1.1. コンパイルコマンド 富士通コンパイラ には 以下のコマンドが含まれています 表 4.1.1-1 コンパイル一覧 (Parallelnavi Language Package) 使用言語 コマンド パス コマンド形式 Fortran frt /opt/fsunf90/bin frt [ オプション ] ファイル C 言語 fcc /opt/fsunf90/bin fcc [ オプション ] ファイル C++ FCC /opt/fsunf90/bin FCC [ オプション ] ファイル MPI mpifrt /opt/fjsvmpi2/bin mpifrt [ オプション ] ファイル (Fortran) MPI(C 言語 ) mpifcc /opt/fjsvmpi2/bin mpifcc [ オプション ] ファイル MPI(C++) mpifcc /opt/fjsvmpi2/bin mpifcc [ オプション ] ファイル 4.1.2. 環境変数設定 環境変数 PATH LD_LIBRARY_PATH_64 に以下の内容を加える 環境変数設定 PATH=/opt/FJSVmpi2/bin:/opt/FJSVpnple/bin:/opt/FSUNf90/bin:$PATH ; export PATH LD_LIBRARY_PATH_64=/opt/FJSVmpi2/lib/sparcv9:/opt/FJSVpnple/lib/sparcv9:/op t/fsunf90/lib/sparcv9:$ld_library_path_64 ; export LD_LIBRARY_PATH_64 87

4.1.3. コンパイルオプション Parallelnavi Language Package の主なコンパイルオプションを示します 表 4.1.3-1 コンパイルオプション (Parallelnavi Language Package) コンパイルオプション説明 -c オブジェクトファイルの作成までを行ないます -o exe_file 実行可能ファイル名 / オブジェクトファイル名を exe_file に変更します 実行可能ファイル名の省略時は a.out となります -Kfast 高速化のための最適化オプションを誘導する複合オプションです -Kparallel 自動並列化を行ないます -KOMP 高速化のための最適化オプションを誘導する複合オプションです -SSL2 C-SSL Ⅱ C-SSL Ⅱスレッド並列機能 および BLAS/LAPACK をリンクします -SSL2BLAMP 単一ファイルの最適化を行います -Qt コンパイルリストを出力します ソースリスト コンパイル時に有効となったオプション アンローリング情報 並列化情報が得られます ソースファイル名の拡張子を.lst としたファイルへ出力します 4.1.4. コンパイル方法 主なコンパイル方法を以下に示します Fortran(frt) のみを記述していますが C 言語 (fcc) C++(FCC) の場合も同様の方法となります 逐次 $ frt ソースファイル名 自動並列 $ frt -Kparallel ソースファイル名 OpenMP $ frt KOMP Kparallel ソースファイル名 88

4.1.5. 使用例 各コンパイラの利用方法を解説します サンプルプログラムは以下に格納されていますので コピーしてご活用いただけます サンプルプログラム格納場所 /opt/fsunf90/sample 4.1.5.1. Fortran コンパイラの使用例 $ frt test.f90 $./a.out 4.1.5.2. C コンパイラの使用例 $ fcc o aaa./aaa.c $./aaa 4.1.5.3. C++ コンパイラの使用例 $ FCC o aaa./aaa.c $./aaa 4.1.6. MPI Fortran/C/C++ プログラムに MPI ライブラリをリンクし プロセス並列プログラムを作成 / 実行することができます 4.1.6.1. コンパイル MPI プログラムのコンパイル方法を示します MPI プログラムのコンパイル / リンクは mpifrt(fortran) mpifcc(c) mpifcc(c++) を使用します mpifrt/mpifcc/mpifcc は内部的に frt(fortran) fcc(c) C(C++) コンパイラを呼び出し 利用者がヘッダファイルやライブラリの位置等を意識することなく利用できる環境を提供します Fortran $ mpifrt [ コンパイルオプション ] ソースファイル名 C $ mpifcc [ コンパイルオプション ] ソースファイル名 C++ $ mpifcc [ コンパイルオプション ] ソースファイル名 89

4.1.6.2. MPI プログラム実行 MPI プログラム実行方法に関しては 以下のようにして行います Fortran,C,C++ $ vi q.sh ( 以下のコマンドラインを含むシェルスクリプトを作成 ) mpiexec n 4./a.out $ qsub lp 4 lp 1 q.sh q キュー名 4.1.7. エンディアン SPARC64 サーバはビックエンディアンを採用しています SPARC64 サーバでリトルエンディアンのバイナリデータを読み込む方法 (1) 実行時オプション 書式なし入出力文において 異なるエンディアンデータのファイルを入出力する時に指定します "-Wl,-T 装置番号 " を指定した場合は 指定された装置番号に対して有効となります 例./a.out -Wl,T10 装置番号 10 のエンディアンを変換 (2) エンディアン変換コマンド エンディアン変換コマンド (/opt/fsunf90/bin.fcvendian) により データのエンディアンを 変換することができます 使用法 fcvendian 入力ファイル出力ファイルタイプ タイプに指定できるデータの型を以下に示します タイプ機能 2 2 バイトのデータ変換をします 4 4 バイトのデータ変換をします 8 8 バイトのデータ変換をします 16 16 バイトのデータ変換をします 上記以外変換されません データの型が混在するファイルは正しく変換できないことがあります 90

4.2. プログラム実行 SPARC64 サーバのジョブスケジューラには Parallelnavi の NQS を採用しています 4.2.1. キュー 表 4.2.1-1 SPARC64 サーバでジョブを投入できるキュー一覧 (1node) パラメタ値補足 ( 括弧内はデフォルト値 ) キュー名 1node 優先度 30 set priority ジョブクラス 1 set jobclass(0) 実行多重度 4 set run_limit(1) アクセス制限 なし set unrestricted_access( 制限なし ) バッチリクエストに割り当てる仮想ノード数の制限 8 set per_request vnodes_limit(1) 仮想ノードに割り当てる CPU 数の制限 4 set per_vnode cpus_limit(1) CPU 割り当てパターンの制限 OFF set cpu_alloc_pattern Restriction (OFF) CPU 単位の通常ページメモリ量の制限 1.5gb set per_cpu normal_page_memory_limit (unlimited) 仮想ノードに割り当てる通常ページメモリ量 set per_vnode unlimited の制限 normal_page_memory_limit(unlimited) 仮想ノードに割り当てる CPU 時間制限 unlimited set per_vnode cpu_limit(unlimited) 仮想ノードに割り当てるメモリ量の設定 cpu set memory_alloc_pattern restriction (cpu) 経過時間制限 3600(1H) set per_requet elapse limit(unlimited) コアファイルサイズの制限 0 set per_process corefile_limit(0) プロセス毎の CPU 時間制限 unlimited set per_process cpu_limit(unlimited) プロセス毎の最大ユーザプロセス数制限 unlimited set per_process create_processes_limit(unlimited) プロセス毎のデータセグメントサイズ制限 unlimited set per_process data_limit(unlimited) プロセス毎の RAM 上ロックファイルサイズ制限 unlimited set per_process locked_memory_limit (unlimited) プロセス毎の POSIX メッセージキューサイズ制限 プロセス毎のファイルディスクリプタ数制限 8192 プロセス毎のシグナル数制限 プロセス毎のファイルサイズ制限 プロセス毎のスタックセグメントサイズ制限 プロセス毎の仮想メモリサイズ制限 unlimited unlimited unlimited unlimited unlimited set per_process message_queue_limit (unlimited) set per_process open_files_limit (1024) set per_process pending_signals_limit (unlimited) set per_process permfile_limit (unlimited) set per_process stack_limit (unlimited) set per_process virtual_memory_limit (unlimited) 高機能インターコネクトスイッチの利用設定 1 set per_request barrier_limit (1) 実行モードポリシー CHIP_Share set policy execmode cpuchip (CHIP_Share) 仮想ノード配置ポリシー ( ノード ) Pack set policy vnodes node(pack) 仮想ノード配置ポリシー (SB) Pack set policy vnodes sb(pack) 91

仮想ノード配置ポリシー (CPU CHIP) Pack set policy vnodes cpuchip(pack) 実行モードポリシーキューイング制御 on set restriction policy execmode cpuchip(on) 仮想ノード配置ポリシー (SB) キューイング制御 on set restriction policy vnodes sb(on) 仮想ノード配置ポリシー (SB) キューイング制御 on set restriction policy vnodes cpuchip (on) 未使用メモリ資源の自動解放 80 set free_memory rate(80) 未使用メモリの自動解放時間 unlimited set free_memory time(unlimited) チェックポイント採取間隔 unlimited set checkpoint interval(unlimited) ジョブ凍結可能属性 on set restriction freezable(on) マイグレート属性 on set restriction migrate(on) 表 4.2.1-2 SPARC64 サーバでジョブを投入できるキュー一覧 (2node) パラメタ値補足 ( 括弧内はデフォルト値 ) キュー名 2node 優先度 20 set priority ジョブクラス 2 set jobclass(0) 実行多重度 8 set run_limit(1) アクセス制限 なし set unrestricted_access( 制限なし ) バッチリクエストに割り当てる仮想ノード数の制限 8 set per_request vnodes_limit(1) 仮想ノードに割り当てる CPU 数の制限 4 set per_vnode cpus_limit(1) CPU 割り当てパターンの制限 OFF set cpu_alloc_pattern Restriction (OFF) CPU 単位の通常ページメモリ量の制限 1.5gb set per_cpu normal_page_memory_limit (unlimited) 仮想ノードに割り当てる通常ページメモリ量 set per_vnode unlimited の制限 normal_page_memory_limit(unlimited) 仮想ノードに割り当てる CPU 時間制限 unlimited set per_vnode cpu_limit(unlimited) 仮想ノードに割り当てるメモリ量の設定 cpu set memory_alloc_pattern restriction (cpu) 経過時間制限 43200(12H) set per_requet elapse limit(unlimited) コアファイルサイズの制限 0 set per_process corefile_limit(0) プロセス毎の CPU 時間制限 unlimited set per_process cpu_limit(unlimited) プロセス毎の最大ユーザプロセス数制限 unlimited set per_process create_processes_limit(unlimited) プロセス毎のデータセグメントサイズ制限 unlimited set per_process data_limit(unlimited) プロセス毎の RAM 上ロックファイルサイズ制限 unlimited set per_process locked_memory_limit (unlimited) プロセス毎の POSIX メッセージキューサイズ制限 unlimited set per_process message_queue_limit (unlimited) プロセス毎のファイルディスクリプタ数制限 8192 set per_process open_files_limit (1024) プロセス毎のシグナル数制限 unlimited set per_process pending_signals_limit (unlimited) プロセス毎のファイルサイズ制限 unlimited set per_process permfile_limit (unlimited) プロセス毎のスタックセグメントサイズ制限 unlimited set per_process stack_limit (unlimited) プロセス毎の仮想メモリサイズ制限 unlimited set per_process virtual_memory_limit (unlimited) 92

高機能インターコネクトスイッチの利用設定 1 set per_request barrier_limit (1) 実行モードポリシー CHIP_Share set policy execmode cpuchip (CHIP_Share) 仮想ノード配置ポリシー ( ノード ) Pack set policy vnodes node(pack) 仮想ノード配置ポリシー (SB) Pack set policy vnodes sb(pack) 仮想ノード配置ポリシー (CPU CHIP) Pack set policy vnodes cpuchip(pack) 実行モードポリシーキューイング制御 on set restriction policy execmode cpuchip(on) 仮想ノード配置ポリシー (SB) キューイング制御 on set restriction policy vnodes sb(on) 仮想ノード配置ポリシー (SB) キューイング制御 on set restriction policy vnodes cpuchip (on) 未使用メモリ資源の自動解放 80 set free_memory rate(80) 未使用メモリの自動解放時間 unlimited set free_memory time(unlimited) チェックポイント採取間隔 unlimited set checkpoint interval(unlimited) ジョブ凍結可能属性 on set restriction freezable(on) マイグレート属性 on set restriction migrate(on) 93

4.2.2. ジョブ実行方法 ジョブを実行するには SPARC64 サーバから qsub コマンドを実行します 4.2.2.1. バッチリクエストの投入 ジョブを実行するために バッチリクエストを事前に作成する必要があります qsub コマンドにジョブ投入スクリプトを指定することで ジョブがキューイングされ実行されます $ /usr/bin/qsub./run.sh Request リクエスト ID. クラスタ名 submitted to queue: キュー名. qsub コマンドの主なオプションを示します 表 4.2.2.1-1 主要オプション (qsub) オプション概要 -q キュー名投入するキューを指定します -lp 仮想ノード数仮想ノード数 ( プロセス数 ) を指定します ( プロセス数 ) -lp 仮想ノードあた仮想ノード ( プロセス ) あたりのコア数を指定します りのコア数 -lm プロセスあたりのメモリサイズ -ls プロセスあたりのスタックサイズ -cp 経過時間 プロセスあたりのノーマルメモリサイズを指定します 単位は kb,mb,gb プロセスあたりのスタックサイズを指定します 単位は kb,mb,gb ジョブの経過時間制限値を指定します 経過時間は分単位または HH:MM:SS で指定することができます -o ファイル名標準出力ファイル名を指定します -e ファイル名 -eo -oi or oi -nr -mb -me -lt CPU 時間 標準エラー出力ファイルを指定します 標準出力と標準エラー出力をまとめる場合には -eo を使用します 統計情報を標準出力で通知します -oi はノード情報が含まれます 障害発生時のジョブの再実行を禁止します ジョブ実行開始時にメールを送信します ジョブ実行終了時にメールを送信します プロセスあたりの CPU 時間を指定します 94

4.2.2.2. ジョブ投入スクリプトの作成 ジョブ投入のためのバッチスクリプトを作成します (1) qsub オプション ( デフォルト値の指定 ) ジョブ投入スクリプトは #@$ で始まる行に qsub オプションを指定することで qsub コマンド実行時の省略値を指定することができます (2) qsub オプション解析 ( ジョブ投入スクリプト ) NQS は ジョブ投入スクリプトについて qsub オプションを次の通り解釈します (3) 環境変数 qsub コマンド実行時 ジョブ実行時に環境変数が設定されます 設定される主な環境変数を示します 表 4.2.2.2-1 環境変数 環境変数 内容 QSUB_WORKDIR 投入されたカレントディレクトリ QSUB_VNODES 割り当てプロセス数 (-lp に指定した値 ) QSUB_CPUS 割り当てプロセス当たりの CPU 数 (-lp に指定した値 ) QSUB_NODEINF バッチリクエストに割り当てたノードリストファイルのパス (MPI を実行する際の machinefile) QSUB_REQID ジョブリクエスト識別子 QSUB_BATCHQUEUE バッチキュー名 QSUB_RESTARTINF バッチリクエストの再実行情報 (0: 初回実行, 1: 再実行 ) 95

4.2.2.3. 逐次ジョブを実行する場合 逐次ジョブ ( 並列化されていないジョブ ) を実行する時に作成するバッチスクリプトの例を示します $ vi run.sh #!/bin/bash #@$ -q q12 #@$ -lp 1 (1) #@$ -o stdout (2) #@$ -e stderr (3) PATH=/opt/FJSVmpi2/bin:/opt/FJSVpnple/bin:/opt/FSUNf90/bin:$PATH ; export PATH LD_LIBRARY_PATH_64=/opt/FJSVmpi2/lib/sparcv9:/opt/FJSVpnple/lib/sparc v9:/opt/fsunf90/lib/sparcv9:$ld_library_path_64 ; export LD_LIBRARY_PATH_64 (4) cd $QSUB_WORKDIR (5)./a.out (6) (1) ジョブで使用するプロセス数 (-lp) を指定します 逐次ジョブの場合 プロセス数は 1 となりますので 指定値は lp 1 を指定します (2) 標準出力ファイルを指定します (3) 標準エラー出力ファイルを指定します (4) 環境変数の設定 (5) ジョブをサブミットしたディレクトリに移動します (6) プログラム (a.out) を実行します 96

4.2.2.4. スレッド並列ジョブを実行する場合 スレッド並列ジョブを実行する時に作成するバッチスクリプトの例を示します $ vi run.sh #!/bin/bash #@$ -q normal #@$ -lp 8 (1) #@$ -J test_openmp #@$ -o stdout.%j #@$ -e stderr.%j export OMP_NUM_THREADS=8 (2) export PARALLEL=8 PATH=/opt/FJSVmpi2/bin:/opt/FJSVpnple/bin:/opt/FSUNf90/bin:$PATH ; export PATH LD_LIBRARY_PATH_64=/opt/FJSVmpi2/lib/sparcv9:/opt/FJSVpnple/lib/sparcv9 :/opt/fsunf90/lib/sparcv9:$ld_library_path_64 ; export LD_LIBRARY_PATH_64 cd $QSUB_WORKDIR./a.out (3) (1) ジョブで使用するスレッド数 ( コア数 )(-lp) を指定します 上記の例では 8 スレッドで実行するために -lp 8 を指定しています (2) 環境変数 OMP_NUM_THREADS もしくは PARALLEL にスレッド数を指定します (3) プログラム (a.out) を実行します 97

4.2.2.5. MPI プログラムを実行する場合 プロセス並列 プロセス並列 / スレッド並列を組み合わせてジョブを実行する時に作成するバッチスクリプトの例を示します $ vi run.sh #!/bin/bash #@$ -q mpi_q #@$ -o stdout #@$ -e stderr PATH=/opt/FJSVmpi2/bin:/opt/FJSVpnple/bin:/opt/FSUNf90/bin:$PATH ; export PATH LD_LIBRARY_PATH_64=/opt/FJSVmpi2/lib/sparcv9:/opt/FJSVpnple/lib/sparcv9:/opt/ FSUNf90/lib/sparcv9:$LD_LIBRARY_PATH_64 ; export LD_LIBRARY_PATH_64 cd $QSUB_WORKDIR mpiexec np 4./a.out (1) (1) プログラム (a.out) を実行します -np にてプロセス数を指定します 98

4.2.3. ジョブの実行状況の確認 ジョブの実行状況を確認する場合には qstat コマンドを使用します 4.2.3.1. 実行状況 (qstat) qstat コマンドでは ジョブの情報 (REQUEST NAME REQUEST ID USER PRI STATE) は 該当する利用者の情報のみ表示されます 他の利用者情報を含めて表示するには a オプションを指定します キュー名を省略するとすべてのキューの情報が表示されます $ qstat a キュー名キュー名 @ クラスタ名 ; type=batch; [ENABLED, INACTIVE]; pri=32 0 exit; 0 run; 1 queued; 0 wait; 0 hold; 0 arrive; REQUEST NAME REQUEST ID USER PRI STATE 1: testjob リクエスト ID. クラスタ名 test 51 RUNNING 省略 (1) REQUEST NAME バッチリクエスト名 (2) REQUEST ID バッチリクエスト ID (3) USER User ID (4) PRI ジョブプライオリティ (5) STATE ジョブの状態 表 4.2.3.1-1 ジョブ状態 (qstat コマンド ) 状態説明 RUNNING ジョブは実行中です QUEUED ジョブはキューイング中です 4.2.3.2. ジョブの途中経過の確認 (qcat) 投入してジョブの途中結果は qcat で確認できます $ qcat [-o -e -s] リクエスト ID 99

4.2.3.3. キュー制限値 (qstat lx) 各キューに設定されている制限値などを表示するには qstat lx を実行します キュー名を省略するとすべてのキューの情報が表示されます $ qstat lx キュー名 キュー名 @ クラスタ名 ; type=batch; [ENABLED, INACTIVE]; pri=32 0 exit; 0 run; 1 queued; 0 wait; 0 hold; 0 arrive; Run_limit = 2048; Groups with access = manager tester Users with access = root Per-cpu large_page_memory limit = 0 bytes Per-cpu normal_page_memory limit = UNLIMITED Per-request elapse limit = UNLIMITED Per-request vnodes limit = 2048 Per-vnode CPU limit = UNLIMITED Per-vnode CPUs limit = 16 Per-vnode large_page_memory limit = 0 bytes Per-vnode normal_page_memory limit = 28913 megabytes Per-process corefile limit = UNLIMITED Per-process CPU limit = UNLIMITED Per-process create_processes limit = UNLIMITED Per-process data limit = UNLIMITED Per-process locked_memory limit = UNLIMITED Per-process message_queue limit = UNLIMITED Per-process open_files limit = 2048 Per-process pending_signals limit = 1024 Per-process permfile limit = UNLIMITED Per-process stack limit = UNLIMITED Per-process virtual_memory limit = UNLIMITED Policy execmode cpuchip = CHIP_SHare, Norestrict Policy vnodes node = PACk, Norestrict Policy vnodes sb = PACk, Norestrict Policy vnodes cpuchip = PACk, Norestrict Cpu_alloc_pattern restriction = OFF Memory_alloc_pattern restriction = VNODE Free_memory rate = 80 Free_memory time = UNLIMITED Checkpoint interval = 3600.000 Jobclass = 10 + Apply non freezable attribute, Norestrict + Apply non migratable attribute, Norestrict 4.2.3.4. ジョブの削除 (qdel) ジョブをキャンセルするには qdel コマンドを実行します qstat コマンドなどで確認したリクエスト ID を指定します $ qdel リクエスト ID Request リクエスト ID. クラスタ名 has been deleted. 100

4.2.4. ジョブの実行結果 ジョブの標準出力 及び 標準エラー出力の出力先ファイルは qsub のオプションで指定します ジョブの標準出力や標準エラー出力が必要な場合は 下記のオプションを指定してください オプション 説明 指定したファイルに標準出力を追加書きします -e や-eo オプション -o ファイル名 が指定されていない場合は 標準エラー出力もこのファイルに出力さ れます -e ファイル名 指定したファイルに標準エラー出力を追加書きします -eo 標準出力と標準エラー出力をマージします 101