Agenda 富士通 C++ コンパイラ C++ コンパイラの概要 C++ コードに対する課題 最適化の拡張 性能状況 OpenFOAM FX10 向けOpenFOAM OpenFOAM 構築 OpenFOAM 利用 OpenFOAMの性能改善 流体解析ヘルプデスク (OpenFOAM) 1

Size: px
Start display at page:

Download "Agenda 富士通 C++ コンパイラ C++ コンパイラの概要 C++ コードに対する課題 最適化の拡張 性能状況 OpenFOAM FX10 向けOpenFOAM OpenFOAM 構築 OpenFOAM 利用 OpenFOAMの性能改善 流体解析ヘルプデスク (OpenFOAM) 1"

Transcription

1 富士通 C++ コンパイラの 性能向上の取り組み 2013 年 9 月 27 日富士通株式会社ミドルウェア事業本部アプリケーションマネジメント ミドルウェア事業部第四開発部千葉修一

2 Agenda 富士通 C++ コンパイラ C++ コンパイラの概要 C++ コードに対する課題 最適化の拡張 性能状況 OpenFOAM FX10 向けOpenFOAM OpenFOAM 構築 OpenFOAM 利用 OpenFOAMの性能改善 流体解析ヘルプデスク (OpenFOAM) 1

3 富士通 C++ コンパイラ 2

4 C++ コンパイラの概要 製品名 Parallelnavi for MP10 - 京 向け Technical Computinig Suite - PRIMEHPC FX10 向け 仕様 ISO/IEC 14882:2003 規格 GNU C++ コンパイラ仕様 ( 一部 ) Standard Template Library: STLport / / fast mode 機能 逐次最適化機能インライン展開 ループ最適化 SIMD 化 ソフトウェアパイプライニング etc. 並列化機能自動並列化 OpenMP API Version 3.0 May 2008 * 京 は独立行政法人理化学研究所の登録商標です * スーパーコンピュータ 京 は 独立行政法人理化学研究所と富士通の共同開発です 3

5 C++ コードに対する課題 アプリケーション実行性能における問題 (sec) 倍差 multiphase/interdymfoam/ras/sloshingtank3d multiphase/multiphaseinterfoam/laminar/dambreak4phase multiphase/interfoam/ras/dambreak multiphase/mrfmultiphaseinterfoam/mixervessel2d incompressible/mrfsimplefoam/mixervessel2d heattransfer/buoyantsimpleradiationfoam/hotradiationroom heattransfer/buoyantpimplefoam/hotroom heattransfer/buoyantboussinesqpimplefoam/hotroom compressible/rhoporousmrfpimplefoam/mixervessel2d combustion/pdrfoam/flamepropagationwithobstacles DNS/dnsFoam/boxTurb16 basic/potentialfoam/pitzdaily 富士通 C /09 GNU C++ 性能測定は FX10 を利用 OpenFOAM 付属チュートリアルコード 13 本選出における性能比較で 2.3 倍差 4

6 C++ コードに対する課題 最適化機能の改善計画 特殊なコード最適化機能 コード一括変換型最適化 ループの多段変形効果 : CRTP カ ウスサ イテ ル法 smoother C++ コード最適化機能 C++ 言語仕様最適化機能 再帰向けインライン展開の強化 スケジューリングの改善効果 : 再帰型テンプレート インライン展開の強化 STLport fast mode の開発効果 : テンプレート operator etc. 開発言語共通最適化機能 Base Function 1st Ext. 2nd Ext. 3rd Ext. 2012/ / / /09 Fortran/C/C++ 共通汎用最適化 ハードウェア向け最適化 5

7 C++ コードに対する課題 C++ 機能に対する最適化状況 C++ 技術 最適化機能 base '12/09 対応状況 予定 1st '13/09 2nd '14/03 クラスコンストラクタ / デストラクタ分岐削除 例外処理 unwind ライブラリ 自動インラインインライン属性 STL 多重継承テンプレート operator 3rd '14/09 ユーザ指示インライン展開 SPARC アーキテクチャ対応による STLport fast mode インライン展開 ローカルスケジューリング 再帰型テンプレート再帰向けインライン展開 CRTP 仮想関数フレンド関数 型変換解析 仮想関数テーブル除去特殊属性インライン展開 ポインタ 構造体依存解析 PointerValueResolution : 未着手 :50% 対応完了〇 :90% 対応完了 (g++ レベル ) : 対応完了 6

8 最適化の拡張 STLport fast mode SPARCアーキテクチャ向けチューニングによる高速化を実現 Base Function instance 1st Extension allocate/deallocate Memory pool :Lock Object Lock Object の生成オーバヘッドが高い pthread を利用したライブラリ レベルの排他 allocate/deallocate Memory pool 排他用オブジェクトの再利用 排他論理の C&S に変更 高速モードオプションを追加 instance 7

9 最適化の拡張 再帰型テンプレート 1 から 10 までの数字の合計を算出するプログラム Num template< int S, int E > class Num // S: start, E: end { public: static const int status = (S < E)? 1 : 0; static int getsum() { return S + Num< status*(s+1), status*e >::getsum(); } template<> class Num< 0, 0 > // Partial template specialization { public: static int getsum() { return 0; } // tail call main() { Num<1,10> n; cout << "sum=" << n.getsum() << endl ;; // sum=55 8

10 最適化の拡張 再帰型テンプレート 再帰呼び出し向けのインライン展開による即値の伝搬 Base Function call Graph int Num<N, I>::getSum() [with int S = 1, int E = 10] int Num<N, I>::getSum() [with int S = 2, int E = 10] int Num<N, I>::getSum() [with int S = 3, int E = 10] int Num<N, I>::getSum() [with int S = 10, int E = 10] int Num<N, I>::getSum() [with int S = 0, int E = 0] 2nd Extention call Graph すべて別名関数 部分特殊化の利用 55 完全なインライン展開 即値を設定 9

