Microsoft PowerPoint - suda.pptx

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Microsoft PowerPoint - suda.pptx"

Transcription

1 GPU の HWアーキテクチャと高性能化手法 須田礼仁 ( 東京大学 ) 2011/03/22 GPU 高性能プログラミング GPU のハードウェアを理解する CUDA のソフトウェアを理解する CUDA でプログラムを書くのは難しくないが, CUDA で高速なプログラムを書くのは難しい どうすれば遅くなるかを理解する! 効果が大きいものから順に説明します 1

2 高性能プログラミングの手順 1. 現在のコードの, どこに時間がかかっているのか? A B C A B C A B C 2. なぜ遅いのか, どこまで速くなりうるか? 行列積 N = 2000, 演算器 500Gflops, メモリ 200GB/s 演算 2N 3 = 16Gflop = 32ms データ ( キャッシュサイズ ) 8 x 3N 2 = 96MB = 0.48ms データ ( キャッシュサイズ 0) 8 x 3N 3 = 192GB = 960ms 3. どうすれば高速化できるか? CUDA の所要時間計測 cudaevent を使う cudaevent_t start, stop; cudaeventcreate(&start); cudaeventcreate(&stop); cudaeventrecord(start, 0); ここに計算をする cudaeventrecord(stop, 0); cudaeventsynchronize(stop); float elapsedtime; cudaeventelapsedtime(&elapsedtime, start, stop); elapsedtime に ms 単位の値が入る ; 精度は us レベル clock 関数を使う ; うまく使うとクロックサイクルレベル CPU 側で計測する 2

3 高性能化のポイント 1 GPU プロセッサの構成 GPU HW の 3 階層 Core (CUDA Core, 以前は Stream Processor, SP とも呼ばれていた ) SIMD 演算の 1 要素分の計算する演算器 (Multiprocessor, Streaming Multiprocessor, SM) あたりの Core 数は Compute Capability 依存 Device (GPU) Device あたりの 数は GPU モデルによる Core Core Device Core Core Core Core Core Core 例 :GeForce GT120 4 per GPU 8 Core per 32 Core per GPU Compute Capability 1.1 3

4 いろんな GPU モデル Device Core Core Device Device Core GeForce 9300M GS Tesla C2050 GTX 560 Ti 自分の GPU の情報を知るには? プログラムの中で :cudagetdeviceproperties サンプルプログラムの devicequery を実行する./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) There is 1 device supporting CUDA Device 0: "GeForce GTX 580" CUDA Driver Version: 4.0 CUDA Runtime Version: 4.0 CUDA Capability Major/Minor version number: 2.0 Total amount of global memory: bytes (16) Multiprocessors x (32) CUDA Cores/: 512 CUDA Cores Total amount of constant memory: bytes Total amount of shared memory per block: bytes Total number of registers available per block: Warp size: 32 Maximum number of threads per block: 1024 Maximum sizes of each dimension of a block: 1024 x 1024 x 64 Maximum sizes of each dimension of a grid: x x Maximum memory pitch: bytes Texture alignment: 512 bytes Clock rate: 1.54 GHz Concurrent copy and execution: Yes # of Asynchronous Copy Engines: 1 Run time limit on kernels: Yes Integrated: No Support host page-locked memory mapping: Yes Compute mode: Default (multiple host threads can use this device simultaneously) Concurrent kernel execution: Yes Device has ECC support enabled: No Device is using TCC driver mode: No devicequery, CUDA Driver = CUDART, CUDA Driver Version = 4.0, CUDA Runtime Version = 4.0, NumDevs = 1, Device = GeForce GTX 580 PASSED Press <Enter> to Quit

5 CUDA SW の 3 階層 Grid Block Block Block Block Threads Device Cores Cores Gid Grid, Block, Thread が Device,, Core にほぼ対応 各 block は同じ数の thread を含む 全 thread 数 = block 数 block あたりの thread 数 高性能化のポイント 2 BLOCK の実行方式 5

6 Block と Thread の違い 1 Grid 中の Block 1 Block 中の Thread 同時に実行されることも, 逐次に実行されることもある 非常に多数作成できる ( 最大 block) 同期や通信ができない 必ず同時に実行される 数が制限されている (512 または 1024) 同期や通信ができる Block の実行方式 はいくつかの block を同時に実行できる 実行しきれない block は逐次に実行される Device Block Block Block Block Block Block Block Block Block Block Block Block Block Block 6

7 1 で同時に走る block 数 各 block が消費する資源量による 1 で同時に走る block 数上限 (= 8) 1 で同時に走る thread 数上限 (= 768/1024/1536) 1 の shared memory サイズ (= 16KB / 48KB) 1 のレジスタ数 (= 8K/16K/32K) 例 :block あたり 128 thread および 3KB の shared memory 使用, thread あたり 40 レジスタ使用の場合同時に走るblock 数 = min{ 8, 1024 / 128, 16K / 3K, 16K / (40*128) } = min{ 8, 8, 5, 3} = 3 上の例で,thread あたりのレジスタ数が 32 ですめば, 4 つの block が同時に走る 33% の速度向上 Thread あたりのレジスタ数の制御 1. NVCC コンパイラオプション -maxrregcount 数 2. カーネル関数の launch bounds global void launch_bounds (256) kernel( ) { } 少なくとも 256 thread 1 block で動作できるレジスタ数に抑える global void launch_bounds (256, 4) kernel( ) { } 少なくとも 256 thread 4 block で動作できるレジスタ数に抑える 両方に指定すると launch bounds が優先 スピルコードが増える危険性 ; 最適値は非自明 7

8 Block 数 同時に走る block 数が多くても, 性能ロスは少ない Context switch はハードウェアで実行され, 極めて小さい 多くの場合, 最適な同時実行 block 数は,2 以上 同時に走る block 数を増やすには Block あたりの thread 数は適切な大きさに レジスタや shared memory は使いすぎない Block 数は ( 数 ) ( 同時に走る block 数 ) の倍数がよい Block 数,thread 数と性能 1.60E+12 ops fl 1.40E E E E E E E+11 Thread 数 resident block E Block 数 GTX 580, 16 x 32 core, float FMA, 100 times unrolled, peak 1.58 Tflops, max 1.49 Tflops 8

9 高性能化のポイント 3 スレッドの実行方式 Warp 32 thread で 1 つの warp を構成,SIMD 実行 x = a + b x = a + b a = p[i] a = p[i] y = x * z y = x * z x = a + b x = a + b a = p[i] a = p[i] y = x * z y = x * z Thread 0 ~ 31 Thread 64 ~ 95 Thread 32 ~ 63 time 9

10 命令の遅延 各命令は 1 サイクルでは終わらない 命令の遅延 ある命令を開始してから, その結果に依存する命令を開始できるまでの時間 x = a * b; y = x + c; x = a * b; y = x + c; 簡単な命令でも, 数サイクル ~ 20 サイクル以上 メモリアクセスは, 数百サイクル パイプライン実行 命令遅延を隠蔽するパイプラインが実装されている Warp 0 計算メモリアクセス計算メモリアクセス Warp 1 Warp 2 Warp 3 Warp 5 計算 計算 メモリアクセス 計算 メモリアクセス 計算 計算 メモリアクセス 計算 メモリアクセス メモリアクセス 計算 計算 同じ block の warp でも, 異なる block の warp でも, 同じように遅延隠蔽ができる 同時に走る warp 数 (= block あたりの warp 数 同時に走る block 数 ) が多いほど遅延が隠蔽できる 10

11 Block 数,thread 数と性能 ( 再掲 ) ops fl 1.60E E+12 十分な性能を出すのに 48 block (24 resident warp per ) が必要 Occupancy = E E E E+11 Thread 数 E E E Block 数 GTX 580, 16 x 32 core, float FMA, 100 times unrolled, peak 1.58 Tflops, max 1.49 Tflops 5.00E+10 独立な計算系列 x0 = b0 + a0 * x0; x1 = b1 + a1 * x1; x2 = b2 + a2 * x2; x3 = b3 + a3 * x3; x4 = b4 + a4 * x4; x5 = b5 + a5 * x5; ops fl 4.50E E E E E E E+10 独立な計算 E E E+00 Thread 数 = Block 数 11

12 6 系列の独立な計算,64 thread ops fl 1.60E E block x 64 thread で 6 resident warp Occupancy = E E E E E+11 Thread 数 th=64, op=6 th=256, op=1 2.00E E GTX 580, 16 x 32 core, float FMA, 100 times unrolled, peak 1.58 Tflops, max 1.55 Tflops Block 数 高性能化のポイント 4 SIMD と条件分岐 12

