Agenda 富士通 C++ コンパイラ C++ コンパイラの概要 C++ コードに対する課題 最適化の拡張 性能状況 OpenFOAM FX10 向けOpenFOAM OpenFOAM 構築 OpenFOAM 利用 OpenFOAMの性能改善 流体解析ヘルプデスク (OpenFOAM) 1
|
|
|
- ゆずさ さくいし
- 7 years ago
- Views:
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
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
演習1: 演習準備
演習 1: 演習準備 2013 年 8 月 6 日神戸大学大学院システム情報学研究科森下浩二 1 演習 1 の内容 神戸大 X10(π-omputer) について システム概要 ログイン方法 コンパイルとジョブ実行方法 OpenMP の演習 ( 入門編 ) 1. parallel 構文 実行時ライブラリ関数 2. ループ構文 3. shared 節 private 節 4. reduction 節
Microsoft PowerPoint OpenFOAMの使い方(柴田).ppt [互換モード]
OpenFOAM 勉強会 for beginner 2 期第 1 回 OpenFOAM の使い方 柴田貴裕 目標 既に OpenFOAM はインストール済み さまざまなチュートリアルに取り組めるようにチュートリアルの実行の方法を scalartransportfoam を例に用いて見ていく インストールは OpenCFD の HP の方法に従えば比較的容易にできる ) OpenCFD 社の HP http://www.openfoam.com/
4-3- 基 C++ に関する知識 オープンソースシステムのソースを解読する上で C++ の知識は必須であるといえる 本カリキュラムでは まずオブジェクト指向に関する Ⅰ. 概要理解を深め クラスの扱い方について学習し STL を使用してアルゴリズムとデータ構造を実装する方法を学習する Ⅱ. 対象専
4-3- 基 C++ に関する知識 1 4-3- 基 C++ に関する知識 オープンソースシステムのソースを解読する上で C++ の知識は必須であるといえる 本カリキュラムでは まずオブジェクト指向に関する Ⅰ. 概要理解を深め クラスの扱い方について学習し STL を使用してアルゴリズムとデータ構造を実装する方法を学習する Ⅱ. 対象専門分野職種共通 Ⅲ. 受講対象者 本カリキュラムの 4-2-
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 ポインタ変数の扱い方 1 ポインタ変数の宣言 int *p; double *q; 2 ポインタ変数へのアドレスの代入 int *p; と宣言した時,p がポインタ変数 int x; と普通に宣言した変数に対して, p = &x; は x のアドレスのポインタ変数 p への代入 ポインタ変数の扱い方 3 間接参照 (
Microsoft PowerPoint - sales2.ppt
最適化とは何? CPU アーキテクチャに沿った形で最適な性能を抽出できるようにする技法 ( 性能向上技法 ) コンパイラによるプログラム最適化 コンパイラメーカの技量 経験量に依存 最適化ツールによるプログラム最適化 KAP (Kuck & Associates, Inc. ) 人によるプログラム最適化 アーキテクチャのボトルネックを知ること 3 使用コンパイラによる性能の違い MFLOPS 90
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
問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。
ソフトウェア基礎演習課題 文法理解度確認範囲 問題 1 データ型 ( 変数, データ型 ) 問題 2 制御構造 (switch 文 ) 問題 3 制御構造 (while 文 ) 問題 4 制御構造と配列 ( 総和 ) 問題 5 制御構造と配列 ( 総和, 平均 ) 問題 6 データ型と各種演算子 ( 文字列, 検索 ) 問題 7 クラスの定義 ( メソッドの定義, コンストラクタの定義, キャスト
Microsoft Word ●IntelクアッドコアCPUでのベンチマーク_吉岡_ _更新__ doc
2.3. アプリ性能 2.3.1. Intel クアッドコア CPU でのベンチマーク 東京海洋大学吉岡諭 1. はじめにこの数年でマルチコア CPU の普及が進んできた x86 系の CPU でも Intel と AD がデュアルコア クアッドコアの CPU を次々と市場に送り出していて それらが PC クラスタの CPU として採用され HPC に活用されている ここでは Intel クアッドコア
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年 研究室のハウスコード 開発元
Python によるジオプロセシング スクリプト入門
アイコンの説明... 8 第 1 章イントロダクション... 9 本コースの目的... 11 講習内容... 11 講習資料... 12 イントロダクション... 12 ArcGIS... 13 Web サイト... 13 開発者向けプログラム / サービス... 14 演習 1: 演習環境の構築... 15 ステップ 1: Windows へのログオン ( オプション )... 15 ステップ 2:
Hphi実行環境導入マニュアル_v1.1.1
HΦ の計算環境構築方法マニュアル 2016 年 7 月 25 日 東大物性研ソフトウェア高度化推進チーム 目次 VirtualBox を利用した HΦ の導入... 2 VirtualBox を利用した MateriAppsLive! の導入... 3 MateriAppsLive! への HΦ のインストール... 6 ISSP スパコンシステム B での HΦ の利用方法... 8 各種ファイルの置き場所...
Microsoft PowerPoint ppt
仮想マシン () 仮想マシン 復習 仮想マシンの概要 hsm 仮想マシン プログラム言語の処理系 ( コンパイラ ) 原始プログラム (Source program) コンパイラ (Compiler) 目的プログラム (Object code) 原始言語 (Source language) 解析 合成 目的言語 (Object Language) コンパイルする / 翻訳する (to compile
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 クラスの継承 クラスには 継承 という機能があります 継承とは 既にあるクラスを元に 新しいクラスを作る 機能です 継承元のクラスを 親クラス
Microsoft PowerPoint - 09.pptx
情報処理 Ⅱ 第 9 回 2014 年 12 月 22 日 ( 月 ) 関数とは なぜ関数 関数の分類 自作関数 : 自分で定義する. ユーザ関数 ユーザ定義関数 などともいう. 本日のテーマ ライブラリ関数 : 出来合いのもの.printf など. なぜ関数を定義するのか? 処理を共通化 ( 一般化 ) する プログラムの見通しをよくする 機能分割 ( モジュール化, 再利用 ) 責任 ( あるいは不具合の発生源
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
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. 汎用検索画面タブの実装
コードのチューニング
OpenMP による並列化実装 八木学 ( 理化学研究所計算科学研究センター ) KOBE HPC Spring School 2019 2019 年 3 月 14 日 スレッド並列とプロセス並列 スレッド並列 OpenMP 自動並列化 プロセス並列 MPI プロセス プロセス プロセス スレッドスレッドスレッドスレッド メモリ メモリ プロセス間通信 Private Private Private
新版明解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,
Python によるジオプロセシング スクリプト入門
... 1 アイコンの説明... 8 第 1 章イントロダクション... 9 本コースの目的... 11 コース内容 1 日目... 11 コース内容 2 日目... 12 付属資料... 12 講習資料... 13 イントロダクション... 13 ArcGIS の紹介... 14 Web ページ : サポート情報... 14 Web ページ :ArcGIS を学べる... 15 Web ページ :ArcGIS
FUJITSU Cloud Service for OSS 「コンテナサービス」 ご紹介資料
注 : 本サービスは 新規申込の受付を停止しております サービスご検討中のお客様におかれましては ご不便をおかけし申し訳ございません FUJITSU Cloud Service for OSS コンテナサービス ご紹介 2018 年 8 月富士通株式会社 本資料の無断複製 転載を禁じます 本資料は予告なく内容を変更する場合がございます Version 1.01 目次 Docker/Kubernetes
演習準備
演習準備 2014 年 3 月 5 日神戸大学大学院システム情報学研究科森下浩二 1 演習準備の内容 神戸大 FX10(π-Computer) 利用準備 システム概要 ログイン方法 コンパイルとジョブ実行方法 MPI 復習 1. MPIプログラムの基本構成 2. 並列実行 3. 1 対 1 通信 集団通信 4. データ 処理分割 5. 計算時間計測 2 神戸大 FX10(π-Computer) 利用準備
White Paper 高速部分画像検索キット(FPGA アクセラレーション)
White Paper 高速部分画像検索キット (FPGA アクセラレーション ) White Paper 高速部分画像検索キット (FPGA アクセラレーション ) Page 1 of 7 http://www.fujitsu.com/primergy Content はじめに 3 部分画像検索とは 4 高速部分画像検索システム 5 高速部分画像検索の適用時の改善効果 6 検索結果 ( 一例 )
JAVA入門
JAVA 入門後期 10 情報処理試験例題解説 H14 年度秋問 8 次の Java プログラムの説明及びプログラムを読んで, 設問に答えよ プログラムの説明 ディジタル論理回路シミュレータを作成するためのクラスとテスト用クラスである (1) ゲートを表す抽象クラス Gate のサブクラスとして, NOT ゲートを表すクラス NotGate 及び AND ゲートを表すクラス AndGate を定義する
HashMapからConcurrentHashMapへの移行
HashMap から ConcurrentHashMap への移行 レガシー アプリケーションにおける注意点 2012 年 1 月 4 日橋口雅史 1. はじめにアプリケーションでは キーと値のマッピングが多用されます 例えば ユーザー名 というキーにユーザーの 情報 をマッピングするといった用途で java.util.map インタフェースは広く使われています 特に ハッシュテーブルに基づいて高速にマップを検索
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
JavaプログラミングⅠ
Java プログラミング Ⅱ 8 回目抽象クラスとインタフェース課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) 抽象クラスのオブジェクトは生成できる (2) 抽象メソッドとはメソッドの本体が未定義のメソッドである (3) 抽象メソッドをメンバーにもつクラスは抽象クラスである (4) 抽象クラスを拡張してすべての抽象メソッドをオーバーライドすれば サブクラスのオブジェクトを生成できる
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 プラットフォームを拡張して信頼性のある優れたカスタマ
(速報) Xeon E 系モデル 新プロセッサ性能について
( 速報 ) Xeon E5-2600 系モデル新プロセッサ性能について 2012 年 3 月 16 日 富士通株式会社 2012 年 3 月 7 日 インテル社より最新 CPU インテル Xeon E5 ファミリー の発表がありました この最新 CPU について PC クラスタシステムの観点から性能検証を行いましたので 概要を速報いたします プロセッサインテル Xeon プロセッサ E5-2690
JavaプログラミングⅠ
Java プログラミング Ⅱ 4 回目クラスの機能 (2) コンストラクタ クラス変数 クラスメソッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) コンストラクタはメソッドと同様に戻り値をもつ (2) コンストラクタはオブジェクトが生成されると最初に実行される (3) コンストラクタはメソッドと同様にオーバーロードができる (4) コンストラクタは常に public メンバとしなければならない
はじめての 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
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を活用し
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)
(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
ポスト「京」でのコデザイン 活動報告
重点課題 9 でのポスト 京 に対す るコデザイン活動報告 広島大学理学研究科 石川健一 1 目次 1. コデザイン活動 2. ポスト京関連公開情報 3. 重点課題 9 に関するコデザイン活動 2 1. コデザイン活動 RIKEN,R-CCS と FUJITSU によるポスト京計算機開発 コデザイン活動 重点課題からのターゲットアプリケーションの開発とシステムやソフトウェア開発を連携して開発 9 個のターゲットアプリケーション
計算機アーキテクチャ
計算機アーキテクチャ 第 11 回命令実行の流れ 2014 年 6 月 20 日 電気情報工学科 田島孝治 1 授業スケジュール ( 前期 ) 2 回日付タイトル 1 4/7 コンピュータ技術の歴史と コンピュータアーキテクチャ 2 4/14 ノイマン型コンピュータ 3 4/21 コンピュータのハードウェア 4 4/28 数と文字の表現 5 5/12 固定小数点数と浮動小数点表現 6 5/19 計算アーキテクチャ
.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~
.NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace
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
コンパイラ演習 第 7 回
コンパイラ演習 第 7 回 (2010/11/18) 秋山茂樹池尻拓朗前田俊行鈴木友博渡邊裕貴潮田資秀小酒井隆広山下諒蔵佐藤春旗大山恵弘佐藤秀明住井英二郎 今日の内容 Type Polymorphism ( 型多相性 ) の実現について Polymorphism 大きく分けて 3 種類ある Parametric polymorphism Subtyping polymorphism Ad-hoc polymorphism
文字列操作と正規表現
文字列操作と正規表現 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 文字列と文字列クラス 0 個以上の長さの文字の列 Java では String クラス 操作 文字列を作る 連結する 文字列中に文字列を探す 文字列中の文字列を置き換える 部分文字列を得る 3 String クラス 文字列を保持するクラス 文字列は定数であることに注意 比較に注意 == : オブジェクトとしての同等性
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
Microsoft Word - matlab-coder-code-generation-quick-start-guide-japanese-r2016a
MATLAB コードを使用した C コードの生成クイックスタートガイド (R2016a) 最初のスタンドアロン C コードの生成 スタンドアロン C コードを生成するには [ ビルド ] を [ ソースコード ] [ スタティックライブラリ ] [ ダイナミックライブラリ ] または [ 実行ファイル ] のいずれかに切り替えます MATLAB Coder を使用することで MATLAB コードから
JS2-14 マルチコアCPU時代の Javaプログラミング
JavaOne Tokyo 2012 JS2-14 マルチコア CPU 時代の Java プログラミング 2012 年 4 月 5 日 富士通株式会社数村憲治 Copyright 2012 FUJITSU LIMITED 自己紹介 数村憲治 [email protected] 富士通株式会社 Interstage Application Server 開発チーム Java VMの開発 サポート 大規模システムでの性能チューニングに
Java知識テスト問題
Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください
PowerPoint プレゼンテーション
BRMS への取り組みと導入事例 2013 年 11 月 15 日 ( 金 ) SCSK 株式会社 IT エンジニアリング事業本部ミドルウェア部 本日の内容 BRMS 適用のポイント BRMS の可能性 Page 1 Page 2 アプリケーション連携基盤 SCSKのRed Hat JBoss / ミドルウェア技術に関する取り組みの取り組み 世界のオープンソース コミュニティーから製品化されたソフトウェア
Javaの作成の前に
メディアプロジェクト演習 1 参考資料 Javaとは JavaScript と Java 言語の違い オブジェクト指向 コンストラクタ サーブレット 本資料内のページ番号は, 以下の参考書のページを引用している 高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに プログラミング言語とは? オブジェクト指向とは? Java 言語とは? JavaとJavaScriptの違いとは?
Microsoft PowerPoint - 01_Vengineer.ppt
Software Driven Verification テストプログラムは C 言語で! SystemVerilog DPI-C を使えば こんなに便利に! 2011 年 9 月 30 日 コントローラ開発本部コントローラプラットフォーム第五開発部 宮下晴信 この資料で使用するシステム名 製品名等は一般にメーカーや 団体の登録商標などになっているものもあります なお この資料の中では トレードマーク
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) で
K5移行サービス ご紹介資料
FUJITSU TransMigration K5 移行サービス ご紹介資料 2017 年 2 月版 富士通株式会社サービステクノロジー本部アプリケーションマネジメント事業部 0 K5 移行サービスのターゲット 現行システムをそのままクラウドに移行したいお客様 物理サーバ (IA サーバ ) 仮想サーバ Hyper-V ware (*2) K5 移行サービス (*1) FUJITSU Cloud Service
スライド 1
1 システムコールフックを使用した攻撃検出 株式会社フォティーンフォティー技術研究所 http://www.fourteenforty.jp 取締役技術担当金居良治 2 お題目 System Call について System Call Protection System Call Hook 考察 3 System Call とは? ユーザアプリケーションからカーネルのサービスルーチンを呼び出す Disk
FUJITSU Cloud Service for OSS 認証サービス サービス仕様書
FUJITSU Cloud Service for OSS 認証サービスサービス仕様書 2018 年 8 月 30 日 1. サービス仕様 当社は 以下のサービスを提供します (1) 基本サービス契約者が FUJITSU Cloud Service for OSS PaaS ポータルから認証サービスの利用を開始すると 管理テナント ( 注 1) が 1 つ作成されます 契約者は 管理テナントにより運用テナント
情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 )
情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 ) 本日学ぶこと 関数と変数 目的 関数を自分で定義し, 変数の利用方法 範囲を明示的に制限することで, 適切な機能分割 ( モジュール化, 再利用 ) を図る. してはいけないこと main 関数のみで 100 行以上のプログラム グローバル変数を駆使するプログラム プログラムを読みやすくする 保守性向上 入 p.109 2 関数 (Function)
CodeRecorderでカバレッジ
株式会社コンピューテックス Copyright 2016 Computex Co.,Ltd. 2017.11 カバレッジ と 単体テスト カバレッジとは プログラムがどれだけ実行されているかを示す指標です プログラム全体に対して実行された比率をカバレッジ率で表します カバレッジの基準として 一般的にC0 C1が使われております C0カバレッジは 全体のうち何 % が実行されたかで求めます C1カバレッジは
Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ
Oracle Un お問合せ : 0120- Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよびSOA 対応データ サービスへ ) を網羅する総合的なデータ統合プラットフォームです Oracle
熱伝達の境界条件 (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
FUJITSU Cloud Service K5 認証サービス サービス仕様書
FUJITSU Cloud Service K5 認証サービスサービス仕様書 2016 年 10 月 28 日 1. サービス仕様 当社は 以下のサービスを提供します (1) 基本サービス契約者が K5 PaaS ポータルから認証サービスの利用を開始すると 管理テナント ( 注 1) が 1 つ作成されます 契約者は 管理テナントにより運用テナント ( 注 2) の管理を行うことができます 1 基本機能
Insert your Title here
マルチコア マルチスレッド環境での静的解析ツールの応用 米 GrammaTech 社 CodeSonar によるスレッド間のデータ競合の検出 2013 GrammaTech, Inc. All rights reserved Agenda 並列実行に起因する不具合の摘出 なぜ 並列実行されるプログラミングは難しいのか データの競合 デッドロック どのようにして静的解析ツールで並列実行の問題を見つけるのか?
メディプロ1 Javaプログラミング補足資料.ppt
メディアプロジェクト演習 1 Javaプログラミング補足資料 l Javaとは l JavaScript と Java 言語の違い l オブジェクト指向 l コンストラクタ l 継承 抽象クラス 本資料内のページ番号は, 以下の参考書のページを引用している高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに l プログラミング言語とは? l オブジェクト指向とは?