11 最適化の拡張 仮想関数 基底クラス :Polygon を持つ Triangle の面積算出プログラム 三角形 : 正多角形 class Polygon { private: int side; virtual int calcarea(int side) = 0; public: int getarea() { return calcarea(side); } class Triangle : public Polygon { private: int calcarea(int side) { return side * side / 2; } int main(int argc, char *argv[]) { Triangle t(100); cout << "triangle area=" << t.getarea() << endl ;; //

12 最適化の拡張 仮想関数 仮想関数テーブルの削除により即値を伝搬 Base Function Polygon getarea() { } search calcarea vtable ( 仮想関数テーブル ) Polygon::calcArea call calcarea Triangle calcarea() { } 3rd Extension 5000 Polygon 仮想関数テーブルによる間接アクセス Triangle inline getarea() { } inline calcarea() { } 即値を設定 11 オーバライドの検出 仮想関数テーブルの削除 インライン展開の強化

13 最適化の拡張 CRTP:Curiously Recurring Template Pattern 基底クラス :Polygon を持つ Triangle の面積算出プログラム 三角形 : 正多角形 template<class T> class Polygon { private: int side; public: int getarea() { return static_cast<t&>(*this).calcarea(side); } class Triangle : public Polygon<Triangle> { public: int calcarea(int side) { return side * side / 2; } int main(int argc, char *argv[]) { Triangle t(100); cout << "triangle area=" << t.getarea() << endl ;; 12

14 最適化の拡張 CRTP:Curiously Recurring Template Pattern 型変換解析の強化による即値の伝搬 Base Function 3rd Extension call getarea Polygon getarea() { // キャスト呼び出し static_cast<t&>(*this) } call calcarea Triangle calcarea() { } アドレスに対する型変換 5000 Polygon Triangle 即値を設定 inline getarea() { // キャスト呼び出し static_cast<t&>(*this) } inline calcarea() { } 型変換解析の強化 インライン展開の強化 13

15 最適化の拡張 コーディングスタイルによる性能の変化 コーディングスタイルの異なるC++ コードの姫野ベンチを作成し 実行性能の変化を計測 富士通 C++ GNU C++ ともに同じ傾向 (MFLOPS) type 1 (Fortran コードライク ) 配列アクセスを利用したコード type 2 (C 言語コードライク ) ポインタアクセスを利用したコード type 3 (C++ コードライク ) テンプレートを利用したコード himenobmt type 1 himenobmt type 2 himenobmt type 3 チューニングのポイントは コーディングスタイルにもある 性能測定は FX10 を利用 14

16 性能状況 アプリケーション実行性能 (sec) 35,000 30,000 25,000 20,000 15,000 10,000 multiphase/interdymfoam/ras/sloshingtank3d multiphase/multiphaseinterfoam/laminar/dambreak4phase multiphase/interfoam/ras/dambreak multiphase/mrfmultiphaseinterfoam/mixervessel2d incompressible/mrfsimplefoam/mixervessel2d heattransfer/buoyantsimpleradiationfoam/hotradiationroom heattransfer/buoyantpimplefoam/hotroom heattransfer/buoyantboussinesqpimplefoam/hotroom compressible/rhoporousmrfpimplefoam/mixervessel2d combustion/pdrfoam/flamepropagationwithobstacles DNS/dnsFoam/boxTurb16 basic/potentialfoam/pitzdaily basic/laplacianfoam/flange コンパイルオプション -O3 -Xg -Klib -Krdconv -Kfp_contract -Nstl=500fast 5,000 0 富士通 C /09 富士通 C /09 富士通 C /09 GNU C++ チュートリアルによっては FPE が発生する場合あり 性能測定は FX10 を利用 OpenFOAM 付属チュートリアルコード 13 本選出における性能比較 15

17 性能状況 アプリケーション翻訳性能 (%) % 性能改善 富士通 C /09 富士通 C /09 性能測定は FX10 を利用 OpenFOAM 付属チュートリアルコード 177 本選出における性能比較 16

18 OpenFOAM 17

19 FX10 向け OpenFOAM FX10 における OpenFOAM の取り組み FX10 は市販 (ISV) アプリの動作実績が少ないため OSS( 流体解析分野では OpenFOAM) を強化 OpenFOAM の調査 分析を行い コンパイラ改善 性能改善を実施し FX10 向けに提供 東京大学 ) 情報基盤センター様 FX10 (Oakleaf-FX) の状況 OpenFOAM のリリース状況 OpenFOAM Version 公開日最終更新日 /4/2 2013/3/18 9/26 迄デフォルト /2/ /3/ /3/ /5/ /9/28-9/28 以降のデフォルト 実行確認は OpenFOAM tutorials を使用 2.1.0/2.1.1 は 560 ケース中 557 の走行を確認 (3 ケースは IA Intel コンパイラと同等 ) はアプリケーションバグが多く で確認作業を実施中 18

20 OpenFOAM 構築 ( 東大情報基盤センター様 FX10) 構築方法 東大センター (Oakleaf-FX) の利用支援ポータルから FX10 用 OpenFOAM のパッチと構築手順のダウンロードが可能 (Oakleaf-FX のアカウントが必要 ) FX10 の開発環境は ログインノードと計算ノードで環境が異なる ログインノード : IA 機 - x86, FJ クロスコンパイラ, リトルエンディアン 計算ノード : FX10 - SPARC, FJ オウンコンパイラ, ビックエンディアン 1) OpenFOAM と Third-Party をダウンロード 2) Third-Party はオウンコンパイラで構築 3) OpenFOAM はクロスコンパイラで構築 4) tutorials で動作確認 19

21 OpenFOAM 利用 ( 東大情報基盤センター様 FX10) Oakleaf-FX での環境設定 (Environment Modules を利用 ) 利用可能なライブラリ アプリを表示 ( ログインノードとインタラクティブノードで異なる ) OpenFOAM の環境を設定 利用例 [user@fx10 ~]$ module avail /usr/local/share/modules/modulefiles/apps OpenFOAM/2.1.0(default) OpenFOAM/2.2.0 OpenFOAM/2.2.1 : : [user@fx10 ~]$ module load OpenFOAM/2.2.1 [OpenFOAM 2.2.1を設定 ] [user@fx10 ~]$ module list [ 環境設定されたことを確認 ] Currently Loaded Modulefiles: 1) TCSuite/GM ) OpenFOAM/2.2.1 OpenFOAM 用メッシュの作成 (blockmesh snappyhexmesh その他 ) パラメタ モデル設定等 実行スクリプト準備 ジョブ投入 (Oakleaf-FX : pjsub: 投入, pjstat: 確認 ) ポスト処理 (Paraview 等 ) 20

22 OpenFOAM の性能改善 利用頻度の高い tutorials を選定し性能改善を実施中 チュートリアル名内容問題規模 motorbike 風環境解析 34 万格子 ( 逐次実行 ) hotroom 定常熱流体解析 4 千格子 ( 逐次実行 ) multiregionheaterradiation 伝熱連成解析 3 千格子 ( 逐次実行 ) propeller 回転機械解析 57 万格子 (4 並列実行 ) buoyantboussinesqsimplefoam 定常熱流体解析 - Foam::GaussSeidelSmoother::smooth() 3~4 回転のループがソフトウェアパイプライニングされているため 4 回転以下の場合は ループ内容を展開したルートを通るようにコード変更 実行時間が 秒 秒に短縮 プロセス間リダクション演算に Tofu バリア機構を利用 プロセス間リダクション演算が MPI_Send/Recv で実装されている MPI_Allreduce を使用するバイパスルートを追加 対象関数 : Foam::reduce() 平方根演算のコスト削減 平方根演算が多いが 逆数近似命令が使用されていないため 翻訳オプション -Klib,fp_relaxed を適用 FPE で異常終了する事もあり注意が必要 今後も性能改善を継続し OpenFOAM チューニング版の情報提供を予定 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 演算 一対一通信完了待ち ランク 集団通信開始待ち その他の通信 パフォーマンス解析 21

23 流体解析ヘルプデスク (OpenFOAM) サービス一覧 導入サービスインストール 動作チェック 標準ソルバー simplefoam のカスタマイズ例 定常の濃度移流拡散方程式 Q&A サービス により技術的なご質問回答 教育サービス操作講習 理論解説 等お客様のニーズ応じたコースを提供 受託開発サービス方程式の組込み等 アプリのカスタマイズを実施 受託解析サービス十分に経験を積んだ技術者がお客様の解析を代行 現在は IA サーバのみサポート対象 1 トップレベルソースコード simple.c に以下を挿入 solve ( fvm::div(phi, C) ==fvm::laplacian(turbulence->nueff(), C) ); 2 ヘッダーファイル createfield.h を編集 3 新ソルバーをビルド simplefoam の流れ場と完全に一致 ホームページ 追加した濃度の移流拡散方程式が正常に機能 22

24 23 Copyright 2010 FUJITSU LIMITED

Slide 1

Slide 1 OpenFoam のための C/C++ 第 3 回 OpenFoam で勉強るテンプレート 田中昭雄 1 目的 この勉強会の資料があれば OpenFoam カスタマイズ時に C/C++ で迷わない 2 予定 第 1 回メモリ管理 第 2 回 CFDの例で勉強するクラス 第 3 回 OpenFOAMで勉強するテンプレート 第 4 回 OpenFOAMカスタマイズ 第 5 回未定 第 6 回未定 3 今回のテーマ

More information

この時お使いの端末の.ssh ディレクトリ配下にある known_hosts ファイルから fx.cc.nagoya-u.ac.jp に関する行を削除して再度ログインを行って下さい

この時お使いの端末の.ssh ディレクトリ配下にある known_hosts ファイルから fx.cc.nagoya-u.ac.jp に関する行を削除して再度ログインを行って下さい 20150901 FX10 システムから FX100 システムへの変更点について 共通... 1 Fortran の変更点... 2 C/C++ の変更点... 4 C の変更点... 5 C++ の変更点... 7 共通 1. プログラミング支援ツールの更新 -FX システムについて旧バージョンのプログラミング支援ツールは利用できません 下記からダウンロードの上新規インストールが必要です https://fx.cc.nagoya-u.ac.jp/fsdtfx100/install/index.html

More information

NEE 研究会第 18 回講演討論会 OpenFOAM への計算機能追加連続的データ同化法 (VCA 法 ) の実装 大阪大学大学院工学研究科博士後期課程松尾智仁 内容 1.OpenFOAM を使う理由 1.1 OpenFOAMの特徴 1.2 OpenFOAMを使うにあたって 2.OpenFOAM