13 SIMD 実行 1 つの warp 内の thread は,SIMD 実行 Single Instruction Multiple Data 分岐があっても, 両方を実行する if (b > 0) a += b; else a -= b; p = b > 0; a += b; a -= b; p = b > 0; a += b; a -= b; p = b > 0; a += b; a -= b; p = b > 0; a += b; a -= b; p = b > 0; a += b; a -= b; Warp 内のすべての thread が同じ方向に分岐した時は, 片方だけしか実行されません 分岐は苦手 条件分岐が入れ子になると, それぞれ分岐してゆく if (k > 0) { if (j > 0) do_a; else do_b; } else { if (j > 0) do_c; else do_d; } 1 warp は 32 thread なので, 最悪の場合 32 通りの異なるパスを実行,1/32 の性能 対策は, アルゴリズム上の工夫ということに j = threadidx.x; for (i=0; i< n[j]; i++) x += f(a[i], b[j]); n[j] はできるだけ均一のほうがよい 13

14 分岐は苦手 ( その 2) ループが遅い アンローリング for (i=0; i< n; i++) a[i] = c * b[i]; ループは n 回まわる for (i=0; i+5 < n; i+= 6) { a[i] = c * b[i]; a[i+1] = c * b[i+1]; a[i+2] = c * b[i+2]; a[i+3] = c * b[i+3]; a[i+4] = c * b[i+4]; a[i+5] = c * b[i+5]; } for (; i< n; i++) a[i] = c * b[i]; ループはほぼ n/6 回まわる #pragma unroll 6 でやってくれる ループアンローリングと性能 1.60E+12 ops fl 1.40E E E E E+11 Unroll 段数 E E E Block 数 GTX 580, 16 x 32 core, float addition times, peak 1.58 Tflops, max 1.53 Tflops 14

15 高性能化のポイント 5 デバイスメモリへのアクセス Register Constant cache Shared memory / L1 cache GPU 側のメモリの種類 GPU chip L2 cache Texture cache, surface cache Global memory Register Constant cache Shared memory / L1 cache Register: カーネル関数で宣言されたスカラー変数 Local memory: スピルなどが global memory と同じ所に入る Shared memory, constant memory: 特別に宣言する Global memory: 大域変数,host で割り当てた配列 Texture, Surface: 省略 15

16 Coalesced access Coalesced access 連続した thread が連続したメモリアドレスをアクセスする メモリアクセスが一度ですむ Block SIMD における 連続アクセス Threads Thread に対するデータ分散は サイクリック分割 が基本 キャッシュがなくてもあってもだいたい同じ Global memory メモリアクセス性能 16 block x 1024 thread x 16K word を読み出す device float x_dev[n_itr][n_thr][n_blk]; ] device float x_dev[n_thr][n_itr][n_blk]; Co oalesced access device float x_dev[n_itr][n_blk][n_thr]; device float x_dev[n_blk][n_itr][n_thr]; device float x_dev[n_thr][n_blk][n_itr]; device float x_dev[n_blk][n_thr][n_itr]; Byte/s 0.00E E E+11 16

17 データ構造 ポインタを手繰るのは苦手 ループが遅い, パイプライン化できない ランダムアクセスになりがち => できれば ( 構造が静的など ) 配列に 構造体の配列か, 配列の構造体か struct { struct { double a, b; double a[n], b[n]; } data[n]; } data; GPU では, 配列の構造体のほうが有利 75.9 GB/s 84.9 GB/s 計算 :thread ごとに a と b の総和 Shared memory ソフトウェアで明示的に使うキャッシュ 使い方は省略 L1 cache のおかげで, 必要性が低下 最近のバージョンではめいっぱいまで使える L1 cache 48KB + Shared memory 16KB にするには cudafuncsetcacheconfig(kernel, cudafunccachepreferl1) ; Shared memory が 16KB を超えると,L1 48KB + shared 16 KB に L1 cache 16KB + Shared memory 48KB にするには cudafuncsetcacheconfig(kernel, cudafunccacheprefershared) ; nvcc で Xptxas dlcm=cg で L1 cache を使わなくなるが, shared memory のサイズは 48 KB のまま 17

18 高性能化のポイント 6 カーネルと転送の粒度 CPU-GPU データ通信バンド幅 PCI Express Gen 2.0 x16 理論ピークバンド幅 8GB/s ( 実測 6GB/s 程度 ) 例 : Tesla C2050 計算 :1000x1000 行列の和 C = A + B 倍精度ピーク演算性能 515 Gflops 3.9 us Device memory ピークバンド幅 144 GB/s 167 us => GPU での実効性能 2Mflop / 171 us 12 Gflops PCI Express ピークバンド幅 8GB/s 3000 us => CPU GPU CPU での実効性能 0.67 Gflops CPU-GPU 間のデータ転送は最小限に! GPU C = A + B C A B Dev mem GPU C = A + B C A B Dev mem 12 G flops 0.67 Gflops C A B Host mem 18

19 CPU-GPU データ転送遅延 最小サイズの転送に 7 us 前後かかる N 回の転送で合計 X バイトのデータを送る時間 ~ T(N, X) = N * 7* X / (5*10 9 ) N X N * 10-5 X / (5*10 9 ) T(N,X) *10-6 2* us *10-5 2* us *10-4 2* us *10-3 2* ms データはできるだけまとめて転送する! もしくは mapped memory を使う Host 側のメモリ Pageable memory: 普通に malloc したもの Page-locked memory y( または pinned memory) Pageable memory より転送が高速 ( 最大 2 倍ぐらい違う ) データ転送とカーネル実行が並列化できる 作り方 malloc ではなく cudahostalloc 関数を使う malloc で割り当てて,cudaHostRegister で pinned にする Mapped memory GPU から直接アクセスできる CPU メモリ cudahostalloc や cudahostregister でパラメタを指定 細かいアクセスが沢山ある場合にちょっと有利 19

20 Host と Device 間の通信 遅延時間 Pinned to Device Pageable to Device Device to Pinned Device to Pageable 6.17 GB/s 569GB/s GB/s 5.29 GB/s スループット Pinned to Device Pageable to Device Device to Pinned Device to Pageable 6.52 us 4.75 us 6.54 us 6.61 us その他のヒント 20

21 NVCC: CUDA compiler driver -arch sm_20 Compute Capability を指定 ( この場合 2.0, デフォルトは 1.0) -maxrregcount 引数 カーネル関数あたりのレジスタ数の上限を指定 -Xptxas -v レジスタ数,local memory, shared memory の使用量を表示 -use_fast_math 高速 低精度の数学関数 ( 単精度 ) を使用 -deviceemu デバイスエミュレーションコードを生成 -Xcompiler 引数 バックエンドコンパイラのオプションを指定 -run ファイル 引数のオブジェクトファイルを実行する デバッグのヒント エラーは毎回チェックするべき #define chk do_check( FILE, LINE ) void do_check(char *file, int line) { cudaerror_t er = cudagetlasterror(); if (er!= cudasuccess) { fprintf(stderr, "%s %d: %s n", file, line, cudageterrorstring(er)); exit(1); } } そこらじゅうに chk; を書いておく Device memory と host memory が混乱しがち device float a_dev; Host からは両方が見える int main(void) { float a_hos; cudamemcpytosymbol(a_dev, &a_hos, sizeof(float), 0,...);... 21

Microsoft PowerPoint - GPU_computing_2013_01.pptx

Microsoft PowerPoint - GPU_computing_2013_01.pptx GPU コンピューティン No.1 導入 東京工業大学 学術国際情報センター 青木尊之 1 GPU とは 2 GPGPU (General-purpose computing on graphics processing units) GPU を画像処理以外の一般的計算に使う GPU の魅力 高性能 : ハイエンド GPU はピーク 4 TFLOPS 超 手軽さ : 普通の PC にも装着できる 低価格

More information

Images per Second Images per Second VOLTA: ディープラーニングにおける大きな飛躍 ResNet-50 トレーニング 2.4x faster ResNet-50 推論 TensorRT - 7ms レイテンシ 3.7x faster P100 V100 P10

Images per Second Images per Second VOLTA: ディープラーニングにおける大きな飛躍 ResNet-50 トレーニング 2.4x faster ResNet-50 推論 TensorRT - 7ms レイテンシ 3.7x faster P100 V100 P10 NVIDIA TESLA V100 CUDA 9 のご紹介 森野慎也, シニアソリューションアーキテクト (GPU-Computing) NVIDIA Images per Second Images per Second VOLTA: ディープラーニングにおける大きな飛躍 ResNet-50 トレーニング 2.4x faster ResNet-50 推論 TensorRT - 7ms レイテンシ

More information

3次多項式パラメタ推定計算の CUDAを用いた実装 (CUDAプログラミングの練習として) Implementation of the Estimation of the parameters of 3rd-order-Polynomial with CUDA

3次多項式パラメタ推定計算の CUDAを用いた実装 (CUDAプログラミングの練習として)  Implementation of the Estimation of the parameters of 3rd-order-Polynomial with CUDA 3 次多項式パラメタ推定計算の CUDA を用いた実装 (CUDA プログラミングの練習として ) Estimating the Parameters of 3rd-order-Polynomial with CUDA ISS 09/11/12 問題の選択 目的 CUDA プログラミングを経験 ( 試行錯誤と習得 ) 実際に CPU のみの場合と比べて高速化されることを体験 問題 ( インプリメントする内容

More information

23 Fig. 2: hwmodulev2 3. Reconfigurable HPC 3.1 hw/sw hw/sw hw/sw FPGA PC FPGA PC FPGA HPC FPGA FPGA hw/sw hw/sw hw- Module FPGA hwmodule hw/sw FPGA h

23 Fig. 2: hwmodulev2 3. Reconfigurable HPC 3.1 hw/sw hw/sw hw/sw FPGA PC FPGA PC FPGA HPC FPGA FPGA hw/sw hw/sw hw- Module FPGA hwmodule hw/sw FPGA h 23 FPGA CUDA Performance Comparison of FPGA Array with CUDA on Poisson Equation (lijiang@sekine-lab.ei.tuat.ac.jp), (kazuki@sekine-lab.ei.tuat.ac.jp), (takahashi@sekine-lab.ei.tuat.ac.jp), (tamukoh@cc.tuat.ac.jp),

More information

VXPRO R1400® ご提案資料

VXPRO R1400® ご提案資料 Intel Core i7 プロセッサ 920 Preliminary Performance Report ノード性能評価 ノード性能の評価 NAS Parallel Benchmark Class B OpenMP 版での性能評価 実行スレッド数を 4 で固定 ( デュアルソケットでは各プロセッサに 2 スレッド ) 全て 2.66GHz のコアとなるため コアあたりのピーク性能は同じ 評価システム

More information

GPUコンピューティング講習会パート1

GPUコンピューティング講習会パート1 GPU コンピューティング (CUDA) 講習会 GPU と GPU を用いた計算の概要 丸山直也 スケジュール 13:20-13:50 GPU を用いた計算の概要 担当丸山 13:50-14:30 GPU コンピューティングによる HPC アプリケーションの高速化の事例紹介 担当青木 14:30-14:40 休憩 14:40-17:00 CUDA プログラミングの基礎 担当丸山 TSUBAME の

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

Microsoft PowerPoint - NxLec-2010-11-01.ppt

Microsoft PowerPoint - NxLec-2010-11-01.ppt 2010 年 後 学 期 レポート 問 題 計 算 機 アーキテクチャ 第 二 (O) 4. シングルサイクルプロセッサの 実 装 とパイプライン 処 理 大 学 院 情 報 理 工 学 研 究 科 計 算 工 学 専 攻 吉 瀬 謙 二 kise _at_ cs.titech.ac.jp S321 講 義 室 月 曜 日 5,6 時 限 13:20-14:50 1 1. 1から100までの 加 算

More information

GPGPU によるアクセラレーション環境について

GPGPU によるアクセラレーション環境について GPGPU によるアクセラレーション環境について 長屋貴量 自然科学研究機構分子科学研究所技術課計算科学技術班 概要 GPGPU とは 単純で画一的なデータを一度に大量に処理することに特化したグラフィックカードの演算資源を 画像処理以外の汎用的な目的に応用する技術の一つである 近年 その演算能力は CPU で通常言われるムーアの法則に則った場合とは異なり 飛躍的に向上しており その演算性能に魅力を感じた各分野での応用が広がってきている

More information

DRAM SRAM SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) DRAM 4 C Wikipedia 1.8 SRAM DRAM DRAM SRAM DRAM SRAM (256M 1G bit) (32 64M bit)

DRAM SRAM SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) DRAM 4 C Wikipedia 1.8 SRAM DRAM DRAM SRAM DRAM SRAM (256M 1G bit) (32 64M bit) 2016.4.1 II ( ) 1 1.1 DRAM RAM DRAM DRAM SRAM RAM SRAM SRAM SRAM SRAM DRAM SRAM SRAM DRAM SRAM 1.2 (DRAM, Dynamic RAM) (SRAM, Static RAM) (RAM Random Access Memory ) DRAM 1 1 1 1 SRAM 4 1 2 DRAM 4 DRAM

More information

Microsoft PowerPoint - sales2.ppt

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

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

1 4 1.1........................................... 4 1.2.................................. 4 1.3................................... 4 2 5 2.1 GPU.....

1 4 1.1........................................... 4 1.2.................................. 4 1.3................................... 4 2 5 2.1 GPU..... CPU GPU N Q07-065 2011 2 17 1 1 4 1.1........................................... 4 1.2.................................. 4 1.3................................... 4 2 5 2.1 GPU...........................................

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

main.dvi

main.dvi PC 1 1 [1][2] [3][4] ( ) GPU(Graphics Processing Unit) GPU PC GPU PC ( 2 GPU ) GPU Harris Corner Detector[5] CPU ( ) ( ) CPU GPU 2 3 GPU 4 5 6 7 1 toyohiro@isc.kyutech.ac.jp 45 2 ( ) CPU ( ) ( ) () 2.1

More information

自己紹介 湯浅陽一 1999 年より Linux kernel 開発に参加 MIPS アーキテクチャのいくつかの CPU へ Linux kernel を移植

自己紹介 湯浅陽一 1999 年より Linux kernel 開発に参加 MIPS アーキテクチャのいくつかの CPU へ Linux kernel を移植 Kprobes による Embedded Linux kernel 動的解析手法 Yoichi Yuasa OSAKA NDS Embedded Linux Cross Forum #3 自己紹介 湯浅陽一 1999 年より Linux kernel 開発に参加 MIPS アーキテクチャのいくつかの CPU へ Linux kernel を移植 Kprobes とは Linux kernel デバッグ機能の一つ

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 基礎演習 3 C 言語の基礎 (5) 第 05 回 (20 年 07 月 07 日 ) メモリとポインタの概念 ビットとバイト 計算機内部では データは2 進数で保存している 計算機は メモリにデータを蓄えている bit 1bit 0 もしくは 1 のどちらかを保存 byte 1byte 1bitが8つ集まっている byte が メモリの基本単位として使用される メモリとアドレス メモリは 1byte

More information

ためのオーバーヘッドが課題となりつつある しかしこのオーバーヘッドに関する数値はほとんど公開されていない この論文ではこの cache coherency の時間を Linux カーネルで提供されている atomic_inc 関数を用いて測定する方法を新たに考案し 実測プログラムを作成した 実測はプ

ためのオーバーヘッドが課題となりつつある しかしこのオーバーヘッドに関する数値はほとんど公開されていない この論文ではこの cache coherency の時間を Linux カーネルで提供されている atomic_inc 関数を用いて測定する方法を新たに考案し 実測プログラムを作成した 実測はプ Intel Xeon プロセッサにおける Cache Coherency 時間の測定方法と大規模システムにおける実測結果 Performance Measurement Method of Cache Coherency Effects on a large Intel Xeon Processor System 河辺峻 1 古谷英祐 2 KAWABE Shun, FURUYA Eisuke 要旨現在のプロセッサの構成は,

More information

Logical Volume Manger (LVM) の制限に関する情報

Logical Volume Manger (LVM) の制限に関する情報 Logical Volume Manger (LVM) の制限に関する情報 White paper 目次 はじめに...2 1. LVMのサポート制限...2 2. ボリュームグループの最適なエクステントサイズの計算...3 1 はじめに 本書では 現在の LVM アーキテクチャに依存する各種制限値と LVM で大容量ディスクを使用する際の留意点を説明します 1. LVM のサポート制限 以下の表に

More information

PowerPoint Presentation