NEE 研究会第 18 回講演討論会 OpenFOAM への計算機能追加連続的データ同化法 (VCA 法 ) の実装 大阪大学大学院工学研究科博士後期課程松尾智仁 内容 1.OpenFOAM を使う理由 1.1 OpenFOAMの特徴 1.2 OpenFOAMを使うにあたって 2.OpenFOAM NEE 研究会第 18 回講演討論会 OpenFOAM への計算機能追加連続的データ同化法 (VCA 法 ) の実装 大阪大学大学院工学研究科博士後期課程松尾智仁 内容 1.1 OpenFOAMの特徴 1.2 OpenFOAMを使うにあたって 2.OpenFOAM への計算機能追加 2.1 計算機能の追加の方法 VCA 法とは 計算例 2015.01.27 於大阪大学中之島センター 2 1.1 OpenFOAM

More information

とても使いやすい Boost の serialization

とても使いやすい Boost の serialization とても使いやすい Boost の serialization Zegrahm シリアライズ ( 直列化 ) シリアライズ ( 直列化 ) とは何か? オブジェクトデータをバイト列や XML フォーマットに変換すること もう少しわかりやすく表現すると オブジェクトの状態を表す変数 ( フィールド ) とオブジェクトの種類を表す何らかの識別子をファイル化出来るようなバイト列 XML フォーマット形式で書き出す事を言う

More information

演習1: 演習準備

演習1: 演習準備 演習 1: 演習準備 2013 年 8 月 6 日神戸大学大学院システム情報学研究科森下浩二 1 演習 1 の内容 神戸大 X10(π-omputer) について システム概要 ログイン方法 コンパイルとジョブ実行方法 OpenMP の演習 ( 入門編 ) 1. parallel 構文 実行時ライブラリ関数 2. ループ構文 3. shared 節 private 節 4. reduction 節

More information

基礎プログラミング2015

基礎プログラミング2015 応用プログラミング 第 11 回 関数の名前 2017 年 11 月 29 日 ( 水 ) 第 12 章 関数の名前 今日の内容 * これまでの関数 必ず main 関数 ( 呼び出し元 ) の前に関数定義をする 宣言した仮引数の数と実引数として渡す値の数は同じ 仮引数の型に合わせた値渡し (1) 関数宣言 : 関数の戻り値の型, 名前, 引数の型のみ先行指定 (2) 多重定義 : 引数が異なる同じ名前の関数の作成

More information

Fujitsu Standard Tool

Fujitsu Standard Tool 低レベル通信ライブラリ ACP の PGAS ランタイム向け機能 2014 年 10 月 24 日富士通株式会社 JST CREST 安島雄一郎 Copyright 2014 FUJITSU LIMITED 本発表の構成 概要 インタフェース チャネル ベクタ リスト メモリアロケータ アドレス変換 グローバルメモリ参照 モジュール構成 メモリ消費量と性能評価 利用例 今後の課題 まとめ 1 Copyright

More information

Microsoft PowerPoint OpenFOAMの使い方(柴田).ppt [互換モード]

Microsoft PowerPoint OpenFOAMの使い方(柴田).ppt [互換モード] OpenFOAM 勉強会 for beginner 2 期第 1 回 OpenFOAM の使い方 柴田貴裕 目標 既に OpenFOAM はインストール済み さまざまなチュートリアルに取り組めるようにチュートリアルの実行の方法を scalartransportfoam を例に用いて見ていく インストールは OpenCFD の HP の方法に従えば比較的容易にできる ) OpenCFD 社の HP http://www.openfoam.com/

More information

4-3- 基 C++ に関する知識 オープンソースシステムのソースを解読する上で C++ の知識は必須であるといえる 本カリキュラムでは まずオブジェクト指向に関する Ⅰ. 概要理解を深め クラスの扱い方について学習し STL を使用してアルゴリズムとデータ構造を実装する方法を学習する Ⅱ. 対象専

4-3- 基 C++ に関する知識 オープンソースシステムのソースを解読する上で C++ の知識は必須であるといえる 本カリキュラムでは まずオブジェクト指向に関する Ⅰ. 概要理解を深め クラスの扱い方について学習し STL を使用してアルゴリズムとデータ構造を実装する方法を学習する Ⅱ. 対象専 4-3- 基 C++ に関する知識 1 4-3- 基 C++ に関する知識 オープンソースシステムのソースを解読する上で C++ の知識は必須であるといえる 本カリキュラムでは まずオブジェクト指向に関する Ⅰ. 概要理解を深め クラスの扱い方について学習し STL を使用してアルゴリズムとデータ構造を実装する方法を学習する Ⅱ. 対象専門分野職種共通 Ⅲ. 受講対象者 本カリキュラムの 4-2-

More information

Microsoft Word - HOKUSAI_system_overview_ja.docx

Microsoft Word - HOKUSAI_system_overview_ja.docx HOKUSAI システムの概要 1.1 システム構成 HOKUSAI システムは 超並列演算システム (GWMPC BWMPC) アプリケーション演算サーバ群 ( 大容量メモリ演算サーバ GPU 演算サーバ ) と システムの利用入口となるフロントエンドサーバ 用途の異なる 2 つのストレージ ( オンライン ストレージ 階層型ストレージ ) から構成されるシステムです 図 0-1 システム構成図