PowerPoint Presentation ファイルの入出力 芝浦工業大学情報工学科 青木義満 今回の講義内容 ファイル入出力 ファイルからのデータ読込み ファイルと配列 2 1 ファイルへのデータ書き込み ( 復習 ) ソースファイル名 :fileio1.c データをファイルに書き込み #include int main(void) { ファイルポインタ宣言 int student_id = 100; char name[

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プロシージャ プロシージャの種類 Subプロシージャ Functionプロシージャ Propertyプロシージャ Sub プロシージャ Subステートメント~ステートメントで囲まれる 実行はするけど 値は返さない 途中で抜けたいときは Exit Sub を行なう Public Sub はマクロの実行候補に表示される Sub プロシージャの例 Public Sub TestSubProc() Call

More information

Processingをはじめよう

Processingをはじめよう Processing をはじめよう 第 7 章 動きその 2 目次 フレームレート スピードと方向 移動 回転 拡大 縮小 2 点間の移動 乱数 タイマー 円運動 今回はここまで 2 2 点間の移動 Example 7-6 (EX_08_06) 始点 (startx, starty) から終点 (stopx, stopy) まで移動する 座標更新の計算方法は後述 始点と終点を変更しても動作する 変更して確認

More information

supercomputer2010.ppt

supercomputer2010.ppt nanri@cc.kyushu-u.ac.jp 1 !! : 11 12! : nanri@cc.kyushu-u.ac.jp! : Word 2 ! PC GPU) 1997 7 http://wiredvision.jp/news/200806/2008062322.html 3 !! (Cell, GPU )! 4 ! etc...! 5 !! etc. 6 !! 20km 40 km ) 340km

More information

Microsoft PowerPoint - Chap4 [Compatibility Mode]

Microsoft PowerPoint - Chap4 [Compatibility Mode] 計算機構成論 (Chap. ) @C01 http://www.ngc.is.ritsumei.ac.jp/~ger/lectures/comparch2012/index.html (user=ganbare, passwd = 初回の講義で言いました ) 講義に出るなら 分からないなら質問しよう 単位を取りたいなら 章末問題は自分で全部といておこう ( レポートと考えればいいんです!) ご意見

More information

CLEFIA_ISEC発表

CLEFIA_ISEC発表 128 ビットブロック暗号 CLEFIA 白井太三 渋谷香士 秋下徹 盛合志帆 岩田哲 ソニー株式会社 名古屋大学 目次 背景 アルゴリズム仕様 設計方針 安全性評価 実装性能評価 まとめ 2 背景 AES プロジェクト開始 (1997~) から 10 年 AES プロジェクト 攻撃法の進化 代数攻撃 関連鍵攻撃 新しい攻撃法への対策 暗号設計法の進化 IC カード, RFID などのアプリケーション拡大

More information

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx 並列計算の概念 ( プロセスとスレッド ) 長岡技術科学大学電気電子情報工学専攻出川智啓 今回の内容 並列計算の分類 並列アーキテクチャ 並列計算機システム 並列処理 プロセスとスレッド スレッド並列化 OpenMP プロセス並列化 MPI 249 CPU の性能の変化 動作クロックを向上させることで性能を向上 http://pc.watch.impress.co.jp/docs/2003/0227/kaigai01.htm

More information

Microsoft PowerPoint - 06.pptx

Microsoft PowerPoint - 06.pptx アルゴリズムとデータ構造第 6 回 : 探索問題に対応するデータ構造 (2) 担当 : 上原隆平 (uehara) 2015/04/22 内容 スタック (stack): 最後に追加されたデータが最初に取り出される 待ち行列 / キュー (queue): 最初に追加されたデータが最初に取り出される ヒープ (heap): 蓄えられたデータのうち小さいものから順に取り出される 配列による実装 連結リストによる実装

More information

増設メモリ 1. 機能仕様 型番 製品名 備考 N GB 増設メモリボード DDR3-1333(PC ) SDRAM, Unbuffered N GB 増設メモリボード DDR3-1333(PC ) SDRAM, Unbuffered N8

増設メモリ 1. 機能仕様 型番 製品名 備考 N GB 増設メモリボード DDR3-1333(PC ) SDRAM, Unbuffered N GB 増設メモリボード DDR3-1333(PC ) SDRAM, Unbuffered N8 (2011/06/17) 増設メモリ 1. 機能仕様 型番 製品名 備考 N8102-342 1GB 増設メモリボード DDR3-1333(PC3-10600) SDRAM, Unbuffered N8102-343 2GB 増設メモリボード DDR3-1333(PC3-10600) SDRAM, Unbuffered N8102-344 4GB 増設メモリボード DDR3-1333(PC3-10600)

More information

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf(hello, n); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a hello printf(hello) 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は C 言語復習 C 言語の基礎 来週もこの資料を持参してください C 言語, ソースファイルの作成, コンパイル, 実行 1 C 言語 C 言語プログラミングの手順 とは, 計算機を動かす手順を記述したもの. 計算機に命令を与えて動かすには を作成する ことになる. C 言語はプログラミング言語の 1 個 手続き型言語に分類される. C/C++ は非常に多くの場面で使われる言語 C++ は C 言語をオブジェクト指向に拡張したもの

More information

2 1997 1M SRAM 1 25 ns 1 100 250 1,000 DRAM 60 120 ns 50 5 10 50 10 20 ms 5,000,000 0.1 0.2 1

2 1997 1M SRAM 1 25 ns 1 100 250 1,000 DRAM 60 120 ns 50 5 10 50 10 20 ms 5,000,000 0.1 0.2 1 1 2 1997 1M SRAM 1 25 ns 1 100 250 1,000 DRAM 60 120 ns 50 5 10 50 10 20 ms 5,000,000 0.1 0.2 1 CPU 1 1 2 2 n CPU SRAM DRAM CPU 3 4 5 6 7 N+ N+ P SRAM DRAM 8 Computer Architecture 9 DRAM 3 4 10 11 Ta 2

More information

12 PowerEdge PowerEdge Xeon E PowerEdge 11 PowerEdge DIMM Xeon E PowerEdge DIMM DIMM 756GB 12 PowerEdge Xeon E5-

12 PowerEdge PowerEdge Xeon E PowerEdge 11 PowerEdge DIMM Xeon E PowerEdge DIMM DIMM 756GB 12 PowerEdge Xeon E5- 12ways-12th Generation PowerEdge Servers improve your IT experience 12 PowerEdge 12 1 6 2 GPU 8 4 PERC RAID I/O Cachecade I/O 5 Dell Express Flash PCIe SSD 6 7 OS 8 85.5% 9 Dell OpenManage PowerCenter

More information

第8回講義(2016年12月6日)

第8回講義(2016年12月6日) 2016/12/6 スパコンプログラミング (1) (Ⅰ) 1 行列 - 行列積 (2) 東京大学情報基盤センター准教授塙敏博 2016 年 12 月 6 日 ( 火 ) 10:25-12:10 2016/11/29 講義日程 ( 工学部共通科目 ) 1. 9 月 27 日 ( 今日 ): ガイダンス 2. 10 月 4 日 l 並列数値処理の基本演算 ( 座学 ) 3. 10 月 11 日 : スパコン利用開始

More information

スライド 1

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

More information

研究背景 大規模な演算を行うためには 分散メモリ型システムの利用が必須 Message Passing Interface MPI 並列プログラムの大半はMPIを利用 様々な実装 OpenMPI, MPICH, MVAPICH, MPI.NET プログラミングコストが高いため 生産性が悪い 新しい並

研究背景 大規模な演算を行うためには 分散メモリ型システムの利用が必須 Message Passing Interface MPI 並列プログラムの大半はMPIを利用 様々な実装 OpenMPI, MPICH, MVAPICH, MPI.NET プログラミングコストが高いため 生産性が悪い 新しい並 XcalableMPによる NAS Parallel Benchmarksの実装と評価 中尾 昌広 李 珍泌 朴 泰祐 佐藤 三久 筑波大学 計算科学研究センター 筑波大学大学院 システム情報工学研究科 研究背景 大規模な演算を行うためには 分散メモリ型システムの利用が必須 Message Passing Interface MPI 並列プログラムの大半はMPIを利用 様々な実装 OpenMPI,

More information

プログラムの基本構成

プログラムの基本構成 Java 入門 この 2 回 ( 今回と次回 ) が勝負だ! プログラムは自転車の練習と同じだ! 今日の予定先ず プログラムの構造を学び (p.2~6) jcpad でプログラム ( 計算機実習室 ) 戻ってきてプログラムの解読手書きプログラムを TA にみてもらい OK の出た人は計算機実習室でプログラム作成し実行実行結果を TA がチェックして帰り プログラムの基本構成 Step1: 入力 Step2:

More information

2ndD3.eps

2ndD3.eps CUDA GPGPU 2012 UDX 12/5/24 p. 1 FDTD GPU FDTD GPU FDTD FDTD FDTD PGI Acceralator CUDA OpenMP Fermi GPU (Tesla C2075/C2070, GTX 580) GT200 GPU (Tesla C1060, GTX 285) PC GPGPU 2012 UDX 12/5/24 p. 2 FDTD

More information

211 年ハイパフォーマンスコンピューティングと計算科学シンポジウム Computing Symposium 211 HPCS /1/18 a a 1 a 2 a 3 a a GPU Graphics Processing Unit GPU CPU GPU GPGPU G

211 年ハイパフォーマンスコンピューティングと計算科学シンポジウム Computing Symposium 211 HPCS /1/18 a a 1 a 2 a 3 a a GPU Graphics Processing Unit GPU CPU GPU GPGPU G 211 年ハイパフォーマンスコンピューティングと計算科学シンポジウム Computing Symposium 211 HPCS211 211/1/18 GPU 4 8 BLAS 4 8 BLAS Basic Linear Algebra Subprograms GPU Graphics Processing Unit 4 8 double 2 4 double-double DD 4 4 8 quad-double

More information

Microsoft PowerPoint - 5Chap10.ppt

Microsoft PowerPoint - 5Chap10.ppt 第 11 章関数について 11.1 標準ライブラリ関数 11. 関数呼び出しのオーバーヘッド 11. 大域変数 11.4 プロトタイプ宣言数学関数の自作 11.1 標準ライブラリ関数 予め定義されており ユーザが定義 作成しなくても使える関数 ヘッダ部に以下のマクロが必要 #iclude pritf, scf 等の入出力関数 sqrt, si 等の数学関数 #iclude

More information

C のコード例 (Z80 と同機能 ) int main(void) { int i,sum=0; for (i=1; i<=10; i++) sum=sum + i; printf ("sum=%d n",sum); 2

C のコード例 (Z80 と同機能 ) int main(void) { int i,sum=0; for (i=1; i<=10; i++) sum=sum + i; printf (sum=%d n,sum); 2 アセンブラ (Z80) の例 ORG 100H LD B,10 SUB A LOOP: ADD A,B DEC B JR NZ,LOOP LD (SUM),A HALT ORG 200H SUM: DEFS 1 END 1 C のコード例 (Z80 と同機能 ) int main(void) { int i,sum=0; for (i=1; i

More information

Pervasive PSQL v11 のベンチマーク パフォーマンスの結果

Pervasive PSQL v11 のベンチマーク パフォーマンスの結果 Pervasive PSQL v11 のベンチマークパフォーマンスの結果 Pervasive PSQL ホワイトペーパー 2010 年 9 月 目次 実施の概要... 3 新しいハードウェアアーキテクチャがアプリケーションに及ぼす影響... 3 Pervasive PSQL v11 の設計... 4 構成... 5 メモリキャッシュ... 6 ベンチマークテスト... 6 アトミックテスト... 7

More information

第一章 本書の概要 ( ア ) はじめにいわゆるサーバ用プロセッサである Xeon と いわゆるデスクトップ用プロセッサである Core i7 の違いを性能の観点からまとめました 性能とは例えば速さなどの数値のことで 機能 ( できること ) の違いについては立ち入りません Xeon の方がなんとな

第一章 本書の概要 ( ア ) はじめにいわゆるサーバ用プロセッサである Xeon と いわゆるデスクトップ用プロセッサである Core i7 の違いを性能の観点からまとめました 性能とは例えば速さなどの数値のことで 機能 ( できること ) の違いについては立ち入りません Xeon の方がなんとな 目次 第一章本書の概要 ( ア ) はじめに ( イ ) 比較早見表 第二章メモリ編 ( ア ) メモリ転送速度 ( 連続アクセス ) ( イ ) メモリレイテンシ ( ランダムアクセス ) ( ウ ) 測定方法 第三章コア編 ( ア ) 1 スレッドあたりの性能 ( イ ) 並列度 1 第一章 本書の概要 ( ア ) はじめにいわゆるサーバ用プロセッサである Xeon と いわゆるデスクトップ用プロセッサである

More information

テクニカルガイド 増設メモリ

テクニカルガイド 増設メモリ (2012/07/26) 増設メモリ 1. 機能仕様 型番 製品名 備考 N8102-508 32GB 増設メモリボード DDR3L-1066(PC3L-8500) SDRAM ECC 付 Registered (1x32GB/R) N8102-507 16GB 増設メモリボード (1x16GB/R) N8102-506 8GB 増設メモリボード (1x8GB/R) N8102-505 4GB 増設メモリボード

More information

iphone GPGPU GPU OpenCL Mac OS X Snow LeopardOpenCL iphone OpenCL OpenCL NVIDIA GPU CUDA GPU GPU GPU 15 GPU GPU CPU GPU iii OpenMP MPI CPU OpenCL CUDA OpenCL CPU OpenCL GPU NVIDIA Fermi GPU Fermi GPU GPU

More information

スパコンに通じる並列プログラミングの基礎

スパコンに通じる並列プログラミングの基礎 2016.06.06 2016.06.06 1 / 60 2016.06.06 2 / 60 Windows, Mac Unix 0444-J 2016.06.06 3 / 60 Part I Unix GUI CUI: Unix, Windows, Mac OS Part II 0444-J 2016.06.06 4 / 60 ( : ) 6 6 ( ) 6 10 6 16 SX-ACE 6 17

More information

KBLAS[7] *1., CUBLAS.,,, Byte/flop., [13] 1 2. (AT). GPU AT,, GPU SYMV., SYMV CUDABLAS., (double, float) (cu- FloatComplex, cudoublecomplex).,, DD(dou

KBLAS[7] *1., CUBLAS.,,, Byte/flop., [13] 1 2. (AT). GPU AT,, GPU SYMV., SYMV CUDABLAS., (double, float) (cu- FloatComplex, cudoublecomplex).,, DD(dou Vol.214-HPC-146 No.14 214/1/3 CUDA-xSYMV 1,3,a) 1 2,3 2,3 (SYMV)., (GEMV) 2.,, mutex., CUBLAS., 1 2,. (AT). 2, SYMV GPU., SSYMV( SYMV), GeForce GTXTitan Black 211GFLOPS( 62.8%)., ( ) (, ) DD(double-double),

More information

メモリについて考えてみよう_REL_

メモリについて考えてみよう_REL_ Agenda はじめに メモリ って何だろう? SQL Server で使うメモリ メモリ関連の設定 メモリ周りのトラブル モニタリング はじめに 全体のテーマ 本セッションでは SQL Server のメモリを理解するための知識とその挙動を説明します ゴール メモリに関わる知識を整理し わからない単語を無くす 自分の関わるシステムをメモリを切り口に振り返ってみる トラブルが起きたときに何が起きたのか想像できるようになる

More information

Microsoft Word - Cプログラミング演習(12)

Microsoft Word - Cプログラミング演習(12) 第 12 回 (7/9) 4. いくつかのトピック (5)main 関数の引数を利用したファイル処理 main 関数は, 起動する環境から引数を受け取ることができる 例えば 次に示すように,main 関数に引数を用いたプログラムを作成する 01 /* sample */ 02 /* main 関数の引数 */ 03 #include 04 05 main(int argc, char

More information

ストリーミング SIMD 拡張命令2 (SSE2) を使用した、倍精度浮動小数点ベクトルの最大/最小要素とそのインデックスの検出

ストリーミング SIMD 拡張命令2 (SSE2) を使用した、倍精度浮動小数点ベクトルの最大/最小要素とそのインデックスの検出 SIMD 2(SSE2) / 2.0 2000 7 : 248602J-001 01/10/30 1 305-8603 115 Fax: 0120-47-8832 * Copyright Intel Corporation 1999-2001 01/10/30 2 1...5 2...5 2.1...5 2.1.1...5 2.1.2...8 3...9 3.1...9 3.2...9 4...9

More information

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - chap10_OOP.ppt プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,

More information

第9回 配列(array)型の変数

第9回 配列(array)型の変数 第 12 回 配列型の変数 情報処理演習 ( テキスト : 第 4 章, 第 8 章 ) 今日の内容 1. 配列の必要性 2. 配列の宣言 3. 配列変数のイメージ 4. 配列変数を使用した例 5. 範囲を超えた添字を使うと? 6. 多次元配列変数 7. 多次元配列変数を使用した例 8. データのソーティング 9. 今日の練習問題 多数のデータ処理 1. 配列の必要性 ( テキスト 31 ページ )

More information

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx 補 足 MPIプログラムのコンパイル, 実 行 標 準 の 環 境 ではmpic++やmpiexecを 実 行 できない OSがmpic++やmpiexecの 場 所 を 把 握 していないことが 原 因 bash 3.2$ mpic++ bash: mpic++: command not found bash 3.2$ mpiexec bash: mpiexec: command not found

More information

(Microsoft PowerPoint \215u\213`4\201i\221\272\210\344\201j.pptx)

(Microsoft PowerPoint \215u\213`4\201i\221\272\210\344\201j.pptx) AICS 村井均 RIKEN AICS HPC Summer School 2012 8/7/2012 1 背景 OpenMP とは OpenMP の基本 OpenMP プログラミングにおける注意点 やや高度な話題 2 共有メモリマルチプロセッサシステムの普及 共有メモリマルチプロセッサシステムのための並列化指示文を共通化する必要性 各社で仕様が異なり 移植性がない そして いまやマルチコア プロセッサが主流となり

More information

図 2 AVX の SIMD レジスタの構造 Figure 2 Architecture of AVX SIMD register 図 1 倍々精度のビット数 Figure 1 Bit pattern of Double-Double precision number る Double-Double

図 2 AVX の SIMD レジスタの構造 Figure 2 Architecture of AVX SIMD register 図 1 倍々精度のビット数 Figure 1 Bit pattern of Double-Double precision number る Double-Double AVX を用いた倍々精度疎行列ベクトル積の高速化 1 菱沼利彰 1 藤井昭宏 1 田中輝雄 2 長谷川秀彦 計算性能の向上に伴い, 高精度による計算が多くの場面で可能となっている.4 倍精度を効率良く実現する手法として,2 つの倍精度変数で 1 つの 4 倍精度変数を表現する倍々精度演算がある. 本研究では, 疎行列とベクトルの演算に使われる基本演算を AVX 命令を用いて高速化し, 性能を決定するパラメタについて分析を行うことにより,

More information

Microsoft PowerPoint - os ppt [互換モード]

Microsoft PowerPoint - os ppt [互換モード] 4. メモリ管理 (1) 概要メモリ管理の必要性静的メモリ管理と動的メモリ管理スワッピング, 仮想記憶ページングとセグメンテーション 2008/5/ 20 メモリ管理 (1) 1 メモリはコンピュータの 5 大構成要素 装置 ( キーボード, マウス ) CPU ( 中央演算装置 ) 出 装置 ( モニタ, プリンタ ) 主記憶装置 ( メインメモリ ) 外部記憶装置 (HDD) 2008/5/ 20

More information

ライセンスの注意事項 サーババンドル版のライセンスについてサーババンドル版では 通常のサーバライセンスおよび 4 コアライセンスを ベースライセンス 追加サーバライセンスおよび追加 2 コアライセンスを 追加ライセンス と呼びます 1 台の物理サーバに対してベースライセンスは 1 つしか購入すること

ライセンスの注意事項 サーババンドル版のライセンスについてサーババンドル版では 通常のサーバライセンスおよび 4 コアライセンスを ベースライセンス 追加サーバライセンスおよび追加 2 コアライセンスを 追加ライセンス と呼びます 1 台の物理サーバに対してベースライセンスは 1 つしか購入すること SQL Server 2017 Microsoft SQL Server 2017 は 以下の製品群で構成されています データベース サーバ SQL Server 2017 Enterprise Edition SQL Server 2017 Enterprise Edition は 非常に優れたパフォーマンス 無制限の仮想化 およびミッションクリティカルなワークロードのための高水準のサービスレベル構築に適したエディションです

More information

生成された C コードの理解 コメント元になった MATLAB コードを C コード内にコメントとして追加しておくと その C コードの由来をより簡単に理解できることがよくありま [ 詳細設定 ] [ コード外観 ] を選択 C コードのカスタマイズ より効率的な C コードを生成するベストプラクテ

生成された C コードの理解 コメント元になった MATLAB コードを C コード内にコメントとして追加しておくと その C コードの由来をより簡単に理解できることがよくありま [ 詳細設定 ] [ コード外観 ] を選択 C コードのカスタマイズ より効率的な C コードを生成するベストプラクテ MATLAB コードを使用した C コードの生成クイックスタートガイド (R2012a) 最初のスタンドアロン C コードの生成 スタンドアロン C コードを生成するには MATLAB Coder のペインを [ ビルド ] に切り替えて [C/C++ スタティックライブラリ ] [C/C++ ダイナミックライブラリ ] または [C/C++ 実行ファイル ] のいずれかを選択しま MATLAB Coder

More information

スライド 1

スライド 1 目次 2.MPI プログラミング入門 この資料は, スーパーコン 10 で使用したものである. ごく基本的な内容なので, 現在でも十分利用できると思われるものなので, ここに紹介させて頂く. ただし, 古い情報も含まれているので注意が必要である. 今年度版の解説は, 本選の初日に配布する予定である. 1/20 2.MPI プログラミング入門 (1) 基本 説明 MPI (message passing

More information

Microsoft PowerPoint - ICD-ARCパネル

Microsoft PowerPoint - ICD-ARCパネル ICD-ARC 共 催 研 究 会 パネル 討 論 新 時 代 におけるマルチコア 戦 略 ( 株 ) 東 芝 セミコンダクター 社 2008 年 5 月 13 日 斎 藤 光 男 プロセッサ 周 波 数 の 年 代 別 の 伸 び 10000 CISCプロセッサの 時 代 アウトオブオーダーの 導 入 3.2GHz P4 3.0GHz P4 3.8GHz P4 3.4GHz 3.6GHz P4 P4

More information

C#JobSystem_Intel

C#JobSystem_Intel Unity のマルチスレッドプログラミング ユニティ テクノロジーズ ジャパン合同会社 エバンジェリスト 伊藤周 諸注意 今回紹介するC# Job Systemはまだ発展段階 リリースでは多少の差異が出る可能性がある C# Job Systemの概念を知ってほしい プログラマ以外は理解不能 アジェンダ 従来のマルチスレッドプログラミング C# Job System の概要 Let s read codes.

More information

Taro-cshプログラミングの応用.jt

Taro-cshプログラミングの応用.jt c s h プログラミングの応用 0. 目次 1. 課題 課題 1 : 与えられたパス名からディレクトリ名とファイル名を分離し出力せよ 課題 2 : オプション (-in) の後に続く文字列とオプション (-out) の後に続く文字列をそれぞれまとめる オプションの指定がなく文字列から始まるとき -in を仮定する 課題 3 : 複数のファイルから与えられたパターンとマッチする文字列を含む行を取り出せ

More information

手動操作によるパーティション作成方法 4. リストア方法 (3) システム情報の復元 の 3-2) の手順で sfdisk コマンドによるシステムのパーティション情報の復元に失敗する場合は fdisk コマンドにて手動でパーティションを作成してください 作成するパーティションのサイズは バックアップ

手動操作によるパーティション作成方法 4. リストア方法 (3) システム情報の復元 の 3-2) の手順で sfdisk コマンドによるシステムのパーティション情報の復元に失敗する場合は fdisk コマンドにて手動でパーティションを作成してください 作成するパーティションのサイズは バックアップ 本書は サポートポータルで公開している Express5800/R320c(RHEL6) システムディスクのバックアップリストア手順 ( コンテンツ ID: 3140101118) に掲載している システムのバックアップリストア手順書 の補足情報です システムディスクに 増設用 200GB SSD ( 型番 : N8850-052) を利用している環境で リストア実行時にパーティション作成に失敗して付録の

More information

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR 第 回マイクロプロセッサのしくみ マイクロプロセッサの基本的なしくみについて解説する. -1 マイクロプロセッサと周辺回路の接続 制御バス プロセッサ データ バス アドレス バス メモリ 周辺インタフェース バスの基本構成 Fig.-1 バスによる相互接続は, 現在のコンピュータシステムのハードウェアを特徴づけている. バス (Bus): 複数のユニットで共有される信号線システム内の データの通り道

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 4 回 繰り返し (for ループ ) 授業開始前に ログオンして待機して ください Java 1 第 4 回 2 不要ファイルの掃除 前回デスクトップにファイルをダウンロードした場合 次のものを削除してください week03.zip デスクトップにファイルを置きすぎると コンピュータをシャットダウンできなくなります Java 1 第 4 回 3 授業を始めます 前回の課題は

More information

1 138

1 138 5 1 2 3 4 5 6 7 8 1 138 BIOS Setup Utility MainAdvancedSecurityPowerExit Setup Warning Item Specific Help Setting items on this menu to incorrect values may cause your system to malfunction. Select 'Yes'

More information

1/8 ページ Java 基礎文法最速マスター Java Javaの文法一覧です 他の言語をある程度知っている人はこれを読めばJavaの基礎をマスターしてJavaを書くことができるようになっています 簡易リファレンスとしても利用できると思いますので これは足りないと思うものがあれば教えてください 1. 基礎 class の作成プログラムはclassに記述します たとえばSampleという名前のclassを作る場合

More information

About me! 足立昌彦 / +Masahiko.Adachi )! バイドゥ株式会社技術顧問 (Simeji)! 株式会社カブク Co-Founder! Google Developer Expert (Android)

About me! 足立昌彦 / +Masahiko.Adachi )! バイドゥ株式会社技術顧問 (Simeji)! 株式会社カブク Co-Founder! Google Developer Expert (Android) Discover Support Library Masahiko Adachi @adamrokcer / +Masahiko.Adachi 28 th Sep, 2013 About me! 足立昌彦 ( @adamrocker / +Masahiko.Adachi )! バイドゥ株式会社技術顧問 (Simeji)! 株式会社カブク Co-Founder! Google Developer Expert

More information

C#の基本

C#の基本 C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない

More information

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1 4. ソート ( 教科書 p.205-p.273) 整列すなわちソートは アプリケーションを作成する際には良く使われる基本的な操作であり 今までに数多くのソートのアルゴリズムが考えられてきた 今回はこれらソートのアルゴリズムについて学習していく ソートとはソートとは与えられたデータの集合をキーとなる項目の値の大小関係に基づき 一定の順序で並べ替える操作である ソートには図 1 に示すように キーの値の小さいデータを先頭に並べる

More information

WAGO PROFIBUS バスカプラ/コントローラと、QJ71PB92Dとのコンフィグレーションマニュアル

WAGO PROFIBUS バスカプラ/コントローラと、QJ71PB92Dとのコンフィグレーションマニュアル < 概要 > WAGO-I/O-SYSTEM750 シリーズ PROFIBUS バスカプラ / コントローラと 三菱電機 製 PROFIBUS ユニット QJ71PB92D とのコンフィグレーション手順を説明しております < 使用機器接続図 > 下記機器を準備し 図の通り接続しました WAGO-I/O-SYSTEM PROFIBUS バスカプラ / コントローラ 750-xxx および I/O モジュール

More information

IT プロジェクト

IT プロジェクト オブジェクト指向設計による卓球 ゲームの試作 (2) 劉少英 情報科学部コンピュータ科学科 Email:sliu@hosei.ac.jp ホームページ : http://cis.k.hosei.ac.jp/~sliu/ 講義内容 1. 卓球ボールをテーブルの上に移動させる 2. 関連しているクラスにメソッドを加える 3. プログラムの文書化技術 1. 卓球ボールをテーブルの上に 移動させる 8 9

More information

Java知識テスト問題

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

More information

プログラミング及び演習 第1回 講義概容・実行制御

プログラミング及び演習 第1回 講義概容・実行制御 プログラミング及び演習 第 12 回大規模プログラミング (2015/07/11) 講義担当情報連携統轄本部情報戦略室大学院情報科学研究科メディア科学専攻教授森健策 本日の講義 演習の内容 大きなプログラムを作る 教科書第 12 章 make の解説 プログラミングプロジェクト どんどんと進めてください 講義 演習ホームページ http://www.newves.org/~mori/15programming

More information

US40cユーザーズガイド

US40cユーザーズガイド US40c 1 Enter CURRENT Passord:? _ InsydeH20 Setup Utility Main Advanced Security Boot Exit Video Configuration Poer Save Quick Charge HDD [2GB ATA Flash

More information

Microsoft PowerPoint - prog04.ppt

Microsoft PowerPoint - prog04.ppt プログラミング言語 2 第 04 回 (2007 年 05 月 14 日 ) 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/language/ にアクセスすると 教材があります 2007 年 05 月 14 日分と書いてある部分が 本日の教材です 本日の内容

More information

処理効率

処理効率 処理効率 処理効率の改善 : 基本関数複数メモリ領域線形代数の並列処理並列ガベージコレクタ多項式演算疎な行列とベクトル Maplesoft は 新しいリリースのたびに数学計算の効率と速度の改善を追求してきました これには 頻繁にコールされるルーチンやアルゴリズムの改善だけでなく ローレベルの基礎構造の改善も含まれます Maple では 複素数を含む数値計算を高速化する新しいアル 17 ゴリズムおよび疎な行列とベクトルをより実用的に結合するためのローレベルルーチンが導入されました

More information

マルチスレッドアーキテクチャにおける スレッドライブラリの実装と評価

マルチスレッドアーキテクチャにおける スレッドライブラリの実装と評価 修士学位論文発表 マルチスレッドアーキテクチャにおける システムソフトウェアの研究 A study on Systems Software for Multithreaded Architecture 2004 2/12 東京農工大学大学院工学研究科情報コミュニケーション工学専攻並木研究室 03646109 笹田耕一 1 背景 マルチスレッドアーキテクチャプロセッサ 1 チップ上で複数の命令流 (

More information

64bit SSE2 SSE2 FPU Visual C++ 64bit Inline Assembler 4 FPU SSE2 4.1 FPU Control Word FPU 16bit R R R IC RC(2) PC(2) R R PM UM OM ZM DM IM R: reserved

64bit SSE2 SSE2 FPU Visual C++ 64bit Inline Assembler 4 FPU SSE2 4.1 FPU Control Word FPU 16bit R R R IC RC(2) PC(2) R R PM UM OM ZM DM IM R: reserved (Version: 2013/5/16) Intel CPU (kashi@waseda.jp) 1 Intel CPU( AMD CPU) 64bit SIMD Inline Assemler Windows Visual C++ Linux gcc 2 FPU SSE2 Intel CPU double 8087 FPU (floating point number processing unit)

More information

C-programming_kouza4(2007)

C-programming_kouza4(2007) ゲーム制作制作のための C 言語講座 言語講座 ~ 第 4 回 ~ 2007/08/29 29 みなさん お久しぶりです 10 日間以上の休みの間にプログラミングは組みましたか?10 日間の中であまり質問が無かったので 多分みんな大丈夫だと思っていてもいいのでしょうか? 今回のやる部分は初心者が一番挫折するところです ( 正直 この部分を無視しても一応ゲームは作れるため 使わずにプログラムを組む人も結構いたりしますが

More information

Microsoft Word - README_2011_FW.txt

Microsoft Word - README_2011_FW.txt ====================================================================== NT2011A-A001 WindowsServer2003 SP1 インストール向け NX7700i 用差分 FW モジュール (efiflash.iso) 適用方法 ======================================================================

More information

TopSE並行システム はじめに

TopSE並行システム はじめに はじめに 平成 23 年 9 月 1 日 トップエスイープロジェクト 磯部祥尚 ( 産業技術総合研究所 ) 2 本講座の背景と目標 背景 : マルチコア CPU やクラウドコンピューティング等 並列 / 分散処理環境が身近なものになっている 複数のプロセス ( プログラム ) を同時に実行可能 通信等により複数のプロセスが協調可能 並行システムの構築 並行システム 通信 Proc2 プロセス ( プログラム

More information

Microsoft Word - vga

Microsoft Word - vga VGA Card Product name: ZH77A-G43 BIOS ver.: 1.0 搭配 SandyBridge CPU 測試 PCI Express VGA Card ATi GPU MSI V212-08S Radeon HD5450 512MB/GDDR3 Gen2,x16 012.017.000.000 MSI V234-07S Radeon HD5450 1024MB/GDDR3

More information

橡eCosIntroandITRON

橡eCosIntroandITRON ecos ITRON API ecos (1) RTOS - 50% ISI - 6.0% WRS - 4.6% Microtec - 3.7% Microware - 3.6% QNX - 2.6% Lynx - 2.6% Concurrent - 2.5% RTOS - 24.4% ecos (3) :http://www.ertl.ics.tut.ac.jp/itron/survey97 ecos

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 総機 1 ( 月 1) 11: 動的メモリ確保 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2015-06-22 1 まとめ : ポインタを使った処理 内容 説明 呼び出し元の変数を書き換える第 9 回 文字列を渡す 配列を渡す 第 10 回 ファイルポインタ

More information

第4回

第4回 Excel で度数分布表を作成 表計算ソフトの Microsoft Excel を使って 度数分布表を作成する場合 関数を使わなくても 四則演算(+ */) だけでも作成できます しかし データ数が多い場合に度数を求めたり 度数などの合計を求めるときには 関数を使えばデータを処理しやすく なります 度数分布表の作成で使用する関数 合計は SUM SUM( 合計を計算する ) 書式 :SUM( 数値数値

More information

Microsoft Word - vga

Microsoft Word - vga VGA Card Product name: Z77A-G43 BIOS ver.: 2.0 搭配 SandyBridge CPU 測試 PCI Express VGA Card ATi GPU MSI V212-08S Radeon HD5450 512MB/GDDR3 Gen2,x16 012.017.000.000 MSI V234-07S Radeon HD5450 1024MB/GDDR3

More information

Microsoft PowerPoint - algo ppt [互換モード]

Microsoft PowerPoint - algo ppt [互換モード] ( 復習 ) アルゴリズムとは アルゴリズム概論 - 探索 () - アルゴリズム 問題を解くための曖昧さのない手順 与えられた問題を解くための機械的操作からなる有限の手続き 機械的操作 : 単純な演算, 代入, 比較など 安本慶一 yasumoto[at]is.naist.jp プログラムとの違い プログラムはアルゴリズムをプログラミング言語で表現したもの アルゴリズムは自然言語でも, プログラミング言語でも表現できる

More information

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

書式に示すように表示したい文字列をダブルクォーテーション () の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf( 情報処理基礎 ); printf(c 言語の練習 ); printf 情報処理基礎 C 言語についてプログラミング言語は 1950 年以前の機械語 アセンブリ言語 ( アセンブラ ) の開発を始めとして 現在までに非常に多くの言語が開発 発表された 情報処理基礎で習う C 言語は 1972 年にアメリカの AT&T ベル研究所でオペレーションシステムである UNIX を作成するために開発された C 言語は現在使われている多数のプログラミング言語に大きな影響を与えている

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 数 値 計 算 と 性 能, 精 度 に 関 するまとめ.はじめに 数 値 計 算 の 性 能, 精 度 に 関 して 以 下 の 事 を まとめました ()SRのsmpとmpiの 効 果 を 対 称 行 列 の ノンゼロ 要 素 のみを 使 用 するCG 法 でその 性 能 を 検 証 しました ()ループ 積 分 を 用 いて,アクセラレータ 及 び サーバーの 性 能 を 比 較 しました ()サーバーにおいてRump

More information

System Requirements for Geomagic

System Requirements for Geomagic GEOMAGIC 動作環境 32-bit 版 64-bit 版 OS CPU RAM ハードディスクディスプレイ GPU - Windows XP (32-bitまたは64-bit SP2 以上 ) - Windows XP (64-bit SP2 以上 ) - Windows Vista (32-bitまたは64-bit SP1 - Windows Vista (64-bit SP1 以上 ) 以上

More information

Microsoft Word - Build3264Project.doc

Microsoft Word - Build3264Project.doc 32bit 用インストーラと 64Bit 用インストーラを同一のプロジェクトで作成する 注 ) このドキュメントは InstallShield 2011 Premier Edition を基に作成しています InstallShield 2011 以外のバージョンでは設定名などが異なる場合もあります 概要 MSI 形式インストーラでは Windows Installer の仕様により 32Bit 環境と

More information

はじめに このドキュメントではftServerに関する障害調査を行う際に 必要となるログ データの取得方法を説明しています ログ データの取得には 初期解析用のデータの取得方法と 詳細な調査を行うときのデータ取得方法があります 特別な理由でOS 側のログが必要となった場合には RHELログの取得につ

はじめに このドキュメントではftServerに関する障害調査を行う際に 必要となるログ データの取得方法を説明しています ログ データの取得には 初期解析用のデータの取得方法と 詳細な調査を行うときのデータ取得方法があります 特別な理由でOS 側のログが必要となった場合には RHELログの取得につ ftserver におけるログ取得手順 (Linux 編 ) Rev 0.5: 2017/06/08 1 はじめに このドキュメントではftServerに関する障害調査を行う際に 必要となるログ データの取得方法を説明しています ログ データの取得には 初期解析用のデータの取得方法と 詳細な調査を行うときのデータ取得方法があります 特別な理由でOS 側のログが必要となった場合には RHELログの取得について

More information

1 124

1 124 7 1 2 3 4 5 6 7 8 9 10 11 12 1 124 Phoenix - AwardBIOS CMOS Setup Utility Integrated Peripherals On-Chip Primary PCI IDE [Enabled] IDE Primary Master PIO [Auto] IDE Primary Slave PIO [Auto] IDE Primary

More information

GPU n Graphics Processing Unit CG CAD

GPU n Graphics Processing Unit CG CAD GPU 2016/06/27 第 20 回 GPU コンピューティング講習会 ( 東京工業大学 ) 1 GPU n Graphics Processing Unit CG CAD www.nvidia.co.jp www.autodesk.co.jp www.pixar.com GPU n GPU ü n NVIDIA CUDA ü NVIDIA GPU ü OS Linux, Windows, Mac

More information

Microsoft Word - nvsi_090196_r1_vaultdr_offline_rhel_dualpath.doc

Microsoft Word - nvsi_090196_r1_vaultdr_offline_rhel_dualpath.doc Article ID: NVSI-090196JP_R1 Created: 2009/08/17 Revised: 2010/07/9 Multipath 構成の RHEL5.3 での VaultDR Offline 追加復旧手順 1. 概要 Multipath 構成の Red Hat Enterprise Linux 5.3 は OS 内部に LUN 固有の ID を含んでいる場合があります その場合

More information

スライド 1

スライド 1 RX ファミリ用コンパイラスタートアップの紹介 ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ スタートアップの概要 スタートアッププログラム例 外部メモリを利用する場合の設定 2 スタートアップの概要 3 処理の流れとファイル構成例 パワーオン リセット Fixed_Vectors ( 固定ベクタテーブル )

More information

Sort-of-List-Map(A)

Sort-of-List-Map(A) Java オブジェクト集合のソートとラムダ式の初歩 山本富士男 2016-4-23 この資料は Java での コレクション Coections と ジェネリクス Generics に関してさらに深く学ぶためのものです 以下の事項を学びます レポート課題が 5 ページの末尾にあります 名称のない内部クラスである 匿名クラス を使う 一般のオブジェクトの集合 (List や Map など ) を何らかの基準でソートする

More information

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx シングルコアとマルチコア 長岡技術科学大学電気電子情報工学専攻出川智啓 今回の内容 前々回の授業の復習 CPUの進化 半導体集積率の向上 CPUの動作周波数の向上 + 複雑な処理を実行する回路を構成 ( 前々回の授業 ) マルチコア CPU への進化 均一 不均一なプロセッサ コプロセッサ, アクセラレータ 210 コンピュータの歴史 世界初のデジタルコンピュータ 1944 年ハーバードMark I

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 3 回目クラスの機能 (1) アクセス制限 オーバーロード課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) クラスの private メンバは そのクラスからのみアクセス可能なメンバである (2) 一般に クラスのフィールドはどこからでもアクセスできるように public メンバで宣言すべきである (3) クラスは private メンバと public

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 6 回目継承課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) 新しいクラスを宣言するとき既存のクラスを利用することはできない (2) 新しいクラスが既存のクラスのメンバーを受け継ぐことを継承という (3) クラスの拡張における既存のクラスをサブクラスという (4) サブクラスからスーパークラスの private メンバーをアクセスすることはできない (5)

More information

MMUなしプロセッサ用Linuxの共有ライブラリ機構

MMUなしプロセッサ用Linuxの共有ライブラリ機構 MMU なしプロセッサ用 Linux の共有ライブラリ機構 大谷浩司 高岡正 近藤政雄 臼田尚志株式会社アックス はじめに μclinux には 仮想メモリ機構がないので共有ライブラリ機構が使えない でもメモリ消費抑制 ストレージ消費抑制 保守性の向上のためには 欲しい 幾つかの実装があるが CPU ライセンス 機能の制限のためにそのまま利用できない RidgeRun 社 (Cadenux 社 )

More information