More information

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 ポインタ変数の扱い方 1 ポインタ変数の宣言 int *p; double *q; 2 ポインタ変数へのアドレスの代入 int *p; と宣言した時,p がポインタ変数 int x; と普通に宣言した変数に対して, p = &x; は x のアドレスのポインタ変数 p への代入 ポインタ変数の扱い方 3 間接参照 (

More information

Microsoft PowerPoint - 1_コンパイラ入門セミナー.ppt

Microsoft PowerPoint - 1_コンパイラ入門セミナー.ppt インテルコンパイラー 入門セミナー [ 対象製品 ] インテル C++ コンパイラー 9.1 Windows* 版インテル Visual Fortran コンパイラー 9.1 Windows* 版 資料作成 : エクセルソフト株式会社 Copyright 1998-2007 XLsoft Corporation. All Rights Reserved. 1 インテル コンパイラー入門 本セミナーの内容

More information

Microsoft PowerPoint - sales2.ppt

Microsoft PowerPoint - sales2.ppt 最適化とは何? CPU アーキテクチャに沿った形で最適な性能を抽出できるようにする技法 ( 性能向上技法 ) コンパイラによるプログラム最適化 コンパイラメーカの技量 経験量に依存 最適化ツールによるプログラム最適化 KAP (Kuck & Associates, Inc. ) 人によるプログラム最適化 アーキテクチャのボトルネックを知ること 3 使用コンパイラによる性能の違い MFLOPS 90

More information

Microsoft PowerPoint - 高速化WS富山.pptx

Microsoft PowerPoint - 高速化WS富山.pptx 京 における 高速化ワークショップ 性能分析 チューニングの手順について 登録施設利用促進機関 一般財団法人高度情報科学技術研究機構富山栄治 一般財団法人高度情報科学技術研究機構 2 性能分析 チューニング手順 どの程度の並列数が実現可能か把握する インバランスの懸念があるか把握する タイムステップループ I/O 処理など注目すべき箇所を把握する 並列数 並列化率などの目標を設定し チューニング時の指針とする

More information

Microsoft PowerPoint - KHPCSS pptx

Microsoft PowerPoint - KHPCSS pptx KOBE HPC サマースクール 2018( 初級 ) 9. 1 対 1 通信関数, 集団通信関数 2018/8/8 KOBE HPC サマースクール 2018 1 2018/8/8 KOBE HPC サマースクール 2018 2 MPI プログラム (M-2):1 対 1 通信関数 問題 1 から 100 までの整数の和を 2 並列で求めなさい. プログラムの方針 プロセス0: 1から50までの和を求める.

More information

openmp1_Yaguchi_version_170530

openmp1_Yaguchi_version_170530 並列計算とは /OpenMP の初歩 (1) 今 の内容 なぜ並列計算が必要か? スーパーコンピュータの性能動向 1ExaFLOPS 次世代スハ コン 京 1PFLOPS 性能 1TFLOPS 1GFLOPS スカラー機ベクトル機ベクトル並列機並列機 X-MP ncube2 CRAY-1 S-810 SR8000 VPP500 CM-5 ASCI-5 ASCI-4 S3800 T3E-900 SR2201

More information

演習準備 2014 年 3 月 5 日神戸大学大学院システム情報学研究科森下浩二 1 RIKEN AICS HPC Spring School /3/5

演習準備 2014 年 3 月 5 日神戸大学大学院システム情報学研究科森下浩二 1 RIKEN AICS HPC Spring School /3/5 演習準備 2014 年 3 月 5 日神戸大学大学院システム情報学研究科森下浩二 1 演習準備の内容 神戸大 FX10(π-Computer) 利用準備 システム概要 ログイン方法 コンパイルとジョブ実行方法 MPI 復習 1. MPIプログラムの基本構成 2. 並列実行 3. 1 対 1 通信 集団通信 4. データ 処理分割 5. 計算時間計測 2 神戸大 FX10(π-Computer) 利用準備

More information

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。 ソフトウェア基礎演習課題 文法理解度確認範囲 問題 1 データ型 ( 変数, データ型 ) 問題 2 制御構造 (switch 文 ) 問題 3 制御構造 (while 文 ) 問題 4 制御構造と配列 ( 総和 ) 問題 5 制御構造と配列 ( 総和, 平均 ) 問題 6 データ型と各種演算子 ( 文字列, 検索 ) 問題 7 クラスの定義 ( メソッドの定義, コンストラクタの定義, キャスト

More information

Microsoft Word ●書式付IO性能_杉崎_ _更新__ doc

Microsoft Word ●書式付IO性能_杉崎_ _更新__ doc 2.2.3. 書式付 I/O 性能 上智大学南部伸孝富士通株式会社内藤俊也 杉崎由典 1. はじめに I/O 処理に要する時間の内訳は システムの実 I/O 時間 + ランタイムの書式処理時間となっている プログラムを用いた書式付 I/O 時間を富士通コンパイラで評価した所 システム時間が約 12% であり ランタイム時間が約 88% ということが確認された 即ち 書式付 I/O 性能は ランタイムの性能に大きく影響される

More information

Microsoft Word ●IntelクアッドコアCPUでのベンチマーク_吉岡_ _更新__ doc

Microsoft Word ●IntelクアッドコアCPUでのベンチマーク_吉岡_ _更新__ doc 2.3. アプリ性能 2.3.1. Intel クアッドコア CPU でのベンチマーク 東京海洋大学吉岡諭 1. はじめにこの数年でマルチコア CPU の普及が進んできた x86 系の CPU でも Intel と AD がデュアルコア クアッドコアの CPU を次々と市場に送り出していて それらが PC クラスタの CPU として採用され HPC に活用されている ここでは Intel クアッドコア

More information

スライド 1

スライド 1 Monthly Research 固定アドレスのポインタによる ASLR バイパスの理解 株式会社 FFRI http://www.ffri.jp Ver 2.00.01 1 MS13-063 マイクロソフトが 2013 年 8 月に公開したセキュリティパッチ ASLR セキュリティ機能のバイパスの脆弱性 (CVE-2013-2556) の対策を含む 今回は この脆弱性の問題点と パッチによる変更点を調査

More information

ParallelCalculationSeminar_imano.key

ParallelCalculationSeminar_imano.key 1 OPENFOAM(R) is a registered trade mark of OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM(R) and OpenCFD(R) trade marks. 2 3 Open FOAM の歴史 1989年ー2000年 研究室のハウスコード 開発元

More information

Microsoft PowerPoint - C++_第1回.pptx

Microsoft PowerPoint - C++_第1回.pptx OpenFoam のための C/C++ 第 1 回メモリ管理 田中昭雄 1 目的 この勉強会の資料があれば OpenFoam カスタマイズ時に C/C++ で迷わない 2 予定 第 1 回メモリ管理 第 2 回 OpenFOAM で勉強するクラス 第 3 回 OpenFOAM で勉強するテンプレート 第 4 回 OpenFOAM カスタマイズ 第 5 回未定 第 6 回未定 3 今回のテーマ C++

More information

Python によるジオプロセシング スクリプト入門

Python によるジオプロセシング スクリプト入門 アイコンの説明... 8 第 1 章イントロダクション... 9 本コースの目的... 11 講習内容... 11 講習資料... 12 イントロダクション... 12 ArcGIS... 13 Web サイト... 13 開発者向けプログラム / サービス... 14 演習 1: 演習環境の構築... 15 ステップ 1: Windows へのログオン ( オプション )... 15 ステップ 2:

More information

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

Hphi実行環境導入マニュアル_v1.1.1 HΦ の計算環境構築方法マニュアル 2016 年 7 月 25 日 東大物性研ソフトウェア高度化推進チーム 目次 VirtualBox を利用した HΦ の導入... 2 VirtualBox を利用した MateriAppsLive! の導入... 3 MateriAppsLive! への HΦ のインストール... 6 ISSP スパコンシステム B での HΦ の利用方法... 8 各種ファイルの置き場所...

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 仮想マシン () 仮想マシン 復習 仮想マシンの概要 hsm 仮想マシン プログラム言語の処理系 ( コンパイラ ) 原始プログラム (Source program) コンパイラ (Compiler) 目的プログラム (Object code) 原始言語 (Source language) 解析 合成 目的言語 (Object Language) コンパイルする / 翻訳する (to compile

More information

Microsoft Word - C言語研修 C++編 3.doc

Microsoft Word - C言語研修 C++編 3.doc 2006/05/10 オブジェクト指向... 3 1 クラスの継承... 3 2 継承の書式... 3 3 protected... 5 4 メンバ関数のオーバーライド... 6 5 クラスの型キャスト... 7 6 仮想関数... 8 2 オブジェクト指向 1 クラスの継承 クラスには 継承 という機能があります 継承とは 既にあるクラスを元に 新しいクラスを作る 機能です 継承元のクラスを 親クラス

More information

slide5.pptx

slide5.pptx ソフトウェア工学入門 第 5 回コマンド作成 1 head コマンド作成 1 早速ですが 次のプログラムを head.c という名前で作成してください #include #include static void do_head(file *f, long nlines); int main(int argc, char *argv[]) { if (argc!=

More information

Microsoft PowerPoint - 09.pptx

Microsoft PowerPoint - 09.pptx 情報処理 Ⅱ 第 9 回 2014 年 12 月 22 日 ( 月 ) 関数とは なぜ関数 関数の分類 自作関数 : 自分で定義する. ユーザ関数 ユーザ定義関数 などともいう. 本日のテーマ ライブラリ関数 : 出来合いのもの.printf など. なぜ関数を定義するのか? 処理を共通化 ( 一般化 ) する プログラムの見通しをよくする 機能分割 ( モジュール化, 再利用 ) 責任 ( あるいは不具合の発生源

More information

スライド 1

スライド 1 Boost とその実装技術 ~Boost の薄い話から濃い話まで ~ 自己紹介 C++ スキー Boost スキー D&E 未読 猫スキー 吉田秀彦モドキ アジェンダ Boost について Boost.SharedPtr Boost.SharedPtr の実装技術 Boost.Spirit Boost.Spirit の実装技術 Boost について Boost とは Wikipedia C++ の先駆的な開発者のコミュニティ

More information

FIT2016( 第 15 回情報科学技術フォーラム ) RC-010 スーパーコンピュータ 京 における C++ アプリケーションの評価 Evaluation of Compiler Optimization of C++ application on the K computer 千葉修一 1

FIT2016( 第 15 回情報科学技術フォーラム ) RC-010 スーパーコンピュータ 京 における C++ アプリケーションの評価 Evaluation of Compiler Optimization of C++ application on the K computer 千葉修一 1 RC-010 スーパーコンピュータ 京 における C++ アプリケーションの評価 Evaluation of Compiler Optimization of C++ application on the K computer 千葉修一 1 ファムバンフック 2 南一生 3 青木正樹 1 Shuichi Chiba Pham Van Phuc Kazuo Minami Masaki Aoki 1.

More information

Application Note Application Note No. ESC-APN Document No.: ESC-APN adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以

Application Note Application Note No. ESC-APN Document No.: ESC-APN adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以 No. ESC-APN-026-02 Document No.: ESC-APN-026-02 adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以下 本書 ) は adviceluna にて下記 Linux 環境をデバッグする手順を説明した文書です Application Shared Library Loadable

More information

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版   Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. IM- 共通マスタの拡張について 2.1. 前提となる知識 2.1.1. Plugin Manager 2.2. 表記について 3. 汎用検索画面の拡張 3.1. 動作の概要 3.1.1. 汎用検索画面タブの動作概要 3.2. 実装の詳細 3.2.1. 汎用検索画面タブの実装

More information

コードのチューニング

コードのチューニング OpenMP による並列化実装 八木学 ( 理化学研究所計算科学研究センター ) KOBE HPC Spring School 2019 2019 年 3 月 14 日 スレッド並列とプロセス並列 スレッド並列 OpenMP 自動並列化 プロセス並列 MPI プロセス プロセス プロセス スレッドスレッドスレッドスレッド メモリ メモリ プロセス間通信 Private Private Private

More information

10-vm1.ppt

10-vm1.ppt オペレーティングシステム ~ 仮想記憶 (1) ~ 山田浩史 hiroshiy @ cc.tuat.ac.jp 2015/06/19 OS の目的 裸のコンピュータを抽象化 (abstraction) し より使いやすく安全なコンピュータとして見せること OS はハードウェアを制御し アプリケーションの効率的な動作や容易な開発を支援する OS がないと メモリをアプリケーション自身が管理しなければならない

More information

intra-mart Accel Platform

intra-mart Accel Platform intra-mart Accel Platform IM- 共通マスタスマートフォン拡張プログラミングガイド 2012/10/01 初版 変更年月日 2012/10/01 初版 > 変更内容 目次 > 1 IM- 共通マスタの拡張について...2 1.1 前提となる知識...2 1.1.1 Plugin Manager...2 1.2 表記について...2 2 汎用検索画面の拡張...3

More information

Microsoft Word - appli_SMASH_tutorial_2.docx

Microsoft Word - appli_SMASH_tutorial_2.docx チュートリアル SMASH version 2.2.0 (Linux 64 ビット版 ) 本チュートリアルでは 量子化学計算ソフトウェア SMASH バージョン 2.2.0 について ソフトウェアの入手 / 実行モジュール作成 / 計算実行 / 可視化処理までを例示します 1. ソフトウェアの入手以下の URL よりダウンロードします https://sourceforge.net/projects/smash-qc/files/smash-2.2.0.tgz/download

More information

新版明解C言語 実践編

新版明解C言語 実践編 2 List - "max.h" a, b max List - max "max.h" #define max(a, b) ((a) > (b)? (a) : (b)) max List -2 List -2 max #include "max.h" int x, y; printf("x"); printf("y"); scanf("%d", &x); scanf("%d", &y); printf("max(x,

More information

Python によるジオプロセシング スクリプト入門

Python によるジオプロセシング スクリプト入門 ... 1 アイコンの説明... 8 第 1 章イントロダクション... 9 本コースの目的... 11 コース内容 1 日目... 11 コース内容 2 日目... 12 付属資料... 12 講習資料... 13 イントロダクション... 13 ArcGIS の紹介... 14 Web ページ : サポート情報... 14 Web ページ :ArcGIS を学べる... 15 Web ページ :ArcGIS

More information

FUJITSU Cloud Service for OSS 「コンテナサービス」 ご紹介資料

FUJITSU Cloud Service for OSS 「コンテナサービス」 ご紹介資料 注 : 本サービスは 新規申込の受付を停止しております サービスご検討中のお客様におかれましては ご不便をおかけし申し訳ございません FUJITSU Cloud Service for OSS コンテナサービス ご紹介 2018 年 8 月富士通株式会社 本資料の無断複製 転載を禁じます 本資料は予告なく内容を変更する場合がございます Version 1.01 目次 Docker/Kubernetes

More information

演習準備

演習準備 演習準備 2014 年 3 月 5 日神戸大学大学院システム情報学研究科森下浩二 1 演習準備の内容 神戸大 FX10(π-Computer) 利用準備 システム概要 ログイン方法 コンパイルとジョブ実行方法 MPI 復習 1. MPIプログラムの基本構成 2. 並列実行 3. 1 対 1 通信 集団通信 4. データ 処理分割 5. 計算時間計測 2 神戸大 FX10(π-Computer) 利用準備

More information

White Paper 高速部分画像検索キット(FPGA アクセラレーション)

White Paper 高速部分画像検索キット(FPGA アクセラレーション) White Paper 高速部分画像検索キット (FPGA アクセラレーション ) White Paper 高速部分画像検索キット (FPGA アクセラレーション ) Page 1 of 7 http://www.fujitsu.com/primergy Content はじめに 3 部分画像検索とは 4 高速部分画像検索システム 5 高速部分画像検索の適用時の改善効果 6 検索結果 ( 一例 )

More information

JAVA入門

JAVA入門 JAVA 入門後期 10 情報処理試験例題解説 H14 年度秋問 8 次の Java プログラムの説明及びプログラムを読んで, 設問に答えよ プログラムの説明 ディジタル論理回路シミュレータを作成するためのクラスとテスト用クラスである (1) ゲートを表す抽象クラス Gate のサブクラスとして, NOT ゲートを表すクラス NotGate 及び AND ゲートを表すクラス AndGate を定義する

More information

HashMapからConcurrentHashMapへの移行

HashMapからConcurrentHashMapへの移行 HashMap から ConcurrentHashMap への移行 レガシー アプリケーションにおける注意点 2012 年 1 月 4 日橋口雅史 1. はじめにアプリケーションでは キーと値のマッピングが多用されます 例えば ユーザー名 というキーにユーザーの 情報 をマッピングするといった用途で java.util.map インタフェースは広く使われています 特に ハッシュテーブルに基づいて高速にマップを検索

More information

OpenFOAM_compile_basic 1 / /12/23 12: 年 12 月 13 日オープン CAE 富山 ( 富山県立大学中川慎二 ) Disclaimer OPENFOAM is a registered trade mark

OpenFOAM_compile_basic 1 / /12/23 12: 年 12 月 13 日オープン CAE 富山 ( 富山県立大学中川慎二 ) Disclaimer OPENFOAM is a registered trade mark 1 / 5 2014/12/23 12:25 2014 年 12 月 13 日オープン CAE 勉強会 @ 富山 ( 富山県立大学中川慎二 ) Disclaimer OPENFOAM is a registered trade mark of OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 8 回目抽象クラスとインタフェース課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) 抽象クラスのオブジェクトは生成できる (2) 抽象メソッドとはメソッドの本体が未定義のメソッドである (3) 抽象メソッドをメンバーにもつクラスは抽象クラスである (4) 抽象クラスを拡張してすべての抽象メソッドをオーバーライドすれば サブクラスのオブジェクトを生成できる

More information

Oracle Cloud Adapter for Oracle RightNow Cloud Service

Oracle Cloud Adapter for Oracle RightNow Cloud Service Oracle Cloud Adapter for Oracle RightNow Cloud Service Oracle Cloud Adapter for Oracle RightNow Cloud Service を使用すると RightNow Cloud Service をシームレスに接続および統合できるため Service Cloud プラットフォームを拡張して信頼性のある優れたカスタマ

More information

Microsoft Word - openmp-txt.doc

Microsoft Word - openmp-txt.doc ( 付録 A) OpenMP チュートリアル OepnMP は 共有メモリマルチプロセッサ上のマルチスレッドプログラミングのための API です 本稿では OpenMP の簡単な解説とともにプログラム例をつかって説明します 詳しくは OpenMP の規約を決めている OpenMP ARB の http://www.openmp.org/ にある仕様書を参照してください 日本語訳は http://www.hpcc.jp/omni/spec.ja/

More information

(速報) Xeon E 系モデル 新プロセッサ性能について

(速報) Xeon E 系モデル 新プロセッサ性能について ( 速報 ) Xeon E5-2600 系モデル新プロセッサ性能について 2012 年 3 月 16 日 富士通株式会社 2012 年 3 月 7 日 インテル社より最新 CPU インテル Xeon E5 ファミリー の発表がありました この最新 CPU について PC クラスタシステムの観点から性能検証を行いましたので 概要を速報いたします プロセッサインテル Xeon プロセッサ E5-2690

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 4 回目クラスの機能 (2) コンストラクタ クラス変数 クラスメソッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) コンストラクタはメソッドと同様に戻り値をもつ (2) コンストラクタはオブジェクトが生成されると最初に実行される (3) コンストラクタはメソッドと同様にオーバーロードができる (4) コンストラクタは常に public メンバとしなければならない

More information

はじめての OpenFOAM その 3 富 県 学 中川慎二 オープンCAE 富 2014 年 1 月 25 日 Disclaimer: OPENFOAM is a registered trade mark of OpenCFD Limited, the producer of the

はじめての OpenFOAM その 3 富 県 学 中川慎二 オープンCAE 富 2014 年 1 月 25 日 Disclaimer: OPENFOAM is a registered trade mark of OpenCFD Limited, the producer of the はじめての OpenFOAM その 3 富 県 学 中川慎二 オープンCAE 勉強会 @ 富 2014 年 1 月 25 日 Disclaimer: OPENFOAM is a registered trade mark of OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM and OpenCFD

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 2009年11月7日 第2回オープンソースCAEワークショップ 1 オープンCAE DEXCS-OpenFOAMの紹介 株式会社デンソー 開発部 野村悦治 今川洋造 DEXCS http://dexcs.gifu-nct.ac.jp/ 2 オープンCAE DEXCS 2007/10より公開中 ADVENTUREによるお手軽なCAE環境です DEXCSの構成 3 Linux(Ubuntu)上に 構造解析にADVENTUREを活用し

More information

Microsoft PowerPoint pptx

Microsoft PowerPoint pptx PFCore(RT ミドルウェア ) トレーニング中級編 10:00-11:00 第 1 部 :RT コンポーネントプログラミングの概要 担当 : 安藤慶昭 ( 産業技術総合研究所 ) 概要 :RT コンポーネントの作成方法, 設計時の注意点などの概要について解説します 第 2 部 :RT ミドルウェア (PFcore) 開発支援ツールと RT コンポーネントの作成方法 11:00-12:00 12:00-13:00

More information

NUMAの構成

NUMAの構成 メッセージパッシング プログラミング 天野 共有メモリ対メッセージパッシング 共有メモリモデル 共有変数を用いた単純な記述自動並列化コンパイラ簡単なディレクティブによる並列化 :OpenMP メッセージパッシング 形式検証が可能 ( ブロッキング ) 副作用がない ( 共有変数は副作用そのもの ) コストが小さい メッセージパッシングモデル 共有変数は使わない 共有メモリがないマシンでも実装可能 クラスタ

More information

CashDrawer ライブラリ API 仕様書 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev / 10

CashDrawer ライブラリ API 仕様書 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev / 10 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev. 00.0.04 1 / 10 目次 1. ファイル構成... 3 2. 環境 3 2.1. 動作環境 OS... 3 2.2. コンパイル時の注意点... 3 2.3. USB ドライバ... 3 3. 関数一覧... 4 3.1. USB 接続確認処理 (CD_checkConnect CD_checkConnect)

More information

(STL) STL 1 (deta structure) (algorithm) (deta structure) 2 STL STL (Standard Template Library) 2.1 STL STL ( ) vector<int> x; for(int i = 0; i < 10;

(STL) STL 1 (deta structure) (algorithm) (deta structure) 2 STL STL (Standard Template Library) 2.1 STL STL ( ) vector<int> x; for(int i = 0; i < 10; (STL) STL 1 (deta structure) (algorithm) (deta structure) 2 STL STL (Standard Template Library) 2.1 STL STL ( ) vector x; for(int i = 0; i < 10; ++i) x.push_back(i); vector STL x.push_back(i) STL

More information

ポスト「京」でのコデザイン 活動報告

ポスト「京」でのコデザイン 活動報告 重点課題 9 でのポスト 京 に対す るコデザイン活動報告 広島大学理学研究科 石川健一 1 目次 1. コデザイン活動 2. ポスト京関連公開情報 3. 重点課題 9 に関するコデザイン活動 2 1. コデザイン活動 RIKEN,R-CCS と FUJITSU によるポスト京計算機開発 コデザイン活動 重点課題からのターゲットアプリケーションの開発とシステムやソフトウェア開発を連携して開発 9 個のターゲットアプリケーション

More information

計算機アーキテクチャ

計算機アーキテクチャ 計算機アーキテクチャ 第 11 回命令実行の流れ 2014 年 6 月 20 日 電気情報工学科 田島孝治 1 授業スケジュール ( 前期 ) 2 回日付タイトル 1 4/7 コンピュータ技術の歴史と コンピュータアーキテクチャ 2 4/14 ノイマン型コンピュータ 3 4/21 コンピュータのハードウェア 4 4/28 数と文字の表現 5 5/12 固定小数点数と浮動小数点表現 6 5/19 計算アーキテクチャ

More information

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~ .NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 2011/12/2 オープンCAEシンポジウム2011 オープンCAEを活用した 大規模高速演算及び 大規模モデルの取扱 株式会社デンソー 技術管理部 CAE開発設計 促進室 野村悦治 今川洋造 背景 http://top500.org/ 2 / 27 705,024コア 数千コア FOCUSスパコン利用料金表 http://www.j-focus.or.jp/spacon/pricelist_spacon.pdf

More information

PowerPoint プレゼンテーション - 物理学情報処理演習

PowerPoint プレゼンテーション  -  物理学情報処理演習 物理学情報処理演習 9. C 言語 5 2015 年 6 月 19 日 本日の推奨作業 directory lesson09 9.1 乱数 9.2 ポインタ 参考文献 やさしい C++ 第 4 版高橋麻奈 ( 著 ) ソフトバンククリエイティブ プログラミング言語 C++ 第 4 版ビャーネ ストラウストラップ, Bjarne Stroustrup, 柴田望洋 Numerical Recipes:

More information

appli_HPhi_install

appli_HPhi_install 2018/3/7 HΦ version 3.0.0 インストール手順書 (Linux 64 ビット版 ) 目次 1. アプリケーション概要...- 1-2. システム環境...- 1-3. 必要なツール ライブラリのインストール...- 1-1 cmake...- 2-2 numpy...- 3-4. アプリケーションのインストール...- 4-5. 動作確認の実施...- 5 - 本手順書は HΦ

More information

コンパイラ演習 第 7 回

コンパイラ演習 第 7 回 コンパイラ演習 第 7 回 (2010/11/18) 秋山茂樹池尻拓朗前田俊行鈴木友博渡邊裕貴潮田資秀小酒井隆広山下諒蔵佐藤春旗大山恵弘佐藤秀明住井英二郎 今日の内容 Type Polymorphism ( 型多相性 ) の実現について Polymorphism 大きく分けて 3 種類ある Parametric polymorphism Subtyping polymorphism Ad-hoc polymorphism

More information

Microsoft PowerPoint - GPUシンポジウム _d公開版.ppt [互換モード]

Microsoft PowerPoint - GPUシンポジウム _d公開版.ppt [互換モード] 200/0/9 数値流体解析の並列効率とその GPU による高速化の試み 清水建設 ( 株 ) 技術研究所 PHAM VAN PHUC ( ファムバンフック ) 流体計算時間短縮と GPU の活用の試み 現 CPUとの比較によりGPU 活用の可能性 現 CPU の最大利用 ノード内の最大計算資源の利用 すべてCPUコアの利用 適切なアルゴリズムの利用 CPU コア性能の何倍? GPU の利用の試み

More information

program7app.ppt

program7app.ppt プログラム理論と言語第 7 回 ポインタと配列, 高階関数, まとめ 有村博紀 吉岡真治 公開スライド PDF( 情報知識ネットワーク研 HP/ 授業 ) http://www-ikn.ist.hokudai.ac.jp/~arim/pub/proriron/ 本スライドは,2015 北海道大学吉岡真治 プログラム理論と言語, に基づいて, 現著者の承諾のもとに, 改訂者 ( 有村 ) が加筆修正しています.

More information

関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include <stdio.h> #define InFile "data.txt" #define OutFile "sorted.txt" #def

関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include <stdio.h> #define InFile data.txt #define OutFile sorted.txt #def C プログラミング演習 1( 再 ) 6 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include #define InFile "data.txt" #define OutFile "sorted.txt"

More information

文字列操作と正規表現

文字列操作と正規表現 文字列操作と正規表現 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 文字列と文字列クラス 0 個以上の長さの文字の列 Java では String クラス 操作 文字列を作る 連結する 文字列中に文字列を探す 文字列中の文字列を置き換える 部分文字列を得る 3 String クラス 文字列を保持するクラス 文字列は定数であることに注意 比較に注意 == : オブジェクトとしての同等性

More information

Microsoft PowerPoint - 計算機言語 第7回.ppt

Microsoft PowerPoint - 計算機言語 第7回.ppt 計算機言語第 7 回 長宗高樹 目的 関数について理解する. 入力 X 関数 f 出力 Y Y=f(X) 関数の例 関数の型 #include int tasu(int a, int b); main(void) int x1, x2, y; x1 = 2; x2 = 3; y = tasu(x1,x2); 実引数 printf( %d + %d = %d, x1, x2, y);

More information

SuperH RISC engineファミリ用 C/C++コンパイラパッケージ V.7~V.9 ご使用上のお願い

SuperH RISC engineファミリ用 C/C++コンパイラパッケージ V.7~V.9 ご使用上のお願い ツールニュース RENESAS TOOL NEWS 2014 年 02 月 01 日 : 140201/tn1 SuperH RISC engine ファミリ用 C/C++ コンパイラパッケージ V.7~V.9 ご使用上のお願い SuperH RISC engine ファミリ用 C/C++ コンパイラパッケージ V.7~V.9の使用上の注意事項 4 件を連絡します 同一ループ内の異なる配列要素に 同一の添え字を使用した場合の注意事項

More information

Prog1_10th

Prog1_10th 2012 年 6 月 20 日 ( 木 ) 実施ポインタ変数と文字列前回は, ポインタ演算が用いられる典型的な例として, ポインタ変数が 1 次元配列を指す場合を挙げたが, 特に,char 型の配列に格納された文字列に対し, ポインタ変数に配列の 0 番の要素の先頭アドレスを代入して文字列を指すことで, 配列そのものを操作するよりも便利な利用法が存在する なお, 文字列リテラルは, その文字列が格納されている領域の先頭アドレスを表すので,

More information

hirayama

hirayama 128 ビット 4 倍精度と 160 ビット拡張 4 倍精度演算プログラムの作成 平山弘神奈川工科大学自動車システム開発工学科 hirayama@sd.kanagawa-it.ac.jp 工学院大学新宿校舎 28 階第 4 会議室 2013 年 3 月 8 日 ( 金 ) なぜ 4 倍精度か 4 倍精度程度の精度では 多倍長計算はあまり速くない 精度の小さい計算の方が計算精度が大きい計算より需要は多い

More information

26

26 26 FIPP FAPP I/O LAMMPS LJ atomic fluid 32,000 atoms for 100 timesteps FX10 4 16 / (FIPP) FIPP fipp - C - d dir/ - Ihwm,call - i10 mpiexec./a.out GUI, fipppx - A - d dir/ - Ihwm,cpu,balance,call,src

More information

<4D F736F F D20332E322E332E819C97AC91CC89F090CD82A982E78CA982E9466F E393082CC8D5C91A291CC90AB945C955D89BF5F8D8296D85F F8D F5F E646F63>

<4D F736F F D20332E322E332E819C97AC91CC89F090CD82A982E78CA982E9466F E393082CC8D5C91A291CC90AB945C955D89BF5F8D8296D85F F8D F5F E646F63> 3.2.3. 流体解析から見る Fortran90 の構造体性能評価 宇宙航空研究開発機構 高木亮治 1. はじめに Fortran90 では 構造体 動的配列 ポインターなど様々な便利な機能が追加され ユーザーがプログラムを作成する際に選択の幅が広がりより便利になった 一方で 実際のアプリケーションプログラムを開発する際には 解析対象となる物理現象を記述する数学モデルやそれらを解析するための計算手法が内包する階層構造を反映したプログラムを作成できるかどうかは一つの重要な観点であると考えられる

More information

(ch2 + i)->next = ch1 + r; doit(ch1, ch2); 図 1 ランダムアクセスする C ソース 時間 (elapsed) 32 ビットプログラム (gcc -O2 -m32 でコンパイル ) 6.23 秒 秒 64 ビットプログラム (gcc -O2 -m

(ch2 + i)->next = ch1 + r; doit(ch1, ch2); 図 1 ランダムアクセスする C ソース 時間 (elapsed) 32 ビットプログラム (gcc -O2 -m32 でコンパイル ) 6.23 秒 秒 64 ビットプログラム (gcc -O2 -m Java VM の 32 ビット 64 ビット選択 2013 年 9 月 21 日 数村憲治 現在 サーバー向け OS の主流は 64ビット OS となりつつあります 32ビット OS では 搭載できるメモリ量に制約があるため 大規模システムには向かなくなってきています OS の64ビット化に伴い OS の上で動作するミドルウェアやアプリケーションも64ビット化に向かいつつあります 一方 ほとんどの64ビット

More information

スライド 1

スライド 1 OSC2008Tokyo/Fall CodeIgniter を使った MyNETS2 の概要 日付 2008/10/04 発表者 株式会社エムズリンク辻岡国治 copy rights All Right Reserved. -2008 基本ベースは WEB 会員管理システム 会員登録されているかの判定を行う 会員向けページ リクエスト DB 非会員向けページ copy rights All Right

More information

SuperH RISC engine C/C++ コンパイラ Ver.7 不具合内容 - 過去のお知らせ SuperH RISC engine C/C++ コンパイラ Ver.7 台における不具合内容を以下に示します のチェックツールをルネサスエレクトロニクス株式会社のホームページ

SuperH RISC engine C/C++ コンパイラ Ver.7 不具合内容 - 過去のお知らせ SuperH RISC engine C/C++ コンパイラ Ver.7 台における不具合内容を以下に示します のチェックツールをルネサスエレクトロニクス株式会社のホームページ SuperH RISC engine C/C++ コンパイラ Ver.7 不具合内容 - 過去のお知らせ SuperH RISC engine C/C++ コンパイラ Ver.7 台における不具合内容を以下に示します 1. 2. 4. のチェックツールをルネサスエレクトロニクス株式会社のホームページより入手できます http//tool-support.renesas.com/jpn/toolnews/shc/shcv7/dr_shcv7_4.html

More information

1.overview

1.overview 村井均 ( 理研 ) 2 はじめに 規模シミュレーションなどの計算を うためには クラスタのような分散メモリシステムの利 が 般的 並列プログラミングの現状 半は MPI (Message Passing Interface) を利 MPI はプログラミングコストが きい 標 性能と 産性を兼ね備えた並列プログラミング 語の開発 3 並列プログラミング 語 XcalableMP 次世代並列プログラミング

More information

Microsoft Word - matlab-coder-code-generation-quick-start-guide-japanese-r2016a

Microsoft Word - matlab-coder-code-generation-quick-start-guide-japanese-r2016a MATLAB コードを使用した C コードの生成クイックスタートガイド (R2016a) 最初のスタンドアロン C コードの生成 スタンドアロン C コードを生成するには [ ビルド ] を [ ソースコード ] [ スタティックライブラリ ] [ ダイナミックライブラリ ] または [ 実行ファイル ] のいずれかに切り替えます MATLAB Coder を使用することで MATLAB コードから

More information

JS2-14 マルチコアCPU時代の Javaプログラミング

JS2-14 マルチコアCPU時代の Javaプログラミング JavaOne Tokyo 2012 JS2-14 マルチコア CPU 時代の Java プログラミング 2012 年 4 月 5 日 富士通株式会社数村憲治 Copyright 2012 FUJITSU LIMITED 自己紹介 数村憲治 kzr@jp.fujitsu.com 富士通株式会社 Interstage Application Server 開発チーム Java VMの開発 サポート 大規模システムでの性能チューニングに

More information

Java知識テスト問題

Java知識テスト問題 Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション BRMS への取り組みと導入事例 2013 年 11 月 15 日 ( 金 ) SCSK 株式会社 IT エンジニアリング事業本部ミドルウェア部 本日の内容 BRMS 適用のポイント BRMS の可能性 Page 1 Page 2 アプリケーション連携基盤 SCSKのRed Hat JBoss / ミドルウェア技術に関する取り組みの取り組み 世界のオープンソース コミュニティーから製品化されたソフトウェア

More information

Javaの作成の前に

Javaの作成の前に メディアプロジェクト演習 1 参考資料 Javaとは JavaScript と Java 言語の違い オブジェクト指向 コンストラクタ サーブレット 本資料内のページ番号は, 以下の参考書のページを引用している 高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに プログラミング言語とは? オブジェクト指向とは? Java 言語とは? JavaとJavaScriptの違いとは?

More information

Microsoft PowerPoint - 01_Vengineer.ppt

Microsoft PowerPoint - 01_Vengineer.ppt Software Driven Verification テストプログラムは C 言語で! SystemVerilog DPI-C を使えば こんなに便利に! 2011 年 9 月 30 日 コントローラ開発本部コントローラプラットフォーム第五開発部 宮下晴信 この資料で使用するシステム名 製品名等は一般にメーカーや 団体の登録商標などになっているものもあります なお この資料の中では トレードマーク

More information

Undestand の解析 Understand の C 言語で抽出できない依存関係について サンプルコードを用いて説明します 確認バージョン Understand 3.0 (Build 640) Understand 3.1 (Build 700) Understand 4.0 (Build 78

Undestand の解析 Understand の C 言語で抽出できない依存関係について サンプルコードを用いて説明します 確認バージョン Understand 3.0 (Build 640) Understand 3.1 (Build 700) Understand 4.0 (Build 78 Undestand の解析 Understand の C 言語で抽出できない依存関係について サンプルコードを用いて説明します 確認バージョン Understand 3.0 (Build 640) Understand 3.1 (Build 700) Understand 4.0 (Build 788) 抽出できない依存関係 Understand の C 言語の解析 (Fuzzy/Strict) で

More information

関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include <stdiu.h> #define InFile "data.txt" #define OutFile "surted.txt" #def

関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include <stdiu.h> #define InFile data.txt #define OutFile surted.txt #def C プログラミング演習 1( 再 ) 6 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include #define InFile "data.txt" #define OutFile "surted.txt"

More information

K5移行サービス ご紹介資料

K5移行サービス ご紹介資料 FUJITSU TransMigration K5 移行サービス ご紹介資料 2017 年 2 月版 富士通株式会社サービステクノロジー本部アプリケーションマネジメント事業部 0 K5 移行サービスのターゲット 現行システムをそのままクラウドに移行したいお客様 物理サーバ (IA サーバ ) 仮想サーバ Hyper-V ware (*2) K5 移行サービス (*1) FUJITSU Cloud Service

More information

スライド 1

スライド 1 1 システムコールフックを使用した攻撃検出 株式会社フォティーンフォティー技術研究所 http://www.fourteenforty.jp 取締役技術担当金居良治 2 お題目 System Call について System Call Protection System Call Hook 考察 3 System Call とは? ユーザアプリケーションからカーネルのサービスルーチンを呼び出す Disk

More information

FUJITSU Cloud Service for OSS 認証サービス サービス仕様書

FUJITSU Cloud Service for OSS 認証サービス サービス仕様書 FUJITSU Cloud Service for OSS 認証サービスサービス仕様書 2018 年 8 月 30 日 1. サービス仕様 当社は 以下のサービスを提供します (1) 基本サービス契約者が FUJITSU Cloud Service for OSS PaaS ポータルから認証サービスの利用を開始すると 管理テナント ( 注 1) が 1 つ作成されます 契約者は 管理テナントにより運用テナント

More information

Visual Studio と.NET Framework 概要 Runtime Libraries Languag es Tool.NET Visual Studio 概要 http://download.microsoft.com/download/c/7/1/c710b336-1979-4522-921b-590edf63426b/vs2010_guidebook_pdf.zip 1.

More information

情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 )

情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 ) 情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 ) 本日学ぶこと 関数と変数 目的 関数を自分で定義し, 変数の利用方法 範囲を明示的に制限することで, 適切な機能分割 ( モジュール化, 再利用 ) を図る. してはいけないこと main 関数のみで 100 行以上のプログラム グローバル変数を駆使するプログラム プログラムを読みやすくする 保守性向上 入 p.109 2 関数 (Function)

More information

予算上限値到達時ジョブ投入停止機能 データ収集日表示 ノード時間積表示 ジョブ課金情報 予算上限値到達でジョブ投入停止機能を有すること 最後に課金情報を集計した日時を表示すること 使用計算資源を使用ノード数と時間の積として表示すること ジョブ単位での課金情報を表示できること 1 3 基本予算管理利用

予算上限値到達時ジョブ投入停止機能 データ収集日表示 ノード時間積表示 ジョブ課金情報 予算上限値到達でジョブ投入停止機能を有すること 最後に課金情報を集計した日時を表示すること 使用計算資源を使用ノード数と時間の積として表示すること ジョブ単位での課金情報を表示できること 1 3 基本予算管理利用 別紙 2 審査基準 大分類 1: 事業専用計算機資源環境の構築 大分類 2: 事業専用計算機資源環境の提供 大分類小分類機能項目仕様 1 1 Web GUI 基本機能 1 2 グループ 利用者登録 セキュリティ対策 クライアント OS グループ ID グループ名 備考欄 利用者 ID メールアドレス 氏名 備考欄 パスワード WebGUI の基本機能に関して以下の全ての機能を有すること ア ) セキュリティ対策として

More information

Microsoft Word 基_シラバス.doc

Microsoft Word 基_シラバス.doc 4-5- 基 Web アプリケーション開発に関する知識 1 4-5- 基 Web アプリケーション開発に関する知識 スクリプト言語や Java 言語を利用して Ruby on Rails やその他 Web フレームワークを活用して HTML(4, 5) XHTML JavaScript DOM CSS といったマークアップ言語およびスクリプト言語を活用しながら Ⅰ. 概要ダイナミックなWebサービスを提供するアプリケーションを開発する際に

More information

N08

N08 CPU のキモチ C.John 自己紹介 英語きらい 絵かけない 人の話を素直に信じない CPUにキモチなんてない お詫び 予告ではCとC# とありましたがやる気と時間の都合上 C++のみを対象とします 今日のネタ元 MSDN マガジン 2010 年 10 月号 http://msdn.microsoft.com/ja-jp/magazine/cc850829.aspx Windows と C++

More information

CodeRecorderでカバレッジ

CodeRecorderでカバレッジ 株式会社コンピューテックス Copyright 2016 Computex Co.,Ltd. 2017.11 カバレッジ と 単体テスト カバレッジとは プログラムがどれだけ実行されているかを示す指標です プログラム全体に対して実行された比率をカバレッジ率で表します カバレッジの基準として 一般的にC0 C1が使われております C0カバレッジは 全体のうち何 % が実行されたかで求めます C1カバレッジは

More information

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ Oracle Un お問合せ : 0120- Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよびSOA 対応データ サービスへ ) を網羅する総合的なデータ統合プラットフォームです Oracle

More information

熱伝達の境界条件 (OF-2.1 OF-2.3) 1/7 藤井 15/01/30 熱伝達の境界条件 (OF-2.1 OF-2.3) 目次 1. はじめに 2. 熱伝達の境界条件 (fixedalphatemp) の作成 2-1. 考え方 2-2. fixedalphatemp の作成 3. 作動確認

熱伝達の境界条件 (OF-2.1 OF-2.3) 1/7 藤井 15/01/30 熱伝達の境界条件 (OF-2.1 OF-2.3) 目次 1. はじめに 2. 熱伝達の境界条件 (fixedalphatemp) の作成 2-1. 考え方 2-2. fixedalphatemp の作成 3. 作動確認 1/7 藤井 15/01/30 目次 1. はじめに 2. 熱伝達の境界条件 (fixedalphatemp) の作成 2-1. 考え方 2-2. fixedalphatemp の作成 3. 作動確認 3-1. モデルの作成 3-2. solver 3-3. 境界条件 3-4. 計算結果の確認 4. 計算結果の検証 5. まとめ 1. はじめに 現在 OpenFOAM で laplacianfoam

More information

FUJITSU Cloud Service K5 認証サービス サービス仕様書

FUJITSU Cloud Service K5 認証サービス サービス仕様書 FUJITSU Cloud Service K5 認証サービスサービス仕様書 2016 年 10 月 28 日 1. サービス仕様 当社は 以下のサービスを提供します (1) 基本サービス契約者が K5 PaaS ポータルから認証サービスの利用を開始すると 管理テナント ( 注 1) が 1 つ作成されます 契約者は 管理テナントにより運用テナント ( 注 2) の管理を行うことができます 1 基本機能

More information

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

Insert your Title here

Insert your Title here マルチコア マルチスレッド環境での静的解析ツールの応用 米 GrammaTech 社 CodeSonar によるスレッド間のデータ競合の検出 2013 GrammaTech, Inc. All rights reserved Agenda 並列実行に起因する不具合の摘出 なぜ 並列実行されるプログラミングは難しいのか データの競合 デッドロック どのようにして静的解析ツールで並列実行の問題を見つけるのか?

More information

メディプロ1 Javaプログラミング補足資料.ppt

メディプロ1 Javaプログラミング補足資料.ppt メディアプロジェクト演習 1 Javaプログラミング補足資料 l Javaとは l JavaScript と Java 言語の違い l オブジェクト指向 l コンストラクタ l 継承 抽象クラス 本資料内のページ番号は, 以下の参考書のページを引用している高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに l プログラミング言語とは? l オブジェクト指向とは?

More information