偏微分方程式の差分計算 長岡技術科学大学電気電子情報工学専攻出川智啓

Size: px
Start display at page:

Download "偏微分方程式の差分計算 長岡技術科学大学電気電子情報工学専攻出川智啓"

Transcription

1 偏微分方程式の差分計算 長岡技術科学大学電気電子情報工学専攻出川智啓

2 今回の内容 差分法 階微分 階微分に対する差分法 次元拡散方程式 guplot による結果の表示 分岐の書き方による実行時間の変化 高速化に利用できるいくつかのテクニック 7

3 前回授業 ビットマップを使った画像処理 配列の 要素が物理的な配置に対応 配列の 要素に物理的なデータが定義 B G R 7

4 数値計算 ( 差分法 ) 計算機を利用して数学 物理学的問題の解を計算 微積分を計算機で扱える形に変換 差分法では微分を差分に置き換え 処理自体は単純 精度を上げるために計算量が増加 73

5 シミュレーションの歴史と進歩 このスライドは諸事情により空白です 74

6 数値計算 ( 差分法 ) 物理空間に観測点を設置 観測点での物理量の変化を計算 観測点群を配列として確保し その点で物理量を定義 75

7 偏微分方程式 ( 拡散方程式 ) 物質の拡散を表す方程式 水の中に落ちたインクの拡散 金属中の熱伝導等 時刻 t=0 における の分布 ( 初期値 ) が既知 時間進行に伴い がどのように変化するかを計算 時間積分しながら の分布を求める ) ( ) ( x t x t t x 76 ) ( ) ( ) ( y t y x x t y x t t y x

8 差分法 計算機で微分を計算する方法の一つ 微分の定義 x の関数 について x だけ離れた 点間の傾きを計算し 点の間隔を無限小に近づけたときの極限 差分近似 d dx lm 0 Δx 関数をある間隔でサンプリング ( x Δx) Δx ( x) その間隔 x が の変化に対して十分小さいと仮定 d ( x Δx) ( x) dx Δx 77

9 差分法 ( 理論的なお話 ) 差分の誤差 lm を排除したことでどの程度の誤差が入るのか d dx lm Δx0 ( x Δx) Δx ( x) ( x Δx) Δx ( x) 関数 のテイラー展開を利用 ( x 3 3 d Δx d Δx d Δx) ( x) Δx 3 dx! dx 3! dx d dx ( x Δx) Δx ( x) Δx Δx! d dx Δx 3! 3 d 3 dx 3 78

10 差分法 ( 理論的なお話 ) 空間打ち切り誤差 定義とテイラー展開の比較 d dx ( x Δx) ( x) ( x Δx) ( x) lm Δx 0 Δx Δx 誤差 d dx ( x Δx) Δx ( x) Δx Δx! d dx Δx 3! 3 d 3 dx 3 テイラー展開を有限項で打ち切ったことによる誤差 3 Δx d Δx d 3! dx 3! dx 79

11 階微分の離散化 テイラー展開を応用 x 方向に x 離れた 点で展開 ( x 3 3 Δx Δx Δx) ( x) Δx 3 x! x 3! x ( x 3 3 Δx Δx Δx) ( x) Δx 3 x! x 3! x 式を足すと 階微分が消滅 ( x Δx Δx) ( x Δx) ( x)! x 730

12 階微分の離散化 階微分の式に整理 x ( x Δx) ( x) Δx ( x Δx) (x) (x+x) (x) (x x) x x=0 x x x x+x x 73

13 階微分の離散化 階微分の式に整理 x ( x Δx) ( x) Δx ( x Δx) [] 階の中心差分 [+] ([+] *[]+[ ]) /(dx*dx) [ ] [] 73 dx =0 + サンプリングされた関数値を配列 [] で保持

14 階微分の離散化 サンプリングされた関数値 の保持 x 方向長さ ( 計算領域の長さ ) を等間隔 xに分割 間隔 xの両端に離散点 ( 観測点 ) を置き そこでの値を定義 原点から順に離散点に番号を付与し で表現 離散点 におけるの値を配列 [] に保存 [] 配列 ( メモリ ) 配列 [] 離散点 =

15 差分法の実装 計算領域内部 ddx[]=([ ] *[]+[+])/dxdx; 境界条件 ( 関数値が無いため処理を変更 ) ddx[0 ]=(*[0 ] 5*[ ]+4*[ ] [3 ])/dxdx; ddx[n ]=(*[N ] 5*[N ]+4*[N 3] [N 4])/dxdx; [] Δx ddx[] 734

16 差分法の実装 計算領域内部 ddx[]=([ ] *[]+[+])/dxdx; 境界条件 ( 関数値が無いため処理を変更 ) ddx[0 ]=(*[0 ] 5*[ ]+4*[ ] [3 ])/dxdx; ddx[n ]=(*[N ] 5*[N ]+4*[N 3] [N 4])/dxdx; [] + Δx ddx[] 735

17 差分法の実装 計算領域内部 ddx[]=([ ] *[]+[+])/dxdx; 境界条件 ( 関数値が無いため処理を変更 ) ddx[0 ]=(*[0 ] 5*[ ]+4*[ ] [3 ])/dxdx; ddx[n ]=(*[N ] 5*[N ]+4*[N 3] [N 4])/dxdx; [] + Δx ddx[] 736

18 CPU プログラム #clude<stdlb.h> #clude<math.h>/* lmオプションが必要*/ #dee Lx (.0*M_PI) #dee Nx (56) #dee dx (Lx/(Nx )) #dee Nbytes (Nx*szeo(double)) #dee dxdx (dx*dx) vod t(double *){ t ; or(=0; <Nx; ++){ [] = s(*dx); vod deretate(double * double *ddx){ t ; ddx[0] = (.0*[0] 5.0*[] +4.0*[] [3])/dxdx; or(=; <Nx ; ++) ddx[] = ( [+].0*[ ] + [ ])/dxdx; ddx[nx ]=( [Nx 4] +4.0*[Nx 3] 5.0*[Nx ] +.0*[Nx ])/dxdx; t ma(vod){ double **ddx; = (double *)malloc(nbytes); ddx = (double *)malloc(nbytes); t(); deretate(ddx); retur 0; deretate.c 737

19 関数の離散化 計算領域の長さと離散点の数 離散点の間隔の関係 (x) L x x 0 x 0 から L x の間に設けられた点の数 N x =L x /x + 738

20 実行結果 d/dx 739 x

21 GPU への移植 計算領域内部を計算するスレッド ddx[]=([ ] *[]+[+])/dxdx; 境界を計算するスレッド ddx[0 ]=(*[0 ] 5*[ ]+4*[ ] [3 ])/dxdx; ddx[n ]=(*[N ] 5*[N ]+4*[N 3] [N 4])/dxdx; [] Δx ddx[] 740

22 GPU プログラム #clude<stdo.h> #clude<stdlb.h> #clude<math.h>/* lmオプションが必要*/ #dee Lx (.0*M_PI) #dee Nx (56) #dee dx (Lx/(Nx )) #dee Nbytes (Nx*szeo(double)) #dee dxdx (dx*dx) #dee NT (8) #dee NB (Nx/NT) vod t(double *){ t ; or(=0; <Nx; ++){ [] = s(*dx); global vod deretate (double * double *ddx){ t = blockidx.x*blockdm.x + threadidx.x; (==0) ddx[] = (.0*[ ] 5.0*[+] +4.0*[+] [+3])/dxdx; (0< && <Nx ) ddx[] = ( [+].0*[ ] + [ ])/dxdx; (==Nx ) ddx[]=( [ 3] +4.0*[ ] 5.0*[ ] +.0*[ ])/dxdx; deretate.cu 74

23 GPU プログラム t ma(vod){ double *host_*host_ddx; double **ddx; host_ =(double *)malloc(nbytes); cudamalloc((vod **)&Nbytes); cudamalloc((vod **)&ddxnbytes); t(host_); cudamemcpy( host_ Nbytes cudamemcpyhosttodevce); deretate<<<nb NT>>>( ddx); //host_ddx=(double *)malloc(nbytes); //cudamemcpy(host_ddx ddx Nbytes cudamemcpydevcetohost); //or(t =0; <Nx; ++)prt("%%% "*dxhost_[]host_ddx[]); ree(host_); ree(host_ddx); cudafree(); cudafree(ddx); retur 0; deretate.cu 74

24 次元への拡張 743 拡散方程式 次元 次元 ) ( ) ( x t x t t x ) ( ) ( ) ( y t y x x t y x t t y x deretate.cu で計算どのように 次元に拡張するかどのように離散化するか

25 次元への拡張 x 方向 階偏微分 y 方向を固定して x 方向に偏微分 y 方向 階偏微分 x 方向を固定して y 方向に偏微分 ) ( ) ( ) ( Δx y Δx x y x y Δx x x ) ( ) ( ) ( Δy Δy y x y x Δy y x y 744

26 時間積分 時間微分項の離散化 時間微分項を前進差分で離散化 ( x y t Δt) ( x y t) t Δt 右辺のt+tの項を移行 ( x y t Δt) ( x y t) Δt t t 拡散方程式を代入 ( x y t Δt) ( x y t) Δt ( x y t) (x y t) の 階微分を計算できれば (x y t+t) が求められる 745

27 離散化された方程式の記述 簡略化した表現 配列との対応をとるため下付き添字 を利用 ( x y) ( x Δx y) ( x y Δy) 時間は 上付き添字 を利用 ( x y t) ( x y t Δt) 746

28 離散化された拡散方程式 連続系 離散系 t 秒後の値 ) ( ) ( ) ( y t y x x t y x t t y x Δy Δx Δt Δy Δx Δt 747

29 離散化された関数値の保持 各方向を等間隔 x yに分割し 離散点を配置 離散点で関数値を定義し 配列に保存 配列 [][] =0 + =0 + 離散点 配列 ( メモリ ) 748

30 拡散方程式 ( 熱伝導方程式 ) x y + + x y x y x y t t+t 749 Δy Δx Δt + +

31 拡散方程式の安定性 プログラムを正しく作成しても正常な計算結果が得られない場合がある 安定条件 拡散の強さを表す係数 ( 拡散係数 ) を使った形 Δt 二つの条件を満たすことが必要条件 ( 結果が正しいかは別 ) Δt 0.5 Δt v v 5 Δx Δy 0. Δx Δy 750

32 計算手順. 計算条件の決定 計算領域の大きさ L x L y 計算領域の分割数 ( 離散点の個数 )N x N y 離散点同士の間隔 ( 格子間隔 )x y 計算時間間隔 t. 初期値の決定 の初期分布の決定 3. 差分値の計算 の分布からx y 方向の 階微分値を計算 境界条件に基づいて境界の値を決定 t 秒後のを計算 75

33 CPU プログラム 計算条件の決定 計算領域の大きさ L x L y 計算領域の分割数 ( 離散点の個数 )N x N y 離散点同士の間隔 ( 格子間隔 )x y #clude<stdo.h> #clude<stdlb.h> #clude<math.h> #dee Lx (.0) #dee Ly (.0) #dee Nx 8 #dee Ny 8 #dee dx (Lx/(Nx )) #dee dy (Ly/(Ny )) #dee dt 計算時間間隔 t 75

34 CPU プログラム 初期条件 境界条件 ) ( 0.) ( 0 r r x y r 0 : 外向き法線ベクトル Δx 0 0 Δy y x r

35 CPU プログラム #clude<stdlb.h> #clude<math.h> #dee Lx (.0) #dee Ly (.0) #dee Nx 8 #dee Ny 8 #dee dx (Lx/(Nx )) #dee dy (Ly/(Ny )) #dee dt #dee edt (.0) #dee Nt (t)(edt/dt) #dee DIFF (0.0) #dee dxdx (dx*dx) #dee dydy (dy*dy) #dee Nbytes (Nx*Ny*szeo(double)) vod t(double * double * double *); vod laplaca(double * double *); vod tegrate(double * double * double *); vod update(double * double *); t ma(vod){ double **_ew*_lapxy; t ; = (double *)malloc(nx*ny*szeo(double)); _ew = (double *)malloc(nx*ny*szeo(double)); _lap = (double *)malloc(nx*ny*szeo(double)); t( _lap _ew); or(=0;<nt;++){ laplaca(_lap); tegrate(_lap_ew); update(_ew); retur 0; duso.c 754

36 CPU プログラム vod t(double * double *_lap double *_ew){ t ; double xy; or(=0;<ny;++){ or(=0;<nx;++){ [+Nx*] = 0.0; _lap[+nx*] = 0.0; _ew[+nx*] = 0.0; x=*dx Lx/.0; y=*dy Ly/.0; (sqrt(x*x+y*y)<=0.) [+Nx*] =.0; vod laplaca(double * double *_lap){ t pmpm; or(=0;<ny;++){ or(=0;<nx;++){ = +Nx*; m= +Nx* ; ( < 0 )m=++nx*; p=++nx* ; (+>=Nx)p= +Nx*; m= +Nx*( );( < 0 )m=+nx*(+); p= +Nx*(+);(+>=Ny)p=+Nx*( ); _lap[] = ([p].0*[]+[m])/dxdx +([p].0*[]+[m])/dydy; vod tegrate (double * double *_lap double *_ew){ t ; or(=0;<ny;++){ or(=0;<nx;++){ = +Nx*; _ew[] = [] + dt*diff*_lap[]; vod update(double * double *_ew){ t ; or(=0;<ny;++){ or(=0;<nx;++){ = +Nx*; [] = _ew[]; duso.c 755

37 CPU プログラム 差分計算 x 方向 y 方向偏微分を個別に計算して加算 vod laplaca(double * double *_lap){ t pmpm; or(=0;<ny;++){ or(=0;<nx;++){ = +Nx* ; m= +Nx* ; ( < 0 )m=++nx*; p=++nx* ; (+>=Nx)p= +Nx*; m= +Nx*( );( < 0 )m=+nx*(+); p= +Nx*(+);(+>=Ny)p=+Nx*( ); _lap[] = ([p].0*[]+[m])/dxdx +([p].0*[]+[m])/dydy; 756

38 ラプラシアン計算のメモリ参照 ある 点 のラプラシアンを計算するために 周囲 5 点の を参照 [] _lap[]

39 ラプラシアン計算のメモリ参照 ある 点 のラプラシアンを計算するために 周囲 5 点の を参照 [] _lap[]

40 ラプラシアン計算のメモリ参照 ある 点 のラプラシアンを計算するために 周囲 5 点の を参照 [] _lap[]

41 ラプラシアン計算のメモリ参照 ある 点 のラプラシアンを計算するために 周囲 5 点の を参照 [] _lap[]

42 ラプラシアン計算のメモリ参照 ある 点 のラプラシアンを計算するために 周囲 5 点の を参照 全ての を参照し 領域内部の _lap を計算 [] _lap[] 76

43 CPU プログラム 境界条件 法線方向の 階微分が 0 境界での 階の差分式 76 _lap[] 0 : 外向き法線ベクトル Δx 0 0 Δy or Δx Δx Δx or Δy Δy Δy

44 CPU プログラム 境界条件 参照する点が境界からはみ出している場合は添字を修正 階微分を計算する式は変更なし _lap[] ( < 0 )m=++nx*; (+>=Nx)p= +Nx*; ( < 0 )m= +Nx*(+); (+>=Ny)p= +Nx*( ); 右端では+を に修正 左端では を+に修正 上端では+を に修正 下端では を+に修正 763

45 CPU プログラム の積分 vod tegrate(double * double *_lap double *_ew){ t ; or(=0;<ny;++){ or(=0;<nx;++){ = +Nx*; _ew[] = [] + dt*diff*_lap[]; 764 Δy Δx Δt

46 CPU プログラム の更新 から + を計算 + から + を計算 同じアルゴリズム 今の時刻から次の時刻を求める 求められた次の時刻を今の時刻と見なし 次の時刻を求める vod update(double * double *_ew){ t ; or(=0;<ny;++){ or(=0;<nx;++){ = +Nx*; [] = _ew[]; 765

47 GPU プログラム (CPU 処理用共通部分 ) #clude<stdo.h> #clude<stdlb.h> #clude<math.h> #dee Lx (.0) #dee Ly (.0) #dee Nx 048 #dee Ny Nx #dee dx (Lx/(Nx )) #dee dy (Ly/(Ny )) #dee dt #dee edt (.0) #dee Nt (t)(edt/dt) #dee DIFF (0.0) #dee dxdx (dx*dx) #dee dydy (dy*dy) #dee Nbytes (Nx*Ny*szeo(double)) #clude "d.cu" //#clude "d.cu" t ma(vod){ t ; double *dev_*dev ew*dev lap; dm3 Thread Block; (DIFF*dt/dxdx > 0.5){ prt("cogurato error "); ext(); cudamalloc( (vod**)&dev_ Nbytes ); cudamalloc( (vod**)&dev ew Nbytes ); cudamalloc( (vod**)&dev lap Nbytes ); Thread = dm3(threadxthready); Block = dm3(blockx BLOCKY ); t<<<block Thread>>> (dev_ dev lap dev ew); or(=;<=nt;++){ laplaca<<<block Thread>>>(dev_dev lap); tegrate<<<block Thread>>> (dev_dev lapdev ew); update<<<block Thread>>>(dev_dev ew); retur 0; duso.cu 766

48 GPU プログラム ( スレッドが 点を計算 ) #dee THREADX 6 #dee THREADY 6 #dee BLOCKX (Nx/THREADX) #dee BLOCKY (Ny/THREADY) global vod laplaca(double * double *_lap){ t mpmp; = blockidx.x*blockdm.x + threadidx.x; = blockidx.y*blockdm.y + threadidx.y; = +Nx* ; m= +Nx* ; ( < 0 )m=++nx*; p=++nx* ; (+>=Nx)p= +Nx*; m= +Nx*( );( < 0 )m=+nx*(+); p= +Nx*(+);(+>=Ny)p=+Nx*( ); _lap[] = ([p].0*[]+[m])/dxdx +([p].0*[]+[m])/dydy; global vod tegrate (double * double *_lap double *_ew){ t ; = blockidx.x*blockdm.x + threadidx.x; = blockidx.y*blockdm.y + threadidx.y; = +Nx*; _ew[] = [] + dt*diff*_lap[]; global vod update(double * double *_ew){ t ; = blockidx.x*blockdm.x + threadidx.x; = blockidx.y*blockdm.y + threadidx.y; = +Nx*; [] = _ew[]; global vod t (double * double *_lap double *_ew){ t ; double xy; = blockidx.x*blockdm.x + threadidx.x; = blockidx.y*blockdm.y + threadidx.y; = +Nx*; [] = 0.0; _lap[] = 0.0; _ew[] = 0.0; x=*dx Lx/.0; y=*dy Ly/.0; (sqrt(x*x+y*y)<=0.) [] =.0; d.cu 767

49 guplot による結果の表示 次元 3 次元データをプロットするアプリケーション コマンドラインで命令を実行してグラフを描画 関数の描画 ファイルから読み込んだデータの表示が可能 tesla?? では正しく動作しないため grouse で実行すること 768

50 guplot による結果の表示 表示可能なファイルフォーマット データはスペース区切り 3 次元表示では列 ( または行 ) の区切りとして空白行が必要 e e e e e e e e e e+00 < 改行 < 改行 769

51 guplot による結果の表示 スクリプトの実行 guplotのコマンドを記述したファイルを実行 load ' スクリプトファイル名 ' am.gpl 結果を単色の等値面で 3 次元表示 am_color.gpl 結果をカラーの等値面で 3 次元表示 am_d.gpl 結果をカラーの等高線で 次元表示 770

52 guplot による結果の表示 スクリプト am.gpl の内容 set xrage [ 0.5:0.5] x 軸の表示範囲を 0.5~0.5に固定 set yrage [ 0.5:0.5] y 軸の表示範囲を 0.5~0.5に固定 set zrage [0:] z 軸の表示範囲を0~に固定 set tcslevel 0 xy 平面とz 軸の最小値表示位置の差 set hdde3d 隠線消去をする set vew 4530 視点をx 方向 45 y 方向 30 に設定 set sze 0.75 グラフの縦横比を:0.75 uset cotour 次元等高線は表示しない set surace 3 次元で等値面を表示 uset pm3d カラー表示はしない 以下でファイルを読み込み 3 次元表示 splot '0.00.txt' usg ::3 wth le ttle "t=0.00s"... splot '.00.txt' usg ::3 wth le ttle "t=.00s" 77

53 guplot による結果の表示 スクリプト am.gpl による表示結果 77

54 guplot による結果の表示 スクリプト am_color.gpl の内容 set xrage [ 0.5:0.5] x 軸の表示範囲を 0.5~0.5に固定 set yrage [ 0.5:0.5] y 軸の表示範囲を 0.5~0.5に固定 set zrage [0:] z 軸の表示範囲を0~に固定 set tcslevel 0 xy 平面とz 軸の最小値表示位置の差 set hdde3d 隠線消去をする set vew 4530 視点をx 方向 45 y 方向 30 に設定 set sze 0.75 グラフの縦横比を:0.75 uset cotour 次元等高線は表示しない set surace 3 次元で等値面を表示 set pm3d カラー表示する set cbrage[0:] カラーバーの表示範囲を0~に固定 以下でファイルを読み込み 3 次元表示 splot '0.00.txt' usg ::3 wth le ttle "t=0.00s"... splot '.00.txt' usg ::3 wth le ttle "t=.00s" 773

55 guplot による結果の表示 スクリプト am_color.gpl による表示結果 774

56 guplot による結果の表示 スクリプト am_d.gpl の内容 set xrage [ 0.5:0.5] x 軸の表示範囲を 0.5~0.5に固定 set yrage [ 0.5:0.5] y 軸の表示範囲を 0.5~0.5に固定 set zrage [0:] z 軸の表示範囲を0~に固定 set vew 00 真上から見下ろす set sze グラフの縦横比を: set cotour 次元等高線を表示 uset surace 3 次元で等値面を表示しない uset pm3d カラー表示しない set ctrparam levels cremetal 00. 等高線を0からまで0. 刻みに設定以下でファイルを読み込み 3 次元表示 splot '0.00.txt' usg ::3 wth le ttle "t=0.00s"... splot '.00.txt' usg ::3 wth le ttle "t=.00s" 775

57 guplot による結果の表示 スクリプト am_d.gpl による表示結果 776

58 様々な境界条件の計算 共有メモリを利用してキャッシュを模擬 共有メモリに付加的な領域を追加 袖領域 [] _lap[] 777

59 様々な境界条件の計算 共有メモリを利用してキャッシュを模擬 共有メモリに付加的な領域を追加 [] _lap[] 778

60 様々な境界条件の計算 共有メモリを利用してキャッシュを模擬 共有メモリに付加的な領域を追加 s[][] [] _lap[] 779

61 付加的な領域 ( 袖領域 ) の取り扱い データがグローバルメモリに存在する場合は グローバルメモリから読み込み s[][] [] _lap[] 780

62 付加的な領域 ( 袖領域 ) の取り扱い グローバルメモリに無い場合は境界条件から決定 s[][] [] _lap[] 78

63 境界条件 78 階微分が 0 0 Δy y 0 Δx x u

64 境界条件 783 階微分が 0 0 Δx x 0 Δy y

65 境界条件 784 階微分を片側差分で計算 Δy y Δx x

66 GPU プログラム ( ラプラシアン kerel) #dee THREADX 6 #dee THREADY 6 #dee BLOCKX (Nx/THREADX) #dee BLOCKY (Ny/THREADY) global vod laplaca(double * double *_lap){ t ; t txty; shared loat s[+threadx+][+thready+]; = blockidx.x*blockdm.x + threadidx.x; = blockidx.y*blockdm.y + threadidx.y; tx = threadidx.x + ; ty = threadidx.y + ; = +Nx*; s[tx][ty] = []; sycthreads(); (blockidx.x == 0 && threadidx.x == 0) s[tx ][ty] = s[tx+][ty]; (blockidx.x!= 0 && threadidx.x == 0) s[tx ][ty] = [ +Nx*]; (blockidx.x == grddm.x && threadidx.x == blockdm.x ) s[tx+][ty] = s[tx ][ty]; (blockidx.x!= grddm.x && threadidx.x == blockdm.x ) s[tx+][ty] = [++Nx*]; (blockidx.y == 0 && threadidx.y == 0) s[tx][ty ] = s[tx][ty+]; (blockidx.y!= 0 && threadidx.y == 0) s[tx][ty ] = [+Nx*( )]; (blockidx.y == grddm.y && threadidx.y == blockdm.y ) s[tx][ty+] = s[tx][ty ]; (blockidx.y!= grddm.y && threadidx.y == blockdm.y ) s[tx][ty+] = [+Nx*(+)]; sycthreads(); _lap[] = (s[tx ][ty ].0*s[tx][ty]+s[tx+][ty ])/dxdx +(s[tx ][ty ].0*s[tx][ty]+s[tx ][ty+])/dydy; d.cu 785

67 GPU プログラム ( ラプラシアン kerel) shared loat s[+threadx+][+thready+]; = blockidx.x*blockdm.x + threadidx.x; = blockidx.y*blockdm.y + threadidx.y; tx = threadidx.x; ty = threadidx.y; [] = +Ny*; s[tx][ty] = []; sycthreads(); ブロック内のスレッド数 + 袖領域分の共有メモリを確保袖領域があるために添字の対応が変化 添字の対応を考えないと 必要なデータを袖領域に置いてしまう sycthreads() を呼んでスレッドを同期 共有メモリにデータが正しく書き込まれた事を保証 s[][] 786

68 GPU プログラム ( ラプラシアン kerel) shared loat s[+threadx+][+thready+]; = blockidx.x*blockdm.x + threadidx.x; = blockidx.y*blockdm.y + threadidx.y; tx = threadidx.x + ; ty = threadidx.y; [] = +Ny*; s[tx][ty] = []; sycthreads(); ブロック内のスレッド数 + 袖領域分の共有メモリを確保袖領域があるために添字の対応が変化 添字の対応を考えないと 必要なデータを袖領域に置いてしまう sycthreads() を呼んでスレッドを同期 787 共有メモリにデータが正しく書き込まれた事を保証 s[][] +

69 GPU プログラム ( ラプラシアン kerel) shared loat s[+threadx+][+thready+]; = blockidx.x*blockdm.x + threadidx.x; = blockidx.y*blockdm.y + threadidx.y; tx = threadidx.x + ; ty = threadidx.y + ; [] = +Ny*; s[tx][ty] = []; sycthreads(); ブロック内のスレッド数 + 袖領域分の共有メモリを確保袖領域があるために添字の対応が変化 添字の対応を考えないと 必要なデータを袖領域に置いてしまう sycthreads() を呼んでスレッドを同期 788 共有メモリにデータが正しく書き込まれた事を保証 s[][] + +

70 GPU プログラム ( ラプラシアン kerel) 袖領域の設定 (blockidx.x == 0 && threadidx.x == 0 ) s[tx ][ty] = s[tx+][ty]; (blockidx.x!= 0 && threadidx.x == 0 ) s[tx ][ty] = [ +Nx*]; (blockidx.x == grddm.x && threadidx.x == blockdm.x ) s[tx+][ty] = s[tx ][ty]; (blockidx.x!= grddm.x && threadidx.x == blockdm.x ) s[tx+][ty] = [++Nx*]; (blockidx.y == 0 && threadidx.y == 0 ) s[tx][ty ] = s[tx][ty+]; (blockidx.y!= 0 && threadidx.y == 0 ) s[tx][ty ] = [+Nx*( )]; (blockidx.y == grddm.y && threadidx.y == blockdm.y ) s[tx][ty+] = s[tx][ty ]; (blockidx.y!= grddm.y && threadidx.y == blockdm.y ) s[tx][ty+] = [+Nx*(+)]; sycthreads(); グローバルメモリにデータがある箇所はグローバルメモリから読み込みグローバルメモリにデータがない箇所は 階微分が0になるように袖領域の値を決定 ブロックが境界に接しているか否かで処理を切替 789

71 GPU プログラム ( ラプラシアン kerel) _lap[] = (s[tx ][ty ].0*s[tx][ty]+s[tx+][ty ])/dxdx +(s[tx ][ty ].0*s[tx][ty]+s[tx ][ty+])/dydy; 共有メモリのデータを利用してラプラシアンを計算 分岐を排除 _lap[] s[][] 790

72 GPU プログラムの評価 共有メモリを使用した d.cu d.cu( 共有メモリ不使用 ) と比較して遅い Ferm 世代以降の GPU はキャッシュを搭載 共有メモリを使っても速くならない 共有メモリへ明示的にデータを移動 余分な処理により負荷が増加 せっかくなので 文の書き方について評価 79

73 GPU プログラムの評価 分岐の書き方による実行速度の変化 ブロックとスレッドの条件を同時に記述 (blockidx.x == 0 && threadidx.x == 0 ) s[tx ][ty] = s[tx+][ty]; (blockidx.x!= 0 && threadidx.x == 0 ) s[tx ][ty] = [ +Nx*]; (blockidx.x == grddm.x && threadidx.x == blockdm.x ) s[tx+][ty] = s[tx ][ty]; (blockidx.x!= grddm.x && threadidx.x == blockdm.x ) s[tx+][ty] = [++Nx*]; (blockidx.y == 0 && threadidx.y == 0 ) s[tx][ty ] = s[tx][ty+]; (blockidx.y!= 0 && threadidx.y == 0 ) s[tx][ty ] = [+Nx*( )]; (blockidx.y == grddm.y && threadidx.y == blockdm.y ) s[tx][ty+] = s[tx][ty ]; (blockidx.y!= grddm.y && threadidx.y == blockdm.y ) s[tx][ty+] = [+Nx*(+)]; Warp 内のスレッドが分岐すると実行速度が著しく低下 GPU はブロック単位で分岐 Warp 単位で分岐しても実行速度の低下は抑えられる 上の書き方は最適ではない? ブロック単位の分岐とスレッド単位の分岐を同時に記述 79

74 GPU プログラムの評価 分岐の書き方による実行速度の変化 ブロックとスレッドの条件を分け を入れ子に (blockidx.x == 0 )(threadidx.x == 0 ) s[tx ][ty] = s[tx+][ty]; (blockidx.x!= 0 )(threadidx.x == 0 ) s[tx ][ty] = [ +Nx*]; (blockidx.x == grddm.x )(threadidx.x == blockdm.x ) s[tx+][ty] = s[tx ][ty]; (blockidx.x!= grddm.x )(threadidx.x == blockdm.x ) s[tx+][ty] = [++Nx*]; (blockidx.y == 0 )(threadidx.y == 0 ) s[tx][ty ] = s[tx][ty+]; (blockidx.y!= 0 )(threadidx.y == 0 ) s[tx][ty ] = [+Nx*( )]; (blockidx.y == grddm.y )(threadidx.y == blockdm.y ) s[tx][ty+] = s[tx][ty ]; (blockidx.y!= grddm.y )(threadidx.y == blockdm.y ) s[tx][ty+] = [+Nx*(+)]; ブロック単位で分岐した後 スレッド単位で分岐 ブロック単位での分岐による速度低下が抑えられそうな気がする ブロック単位の分岐を記述する 8 個の は 個一組 ( 同じ色の行 ) で排他的に分岐 blockidx.x==0 が成立すると blockidx!=0 は絶対に成立しない 793

75 GPU プログラムの評価 分岐の書き方による実行速度の変化 個一組の の片方を else に書き換え (blockidx.x == 0 ){(threadidx.x == 0 ) s[tx ][ty] = s[tx+][ty]; else {(threadidx.x == 0 ) s[tx ][ty] = [ +Nx*]; (blockidx.x == grddm.x ){(threadidx.x == blockdm.x ) s[tx+][ty] = s[tx ][ty]; else {(threadidx.x == blockdm.x ) s[tx+][ty] = [++Nx*]; (blockidx.y == 0 ){(threadidx.y == 0 ) s[tx][ty ] = s[tx][ty+]; else {(threadidx.y == 0 ) s[tx][ty ] = [+Nx*( )]; (blockidx.y == grddm.y ){(threadidx.y == blockdm.y ) s[tx][ty+] = s[tx][ty ]; else {(threadidx.y == blockdm.y ) s[tx][ty+] = [+Nx*(+)]; 個一組の における条件判断は 回限り 回 の条件判断を行うよりは速いような気がする 794

76 分岐の書き方の違いによる実行速度の変化 格子分割数 N x N y = ブロックあたりのスレッド数 6 6 文の書き方 ブロックとスレッドの条件を同時に記述ブロックとスレッドの条件を分け を入れ子に 個一組のの片方を elseに書き換えカーネル ( 共有メモリ不使用 ) 実行時間 [ms]

77 その他の処理の高速化 laplaca カーネルと tegrate カーネルの融合 カーネルフュージョン (kerel uso) 異なる処理を行うカーネルをまとめることでデータを再利用 グローバルメモリへの書き込み 読み出しを回避 global vod tegrate(double * double *_ew){ t ; double _lap; // ある 点のラプラシアンを計算してレジスタに保存 = blockidx.x*blockdm.x + threadidx.x; = blockidx.y*blockdm.y + threadidx.y; = +Nx*; _lap =... _ew[] = [] + dt*diff*_lap; //[]=[]+... とすると 全ての点の _lap を計算する前に を更新する可能性がある 796

78 その他の処理の高速化 値の更新 _ewのデータをにコピーしているだけ cudamemcpyで代用可能 global vod update(double * double *_ew){ t ; = blockidx.x*blockdm.x + threadidx.x; = blockidx.y*blockdm.y + threadidx.y; = +Nx*; [] = _ew[]; 797

79 その他の処理の高速化 値の更新 _ewのデータをにコピーしているだけ cudamemcpyで代用可能 or(=;<=nt;++){ tegrate<<<block Thread>>>(dev_dev ew); //update<<<block Thread>>>(dev_dev ew); cudamemcpy(dev_ dev ew Nbytes cudamemcpydevcetodevce); retur 0; 798

80 その他の処理の高速化 値の更新 ダブルバッファリング ( 第 7 回授業参照 ) でコピーを回避することも可能 double *dev_[]; t =0;out= ; cudamalloc((vod **)&dev_[ ]Nbytes); cudamalloc((vod **)&dev_[out]nbytes); t<<<block Thread>>>(dev_[(=0)] dev_[out(=)]); or(=;<=nt;++){//= tegrate<<<block Thread>>>(dev_[(=0)]dev_[out(=)]); = out; out = ; //= out=0 799

81 その他の処理の高速化 値の更新 ダブルバッファリング ( 第 7 回授業参照 ) でコピーを回避することも可能 double *dev_[]; t =0;out= ; cudamalloc((vod **)&dev_[ ]Nbytes); cudamalloc((vod **)&dev_[out]nbytes); t<<<block Thread>>>(dev_[(=0)] dev_[out(=)]); or(=;<=nt;++){//= tegrate<<<block Thread>>>(dev_[(=)]dev_[out(=0)]); = out; out = ; //=0 out= 800

82 その他の処理の高速化 値の更新 ダブルバッファリング ( 第 7 回授業参照 ) でコピーを回避することも可能 tegrate<<<block Thread>>>(dev_[(=0)]dev_[out(=)]); dev_[0] 時刻 dev_[] 時刻 + 80

83 その他の処理の高速化 値の更新 ダブルバッファリング ( 第 7 回授業参照 ) でコピーを回避することも可能 tegrate<<<block Thread>>>(dev_[(=)]dev_[out(=0)]); dev_[0] 時刻 + dev_[] 時刻 80

Microsoft PowerPoint - 先端GPGPUシミュレーション工学特論(web).pptx

Microsoft PowerPoint - 先端GPGPUシミュレーション工学特論(web).pptx 偏微分方程式の差分計算 拡散方程式 ) 長岡技術科学大学電気電子情報工学専攻出川智啓 今日の内容 シミュレーションの歴史と進歩 差分法 1 階微分 階微分に対する差分法 1 次関数の差分 次元拡散方程式 付録 共有メモリの典型的な使い方 49 先端 GPGPUシミュレーション工学特論 数値計算 計算機を利用して数学 物理学的問題の解を計算 微積分を計算機で扱える形に変換 処理自体はあまり複雑ではない

More information

Microsoft PowerPoint - 先端GPGPUシミュレーション工学特論(web).pptx

Microsoft PowerPoint - 先端GPGPUシミュレーション工学特論(web).pptx 偏微分方程式の差分計算 ( 移流方程式 ) 長岡技術科学大学電気電子情報工学専攻出川智啓 今日の内容 差分法 1 次関数の差分 共有メモリの利用 次元移流方程式 gnuplot による結果の表示 ダブルバッファリング 589 先端 GPGPUシミュレーション工学特論 数値計算 計算機を利用して数学 物理学的問題の解を計算 微積分を計算機で扱える形に変換 処理自体はあまり複雑ではない 精度を上げるために計算量が増加

More information

Microsoft PowerPoint - 先端GPGPUシミュレーション工学特論(web).pptx

Microsoft PowerPoint - 先端GPGPUシミュレーション工学特論(web).pptx 数値流体力学への応用 ( 支配方程式 CPU プログラム ) 長岡技術科学大学電気電子情報工学専攻出川智啓 今回の内容 支配方程式 Taylor Gree 渦 Cavty 流れ 798 数値流体力学 数値計算を利用して 流体の挙動を計算 Computatoal Flud Dyamcs( 略して CFD) 計算機の性能向上に伴い 必要不可欠な設計ツールとなっている 流体を取り扱う機器の性能評価 流体中を移動する物体が受ける抵抗の評価など

More information

N 体問題 長岡技術科学大学電気電子情報工学専攻出川智啓

N 体問題 長岡技術科学大学電気電子情報工学専攻出川智啓 N 体問題 長岡技術科学大学電気電子情報工学専攻出川智啓 今回の内容 天体の運動方程式 天体運動の GPU 実装 最適化による性能変化 #pragma unroll 855 計算の種類 画像処理, 差分法 空間に固定された観測点を配置 観測点 ( 固定 ) 観測点上で物理量がどのように変化するかを追跡 Euler 型 多粒子の運動 観測点を配置せず, 観測点が粒子と共に移動 Lagrange 型 観測点

More information

OpenFOAM(R) ソースコード入門 pt1 熱伝導方程式の解法から有限体積法の実装について考える 前編 : 有限体積法の基礎確認 2013/11/17 オープンCAE 富山富山県立大学中川慎二

OpenFOAM(R) ソースコード入門 pt1 熱伝導方程式の解法から有限体積法の実装について考える 前編 : 有限体積法の基礎確認 2013/11/17 オープンCAE 富山富山県立大学中川慎二 OpenFOAM(R) ソースコード入門 pt1 熱伝導方程式の解法から有限体積法の実装について考える 前編 : 有限体積法の基礎確認 2013/11/17 オープンCAE 勉強会 @ 富山富山県立大学中川慎二 * OpenFOAM のソースコードでは, 基礎式を偏微分方程式の形で記述する.OpenFOAM 内部では, 有限体積法を使ってこの微分方程式を解いている. どのようにして, 有限体積法に基づく離散化が実現されているのか,

More information

パソコンシミュレータの現状

パソコンシミュレータの現状 第 2 章微分 偏微分, 写像 豊橋技術科学大学森謙一郎 2. 連続関数と微分 工学において物理現象を支配する方程式は微分方程式で表されていることが多く, 有限要素法も微分方程式を解く数値解析法であり, 定式化においては微分 積分が一般的に用いられており. 数学の基礎知識が必要になる. 図 2. に示すように, 微分は連続な関数 f() の傾きを求めることであり, 微小な に対して傾きを表し, を無限に

More information

Microsoft Word - NumericalComputation.docx

Microsoft Word - NumericalComputation.docx 数値計算入門 武尾英哉. 離散数学と数値計算 数学的解法の中には理論計算では求められないものもある. 例えば, 定積分は, まずは積分 ( 被積分関数の原始関数をみつけること できなければ値を得ることはできない. また, ある関数の所定の値における微分値を得るには, まずその関数の微分ができなければならない. さらに代数方程式の解を得るためには, 解析的に代数方程式を解く必要がある. ところが, これらは必ずしも解析的に導けるとは限らない.

More information

計算機シミュレーション

計算機シミュレーション . 運動方程式の数値解法.. ニュートン方程式の近似速度は, 位置座標 の時間微分で, d と定義されます. これを成分で書くと, d d li li とかけます. 本来は が の極限をとらなければいけませんが, 有限の小さな値とすると 秒後の位置座標は速度を用いて, と近似できます. 同様にして, 加速度は, 速度 の時間微分で, d と定義されます. これを成分で書くと, d d li li とかけます.

More information

2014 年 10 月 2 日 本日の講義及び演習 数値シミュレーション 2014 年度第 2 回 偏微分方程式の偏微分項をコンピュータで扱えるようにする 離散化 ( 差分化 ) テイラー展開の利用 1 階微分項に対する差分式 2 階微分項に対する差分式 1 次元熱伝導方程式に適用して差分式を導出

2014 年 10 月 2 日 本日の講義及び演習 数値シミュレーション 2014 年度第 2 回 偏微分方程式の偏微分項をコンピュータで扱えるようにする 離散化 ( 差分化 ) テイラー展開の利用 1 階微分項に対する差分式 2 階微分項に対する差分式 1 次元熱伝導方程式に適用して差分式を導出 04 年 0 月 日 本日の講義及び演習 数値シミュレーション 04 年度第 回 偏微分方程式の偏微分項をコンピュータで扱えるようにする 離散化 ( 差分化 テイラー展開の利用 階微分項に対する差分式 階微分項に対する差分式 次元熱伝導方程式に適用して差分式を導出 Ecel を利用した温度変化シミュレーション 永野 ( 熱流体システム研究室 hagao@tc.ac.p 重要! 熱の伝わり方 ( 伝熱モード

More information

0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生

0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生 0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生まれ, コンピューテーショナルフォトグラフィ ( 計算フォトグラフィ ) と呼ばれている.3 次元画像認識技術の計算フォトグラフィへの応用として,

More information

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

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx GPU のメモリ階層 長岡技術科学大学電気電子情報工学専攻出川智啓 今回の内容 GPU のメモリ階層 グローバルメモリ 共有メモリ モザイク処理への適用 コンスタントメモリ 空間フィルタへの適用 577 GPU の主要部品 基盤 GPU( チップ )+ 冷却部品 画面出力端子 電源入力端子 メモリ 特性の把握が重要 電源入力端子 画面出力端子 メモリ チップ PCI Ex 端子 http://www.geforce.com/whats

More information

Slide 1

Slide 1 CUDA プログラミングの基本 パート II - カーネル CUDA の基本の概要 パート I CUDAのソフトウェアスタックとコンパイル GPUのメモリ管理 パート II カーネルの起動 GPUコードの具体像 注 : 取り上げているのは基本事項のみです そのほか多数の API 関数についてはプログラミングガイドを ご覧ください GPU 上でのコードの実行 カーネルは C 関数 + 多少の制約 ホストメモリはアクセスできない戻り値型は

More information

今後の予定 6/29 パターン形成第 11 回 7/6 データ解析第 12 回 7/13 群れ行動 ( 久保先生 ) 第 13 回 7/17 ( 金 ) 休講 7/20 まとめ第 14 回 7/27 休講?

今後の予定 6/29 パターン形成第 11 回 7/6 データ解析第 12 回 7/13 群れ行動 ( 久保先生 ) 第 13 回 7/17 ( 金 ) 休講 7/20 まとめ第 14 回 7/27 休講? 今後の予定 6/29 パターン形成第 11 回 7/6 データ解析第 12 回 7/13 群れ行動 ( 久保先生 ) 第 13 回 7/17 ( 金 ) 休講 7/20 まとめ第 14 回 7/27 休講? 数理生物学演習 第 11 回パターン形成 本日の目標 2 次元配列 分子の拡散 反応拡散モデル チューリングパタン 拡散方程式 拡散方程式 u t = D 2 u 拡散が生じる分子などの挙動を記述する.

More information

FEM原理講座 (サンプルテキスト)

FEM原理講座 (サンプルテキスト) サンプルテキスト FEM 原理講座 サイバネットシステム株式会社 8 年 月 9 日作成 サンプルテキストについて 各講師が 講義の内容が伝わりやすいページ を選びました テキストのページは必ずしも連続していません 一部を抜粋しています 幾何光学講座については 実物のテキストではなくガイダンスを掲載いたします 対象とする構造系 物理モデル 連続体 固体 弾性体 / 弾塑性体 / 粘弾性体 / 固体

More information

Microsoft PowerPoint - OS07.pptx

Microsoft PowerPoint - OS07.pptx この資料は 情報工学レクチャーシリーズ松尾啓志著 ( 森北出版株式会社 ) を用いて授業を行うために 名古屋工業大学松尾啓志 津邑公暁が作成しました 主記憶管理 主記憶管理基礎 パワーポイント 27 で最終版として保存しているため 変更はできませんが 授業でお使いなる場合は松尾 (matsuo@nitech.ac.jp) まで連絡いただければ 編集可能なバージョンをお渡しする事も可能です 復習 OS

More information

差分スキーム 物理 化学 生物現象には微分方程式でモデル化される例が多い モデルを使って現実の現象をコンピュータ上で再現することをシミュレーション ( 数値シミュレーション コンピュータシミュレーション ) と呼ぶ そのためには 微分方程式をコンピュータ上で計算できる数値スキームで近似することが必要

差分スキーム 物理 化学 生物現象には微分方程式でモデル化される例が多い モデルを使って現実の現象をコンピュータ上で再現することをシミュレーション ( 数値シミュレーション コンピュータシミュレーション ) と呼ぶ そのためには 微分方程式をコンピュータ上で計算できる数値スキームで近似することが必要 差分スキーム 物理 化学 生物現象には微分方程式でモデル化される例が多い モデルを使って現実の現象をコンピュータ上で再現することをシミュレーション ( 数値シミュレーション コンピュータシミュレーション ) と呼ぶ そのためには 微分方程式をコンピュータ上で計算できる数値スキームで近似することが必要になる その一つの方法が微分方程式を差分方程式におき直すことである 微分方程式の差分化 次の 1 次元境界値問題を考える

More information

微分方程式 モデリングとシミュレーション

微分方程式 モデリングとシミュレーション 1 微分方程式モデリングとシミュレーション 2018 年度 2 質点の運動のモデル化 粒子と粒子に働く力 粒子の運動 粒子の位置の時間変化 粒子の位置の変化の割合 速度 速度の変化の割合 加速度 力と加速度の結び付け Newtonの運動方程式 : 微分方程式 解は 時間の関数としての位置 3 Newton の運動方程式 質点の運動は Newton の運動方程式で記述される 加速度は力に比例する 2

More information

CUDA を用いた画像処理 画像処理を CUDA で並列化 基本的な並列化の考え方 目標 : 妥当な Naïve コードが書ける 最適化の初歩がわかる ブロックサイズ メモリアクセスパターン

CUDA を用いた画像処理 画像処理を CUDA で並列化 基本的な並列化の考え方 目標 : 妥当な Naïve コードが書ける 最適化の初歩がわかる ブロックサイズ メモリアクセスパターン CUDA 画像処理入門 エヌビディアジャパン CUDA エンジニア森野慎也 GTC Japan 2014 CUDA を用いた画像処理 画像処理を CUDA で並列化 基本的な並列化の考え方 目標 : 妥当な Naïve コードが書ける 最適化の初歩がわかる ブロックサイズ メモリアクセスパターン RGB Y( 輝度 ) 変換 カラー画像から グレイスケールへの変換 Y = 0.299 R + 0.587

More information

数値計算で学ぶ物理学 4 放物運動と惑星運動 地上のように下向きに重力がはたらいているような場においては 物体を投げると放物運動をする 一方 中心星のまわりの重力場中では 惑星は 円 だ円 放物線または双曲線を描きながら運動する ここでは 放物運動と惑星運動を 運動方程式を導出したうえで 数値シミュ

数値計算で学ぶ物理学 4 放物運動と惑星運動 地上のように下向きに重力がはたらいているような場においては 物体を投げると放物運動をする 一方 中心星のまわりの重力場中では 惑星は 円 だ円 放物線または双曲線を描きながら運動する ここでは 放物運動と惑星運動を 運動方程式を導出したうえで 数値シミュ 数値計算で学ぶ物理学 4 放物運動と惑星運動 地上のように下向きに重力がはたらいているような場においては 物体を投げると放物運動をする 一方 中心星のまわりの重力場中では 惑星は 円 だ円 放物線または双曲線を描きながら運動する ここでは 放物運動と惑星運動を 運動方程式を導出したうえで 数値シミュレーションによって計算してみる 4.1 放物運動一様な重力場における放物運動を考える 一般に質量の物体に作用する力をとすると運動方程式は

More information

スライド 1

スライド 1 知能制御システム学 画像処理の高速化 OpenCV による基礎的な例 東北大学大学院情報科学研究科鏡慎吾 swk(at)ic.is.tohoku.ac.jp 2007.07.03 リアルタイム処理と高速化 リアルタイム = 高速 ではない 目標となる時間制約が定められているのがリアルタイム処理である.34 ms かかった処理が 33 ms に縮んだだけでも, それによって与えられた時間制約が満たされるのであれば,

More information

微分方程式による現象記述と解きかた

微分方程式による現象記述と解きかた 微分方程式による現象記述と解きかた 土木工学 : 公共諸施設 構造物の有用目的にむけた合理的な実現をはかる方法 ( 技術 ) に関する学 橋梁 トンネル ダム 道路 港湾 治水利水施設 安全化 利便化 快適化 合法則的 経済的 自然および人口素材によって作られた 質量保存則 構造物の自然的な性質 作用 ( 外力による応答 ) エネルギー則 の解明 社会的諸現象のうち マスとしての移動 流通 運動量則

More information

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ 4 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プログラミング技術 工業 333 実教出版 ) 共通 : 科目 プログラミング技術 のオリエンテーション プログラミング技術は

More information

偏微分方程式、連立1次方程式、乱数

偏微分方程式、連立1次方程式、乱数 数値計算法 011/6/8 林田清 大阪大学大学院理学研究科 常微分方程式の応用例 1 Rutherford 散乱 ( 原子核同士の散乱 ; 金の薄膜に α 粒子をあてる ) 1 クーロン力 f= 4 0 r r r Ze y からf cos, si f f f y f f 粒子の 方向 y方向の速度と座標について dv Ze dvy Ze y, 3 3 dt 40m r dt 40m r d dy

More information

Microsoft PowerPoint - 夏の学校(CFD).pptx

Microsoft PowerPoint - 夏の学校(CFD).pptx /9/5 FD( 計算流体力学 ) の基礎理論 性能 運動分野 夏の学校 神戸大学大学院海事科学研究科勝井辰博 流体の質量保存 流体要素内の質量の増加率 [ 単位時間当たりの増加量 ] 単位時間に流体要素に流入する質量 流体要素 Fl lm (orol olm) v ( ) ガウスの定理 v( ) /9/5 = =( ) b=b =(b b b ) b= b = b + b + b アインシュタイン表記

More information

PowerPoint Presentation

PowerPoint Presentation 応用数学 Ⅱ (7) 7 連立微分方程式の立て方と解法. 高階微分方程式による解法. ベクトル微分方程式による解法 3. 演算子による解法 連立微分方程式 未知数が複数個あり, 未知数の数だけ微分方程式が与えられている場合, これらを連立微分方程式という. d d 解法 () 高階微分方程式化による解法 つの方程式から つの未知数を消去して, 未知数が つの方程式に変換 のみの方程式にするために,

More information

3 数値解の特性 3.1 CFL 条件 を 前の章では 波動方程式 f x= x0 = f x= x0 t f c x f =0 [1] c f 0 x= x 0 x 0 f x= x0 x 2 x 2 t [2] のように差分化して数値解を求めた ここでは このようにして得られた数値解の性質を 考

3 数値解の特性 3.1 CFL 条件 を 前の章では 波動方程式 f x= x0 = f x= x0 t f c x f =0 [1] c f 0 x= x 0 x 0 f x= x0 x 2 x 2 t [2] のように差分化して数値解を求めた ここでは このようにして得られた数値解の性質を 考 3 数値解の特性 3.1 CFL 条件 を 前の章では 波動方程式 f x= x = f x= x t f c x f = [1] c f x= x f x= x 2 2 t [2] のように差分化して数値解を求めた ここでは このようにして得られた数値解の性質を 考える まず 初期時刻 t=t に f =R f exp [ik x ] [3] のような波動を与えたとき どのように時間変化するか調べる

More information

Chap2.key

Chap2.key . f( ) V (V V ) V e + V e V V V V ( ) V V ( ) E. - () V (0 ) () V (0 ) () V (0 ) (4) V ( ) E. - () V (0 ) () V (0 ) O r θ ( ) ( ) : (r θ) : { r cos θ r sn θ { r + () V (0 ) (4) V ( ) θ θ arg( ) : π π

More information

モデリングとは

モデリングとは コンピュータグラフィックス基礎 第 5 回曲線 曲面の表現 ベジェ曲線 金森由博 学習の目標 滑らかな曲線を扱う方法を学習する パラメトリック曲線について理解する 広く一般的に使われているベジェ曲線を理解する 制御点を入力することで ベジェ曲線を描画するアプリケーションの開発を行えるようになる C++ 言語の便利な機能を使えるようになる 要素数が可変な配列としての std::vector の活用 計算機による曲線の表現

More information

vecrot

vecrot 1. ベクトル ベクトル : 方向を持つ量 ベクトルには 1 方向 2 大きさ ( 長さ ) という 2 つの属性がある ベクトルの例 : 物体の移動速度 移動量電場 磁場の強さ風速力トルクなど 2. ベクトルの表現 2.1 矢印で表現される 矢印の長さ : ベクトルの大きさ 矢印の向き : ベクトルの方向 2.2 2 個の点を用いて表現する 始点 () と終点 () を結ぶ半直線の向き : ベクトルの方向

More information

슬라이드 1

슬라이드 1 SoilWorks for FLIP 主な機能特徴 1 / 13 SoilWorks for FLIP Pre-Processing 1. CADのような形状作成 修正機能 AutoCAD感覚の使いやすいモデリングや修正機能 1 CADで形状をレイヤー整理したりDXFに変換しなくても Ctrl+C でコピーしてSoilWorks上で Ctrl+V で読込む 2. AutoCAD同様のコマンドキー入力による形状作成

More information

Microsoft PowerPoint - シミュレーション工学-2010-第1回.ppt

Microsoft PowerPoint - シミュレーション工学-2010-第1回.ppt シミュレーション工学 ( 後半 ) 東京大学人工物工学研究センター 鈴木克幸 CA( Compter Aded geerg ) r. Jaso Lemo (SC, 98) 設計者が解析ツールを使いこなすことにより 設計の評価 設計の質の向上を図る geerg の本質の 計算機による支援 (CA CAM などより広い名前 ) 様々な汎用ソフトの登場 工業製品の設計に不可欠のツール 構造解析 流体解析

More information

1/12 平成 29 年 3 月 24 日午後 1 時 1 分第 3 章測地線 第 3 章測地線 Ⅰ. 変分法と運動方程式最小作用の原理に基づくラグランジュの方法により 重力場中の粒子の運動方程式が求められる これは 力が未知の時に有効な方法であり 今のような 一般相対性理論における力を求めるのに使

1/12 平成 29 年 3 月 24 日午後 1 時 1 分第 3 章測地線 第 3 章測地線 Ⅰ. 変分法と運動方程式最小作用の原理に基づくラグランジュの方法により 重力場中の粒子の運動方程式が求められる これは 力が未知の時に有効な方法であり 今のような 一般相対性理論における力を求めるのに使 / 平成 9 年 3 月 4 日午後 時 分第 3 章測地線 第 3 章測地線 Ⅰ. 変分法と運動方程式最小作用の原理に基づくラグランジュの方法により 重力場中の粒子の運動方程式が求められる これは 力が未知の時に有効な方法であり 今のような 一般相対性理論における力を求めるのに使う事ができる 最小作用の原理 : 粒子が時刻 から の間に移動したとき 位置 と速度 v = するのが ラグランジュ関数

More information

シミュレーション物理4

シミュレーション物理4 シミュレーション物理 4 運動方程式の方法 運動方程式 物理で最もよく出てくる そもそも物理はものの運動を議論する学問から出発 ( つり合いは運動を行わないという意味で含まれる ) 代表例 ニュートンの運動方程式 波動方程式 シュレーディンガー方程式 運動方程式 ( 微分方程式の解法 ) 高次の微分方程式を 1 階微分方程式に変形 N 変数の 階微分方程式 N 変数の 1 階微分方程式 dy/dt=f(t,y)

More information

数学 Ⅲ 微分法の応用 大学入試問題 ( 教科書程度 ) 1 問 1 (1) 次の各問に答えよ (ⅰ) 極限 を求めよ 年会津大学 ( 前期 ) (ⅱ) 極限値 を求めよ 年愛媛大学 ( 前期 ) (ⅲ) 無限等比級数 が収束するような実数 の範囲と そのときの和を求めよ 年広島市立大学 ( 前期

数学 Ⅲ 微分法の応用 大学入試問題 ( 教科書程度 ) 1 問 1 (1) 次の各問に答えよ (ⅰ) 極限 を求めよ 年会津大学 ( 前期 ) (ⅱ) 極限値 を求めよ 年愛媛大学 ( 前期 ) (ⅲ) 無限等比級数 が収束するような実数 の範囲と そのときの和を求めよ 年広島市立大学 ( 前期 数学 Ⅲ 微分法の応用 大学入試問題 ( 教科書程度 )1 問 1 (1) 次の各問に答えよ (ⅰ) 極限 を求めよ 年会津大学 ( 前期 ) (ⅱ) 極限値 を求めよ 年愛媛大学 ( 前期 ) (ⅲ) 無限等比級数 が収束するような実数 の範囲と そのときの和を求めよ 年広島市立大学 ( 前期 ) (2) 次の関数を微分せよ (ⅰ) を正の定数とする (ⅱ) (ⅳ) (ⅵ) ( 解答 )(1) 年群馬大学

More information

Laplace2.rtf

Laplace2.rtf =0 ラプラスの方程式は 階の微分方程式で, 一般的に3つの座標変数をもつ. ここでは, 直角座標系, 円筒座標系, 球座標系におけるラプラスの方程式の解き方を説明しよう. 座標変数ごとに方程式を分離し, それを解いていく方法は変数分離法と呼ばれる. 変数分離解と固有関数展開法. 直角座標系における 3 次元の偏微分方程式 = x + y + z =0 (.) を解くために,x, y, z について互いに独立な関数の積で成り立っていると考え,

More information

enshu5_6.key

enshu5_6.key 情報知能工学演習V (前半第6週) 政田洋平 システム情報学研究科計算科学専攻 TA : 菅 新 菅沼智史 水曜 新行紗弓 馬淵隼 木曜 演習 V( 前半 ) の内容 第 1 週 : 高性能計算 (High Performance Computing = HPC) 向けプログラミングの基礎 第 2 週 : シミュレーションの基礎 第 3 週 : 波の移流方程式のシミュレーション 第 4,5 週 :

More information

スライド 1

スライド 1 暫定版修正 加筆の可能性あり ( 付録 球面波 回折 (. グリーンの定理. キルヒホッフの積分定理 3. ホイヘンスの原理 4. キルヒホッフの回折公式 5. ゾンマーフェルトの放射条件 6. 補足 付録 (90~904 のアプローチ : 回折 (diffaction までの道標. 球面波 (pheical wave のみ対象 : スカラー表示. 虚数単位 i を使用する 3. お詫び : 自己流かつ説明が飛躍する場面があります

More information

板バネの元は固定にします x[0] は常に0です : > x[0]:=t->0; (1.2) 初期値の設定をします 以降 for 文処理のため 空集合を生成しておきます : > init:={}: 30 番目 ( 端 ) 以外については 初期高さおよび初速は全て 0 にします 初期高さを x[j]

板バネの元は固定にします x[0] は常に0です : > x[0]:=t->0; (1.2) 初期値の設定をします 以降 for 文処理のため 空集合を生成しておきます : > init:={}: 30 番目 ( 端 ) 以外については 初期高さおよび初速は全て 0 にします 初期高さを x[j] 機械振動論固有振動と振動モード 本事例では 板バネを解析対象として 数値計算 ( シミュレーション ) と固有値問題を解くことにより振動解析を行っています 実際の振動は振動モードと呼ばれる特定パターンが複数組み合わされますが 各振動モードによる振動に分けて解析を行うことでその現象を捉え易くすることが出来ます そこで 本事例では アニメーションを活用した解析結果の可視化も取り入れています 板バネの振動

More information

2018年度 2次数学セレクション(微分と積分)

2018年度 2次数学セレクション(微分と積分) 08 次数学セレクション問題 [ 東京大 ] > 0 とし, f = x - x とおく () x で f ( x ) が単調に増加するための, についての条件を求めよ () 次の 条件を満たす点 (, b) の動きうる範囲を求め, 座標平面上に図示せよ 条件 : 方程式 f = bは相異なる 実数解をもつ 条件 : さらに, 方程式 f = bの解を < < とすると > である -- 08 次数学セレクション問題

More information

線積分.indd

線積分.indd 線積分 線積分 ( n, n, n ) (ξ n, η n, ζ n ) ( n-, n-, n- ) (ξ k, η k, ζ k ) ( k, k, k ) ( k-, k-, k- ) 物体に力 を作用させて位置ベクトル A の点 A から位置ベクトル の点 まで曲線 に沿って物体を移動させたときの仕事 W は 次式で計算された A, A, W : d 6 d+ d+ d@,,, d+ d+

More information

解析力学B - 第11回: 正準変換

解析力学B - 第11回: 正準変換 解析力学 B 第 11 回 : 正準変換 神戸大 : 陰山聡 ホームページ ( 第 6 回から今回までの講義ノート ) http://tinyurl.com/kage2010 2011.01.27 正準変換 バネ問題 ( あえて下手に座標をとった ) ハミルトニアンを考える q 正準方程式は H = p2 2m + k 2 (q l 0) 2 q = H p = p m ṗ = H q = k(q

More information

Microsoft Word - 1B2011.doc

Microsoft Word - 1B2011.doc 第 14 回モールの定理 ( 単純梁の場合 ) ( モールの定理とは何か?p.11) 例題 下記に示す単純梁の C 点のたわみ角 θ C と, たわみ δ C を求めよ ただし, 部材の曲げ 剛性は材軸に沿って一様で とする C D kn B 1.5m 0.5m 1.0m 解答 1 曲げモーメント図を描く,B 点の反力を求める kn kn 4 kn 曲げモーメント図を描く knm 先に得られた曲げモーメントの値を

More information

相対性理論入門 1 Lorentz 変換 光がどのような座標系に対しても同一の速さ c で進むことから導かれる座標の一次変換である. (x, y, z, t ) の座標系が (x, y, z, t) の座標系に対して x 軸方向に w の速度で進んでいる場合, 座標系が一次変換で関係づけられるとする

相対性理論入門 1 Lorentz 変換 光がどのような座標系に対しても同一の速さ c で進むことから導かれる座標の一次変換である. (x, y, z, t ) の座標系が (x, y, z, t) の座標系に対して x 軸方向に w の速度で進んでいる場合, 座標系が一次変換で関係づけられるとする 相対性理論入門 Lorentz 変換 光がどのような座標系に対しても同一の速さ で進むことから導かれる座標の一次変換である. x, y, z, t ) の座標系が x, y, z, t) の座標系に対して x 軸方向に w の速度で進んでいる場合, 座標系が一次変換で関係づけられるとすると, x A x wt) y y z z t Bx + Dt 弨弱弩弨弲弩弨弳弩弨弴弩 が成立する. 図 : 相対速度

More information

DVIOUT-SS_Ma

DVIOUT-SS_Ma 第 章 微分方程式 ニュートンはリンゴが落ちるのを見て万有引力を発見した という有名な逸話があります 無重力の宇宙船の中ではリンゴは落ちないで静止していることを考えると 重力が働くと始め静止しているものが動き出して そのスピードはどんどん大きくなる つまり速度の変化が現れることがわかります 速度は一般に時間と共に変化します 速度の瞬間的変化の割合を加速度といい で定義しましょう 速度が変化する, つまり加速度がでなくなるためにはその原因があり

More information

耳桁の剛性の考慮分配係数の計算条件は 主桁本数 n 格子剛度 zです 通常の並列鋼桁橋では 主桁はすべて同じ断面を使います しかし 分配の効率を上げる場合 耳桁 ( 幅員端側の桁 ) の断面を大きくすることがあります 最近の桁橋では 上下線を別橋梁とすることがあり また 防音壁などの敷設が片側に有る

耳桁の剛性の考慮分配係数の計算条件は 主桁本数 n 格子剛度 zです 通常の並列鋼桁橋では 主桁はすべて同じ断面を使います しかし 分配の効率を上げる場合 耳桁 ( 幅員端側の桁 ) の断面を大きくすることがあります 最近の桁橋では 上下線を別橋梁とすることがあり また 防音壁などの敷設が片側に有る 格子桁の分配係数の計算 ( デモ版 ) 理論と解析の背景主桁を並列した鋼単純桁の設計では 幅員方向の横桁の剛性を考えて 複数の主桁が協力して活荷重を分担する効果を計算します これを 単純な (1,0) 分配に対して格子分配と言います レオンハルト (F.Leonhardt,1909-1999) が 1950 年初頭に発表した論文が元になっていて 理論仮定 記号などの使い方は その論文を踏襲して設計に応用しています

More information

Microsoft PowerPoint - H22制御工学I-2回.ppt

Microsoft PowerPoint - H22制御工学I-2回.ppt 制御工学 I 第二回ラプラス変換 平成 年 4 月 9 日 /4/9 授業の予定 制御工学概論 ( 回 ) 制御技術は現在様々な工学分野において重要な基本技術となっている 工学における制御工学の位置づけと歴史について説明する さらに 制御システムの基本構成と種類を紹介する ラプラス変換 ( 回 ) 制御工学 特に古典制御ではラプラス変換が重要な役割を果たしている ラプラス変換と逆ラプラス変換の定義を紹介し

More information

Microsoft Word - 中村工大連携教材(最終 ).doc

Microsoft Word - 中村工大連携教材(最終 ).doc 音速について考えてみよう! 金沢工業大学 中村晃 ねらい 私たちの身の回りにはいろいろな種類の波が存在する. 体感できる波もあれば, できない波もある. その中で音は体感できる最も身近な波である. 遠くで雷が光ってから雷鳴が届くまで数秒間時間がかかることにより, 音の方が光より伝わるのに時間がかかることも経験していると思う. 高校の物理の授業で音の伝わる速さ ( 音速 ) は約 m/s で, 詳しく述べると

More information

Microsoft PowerPoint - ip02_01.ppt [互換モード]

Microsoft PowerPoint - ip02_01.ppt [互換モード] 空間周波数 周波数領域での処理 空間周波数 (spatial frquncy) とは 単位長さ当たりの正弦波状の濃淡変化の繰り返し回数を表したもの 正弦波 : y sin( t) 周期 : 周波数 : T f / T 角周波数 : f 画像処理 空間周波数 周波数領域での処理 波形が違うと 周波数も違う 画像処理 空間周波数 周波数領域での処理 画像処理 3 周波数領域での処理 周波数は一つしかない?-

More information

Autodesk Inventor Skill Builders Autodesk Inventor 2010 構造解析の精度改良 メッシュリファインメントによる収束計算 予想作業時間:15 分 対象のバージョン:Inventor 2010 もしくはそれ以降のバージョン シミュレーションを設定する際

Autodesk Inventor Skill Builders Autodesk Inventor 2010 構造解析の精度改良 メッシュリファインメントによる収束計算 予想作業時間:15 分 対象のバージョン:Inventor 2010 もしくはそれ以降のバージョン シミュレーションを設定する際 Autodesk Inventor Skill Builders Autodesk Inventor 2010 構造解析の精度改良 メッシュリファインメントによる収束計算 予想作業時間:15 分 対象のバージョン:Inventor 2010 もしくはそれ以降のバージョン シミュレーションを設定する際に 収束判定に関するデフォルトの設定をそのまま使うか 修正をします 応力解析ソルバーでは計算の終了を判断するときにこの設定を使います

More information

コンピュータグラフィックス第8回

コンピュータグラフィックス第8回 コンピュータグラフィックス 第 8 回 レンダリング技法 1 ~ 基礎と概要, 隠面消去 ~ 理工学部 兼任講師藤堂英樹 レポート提出状況 課題 1 の選択が多い (STAND BY ME ドラえもん ) 体験演習型 ( 課題 3, 課題 4) の選択も多い 内訳 課題 1 課題 2 課題 3 課題 4 課題 5 2014/11/24 コンピュータグラフィックス 2 次回レポートの体験演習型 メタセコイア,

More information

Microsoft PowerPoint - mp11-02.pptx

Microsoft PowerPoint - mp11-02.pptx 数理計画法第 2 回 塩浦昭義情報科学研究科准教授 shioura@dais.is.tohoku.ac.jp http://www.dais.is.tohoku.ac.jp/~shioura/teaching 前回の復習 数理計画とは? 数理計画 ( 復習 ) 数理計画問題とは? 狭義には : 数理 ( 数学 ) を使って計画を立てるための問題 広義には : 与えられた評価尺度に関して最も良い解を求める問題

More information

Microsoft PowerPoint - Lec17 [互換モード]

Microsoft PowerPoint - Lec17 [互換モード] 情報デザイン専攻 画像情報処理論及び演習 - フィルタ処理 エッジ強調 - 差分法 変分法と平滑化 エッジ S Yoszw: s@re.p 今日の授業内容 www.re.p/rc/yoszw/ecres/e.ml www.re.p/rc/yoszw/ecres/ec7.p. 勾配とエッジの基礎 : 差分法.. plcと拡散方程式の基礎 : 変分法. 第 6 回講義水曜日 限教室 68 吉澤信 s@re.p

More information

Microsoft PowerPoint - H21生物計算化学2.ppt

Microsoft PowerPoint - H21生物計算化学2.ppt 演算子の行列表現 > L いま 次元ベクトル空間の基底をケットと書くことにする この基底は完全系を成すとすると 空間内の任意のケットベクトルは > > > これより 一度基底を与えてしまえば 任意のベクトルはその基底についての成分で完全に記述することができる これらの成分を列行列の形に書くと M これをベクトル の基底 { >} による行列表現という ところで 行列 A の共役 dont 行列は A

More information

最小二乗フィット、カイ二乗フィット、gnuplot

最小二乗フィット、カイ二乗フィット、gnuplot 数値計算法 009 5/7 林田清 ( 大阪大学大学院理学研究科 ) 最尤法 (Maxmum Lkelhood Method) 回の ( 独立な ) 測定 xで, x,..., x 1 母集団が平均値 μgauss) 標準偏差 の正規 ( 分布の場合 1 回の測定で xから( xの間の値を観測する確率は + dx) dq = Pdx 1 1 x µ P exp π µ は不可知 推定値をとする µ

More information

C言語による数値計算プログラミング演習

C言語による数値計算プログラミング演習 6. 関数近似 : 補間と補外 6. ラグランジュ補間法 互いに異なる点 x,x,,x とそれらの点における関数値 f(x ),f(x ),,f(x ) が与えられているとする これらの 点を補間するたかだか - 次の補間多項式 F (x) は, ラグランジュ基底関数 L k (-) (x) を用いて ( ) () F( x) = f( xk) Lk ( x) k= L ( x ) = と書ける これは,

More information

テンソル ( その ) テンソル ( その ) スカラー ( 階のテンソル ) スカラー ( 階のテンソル ) 階数 ベクトル ( 階のテンソル ) ベクトル ( 階のテンソル ) 行列表現 シンボリック表現 [ ]

テンソル ( その ) テンソル ( その ) スカラー ( 階のテンソル ) スカラー ( 階のテンソル ) 階数 ベクトル ( 階のテンソル ) ベクトル ( 階のテンソル ) 行列表現 シンボリック表現 [ ] Tsor th-ordr tsor by dcl xprsso m m Lm m k m k L mk kk quott rul by symbolc xprsso Lk X thrd-ordr tsor cotrcto j j Copyrght s rsrvd. No prt of ths documt my b rproducd for proft. テンソル ( その ) テンソル ( その

More information

PowerPoint Presentation

PowerPoint Presentation 付録 2 2 次元アフィン変換 直交変換 たたみ込み 1.2 次元のアフィン変換 座標 (x,y ) を (x,y) に移すことを 2 次元での変換. 特に, 変換が と書けるとき, アフィン変換, アフィン変換は, その 1 次の項による変換 と 0 次の項による変換 アフィン変換 0 次の項は平行移動 1 次の項は座標 (x, y ) をベクトルと考えて とすれば このようなもの 2 次元ベクトルの線形写像

More information

ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014

ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014 ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014 コンカレントな処理の実行 システム内部の複数の処理を 平行に実行する CPU GPU メモリ転送 カーネル実行 複数のカーネル間 ストリーム GPU 上の処理キュー カーネル実行 メモリ転送の並列性 実行順序 DEFAULT STREAM Stream : GPU

More information

第2回シミュレーションスクール - 第2日: 熱拡散方程式のプログラムをつくろう

第2回シミュレーションスクール - 第2日: 熱拡散方程式のプログラムをつくろう 第 2 回シミュレーションスクール 第 2 日 : 熱拡散方程式のプログラムをつくろう陰山聡 政田洋平 神戸大学大学院システム情報学研究科計算科学専攻 2010.12.07 具体的な例題を一つに絞る 2 次元熱伝導問題 実習中心 各自自分のコードを 1 から作る そのコードを少しづつ改良していく 最後は並列化されたコードをスーパーコンピュータに 初歩から ゆっくり 丁寧に 網羅的な紹介よりも 基礎的な手法と考え方の習得を

More information

Phys1_03.key

Phys1_03.key 物理学1/物理学A 第3回 速度と加速度 速度 加速度 関数の話 やりたいこと : 物体の運動を調べる 物体の位置と速度を調べる これらを時間の関数として表したい 関数とは? ある された変数に対して, 出 の値が決まる対応関係のこと inpu 関数 ( 函数 ) oupu 例 : y(x)=x 2 x=2 を inpu すると y=4 が得られる 時々刻々と変化していく物体の位置 をその時刻とともに記録する

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 反応工学 Raction Enginring 講義時間 ( 場所 : 火曜 限 (8-A 木曜 限 (S-A 担当 : 山村 火 限 8-A 期末試験中間試験以降 /7( 木 まで持ち込みなし要電卓 /4( 木 質問受付日講義なし 授業アンケート (li campus の入力をお願いします 晶析 (crystallization ( 教科書 p. 濃度 溶解度曲線 C C s A 安定 液 ( 気

More information

1. GPU コンピューティング GPU コンピューティング GPUによる 汎用コンピューティング GPU = Graphics Processing Unit CUDA Compute Unified Device Architecture NVIDIA の GPU コンピューティング環境 Lin

1. GPU コンピューティング GPU コンピューティング GPUによる 汎用コンピューティング GPU = Graphics Processing Unit CUDA Compute Unified Device Architecture NVIDIA の GPU コンピューティング環境 Lin Windows で始める CUDA 入門 GTC 2013 チュートリアル エヌビディアジャパン CUDA エンジニア森野慎也 1. GPU コンピューティング GPU コンピューティング GPUによる 汎用コンピューティング GPU = Graphics Processing Unit CUDA Compute Unified Device Architecture NVIDIA の GPU コンピューティング環境

More information

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments 計算機アーキテクチャ第 11 回 マルチプロセッサ 本資料は授業用です 無断で転載することを禁じます 名古屋大学 大学院情報科学研究科 准教授加藤真平 デスクトップ ジョブレベル並列性 スーパーコンピュータ 並列処理プログラム プログラムの並列化 for (i = 0; i < N; i++) { x[i] = a[i] + b[i]; } プログラムの並列化 x[0] = a[0] + b[0];

More information

平成 年 月 7 日 ( 土 第 75 回数学教育実践研究会アスティ 45 ビル F セミナールーム A 札幌医科大学 年 P ab, を正の定数とする 平面上において ( a, を中心とする円 Q 4 C と (, b を中心とする円 C が 原点 O で外接している また P を円 C 上の点と

平成 年 月 7 日 ( 土 第 75 回数学教育実践研究会アスティ 45 ビル F セミナールーム A 札幌医科大学 年 P ab, を正の定数とする 平面上において ( a, を中心とする円 Q 4 C と (, b を中心とする円 C が 原点 O で外接している また P を円 C 上の点と 平成 年 月 7 日 ( 土 第 75 回数学教育実践研究会アスティ 45 ビル F セミナールーム 微分積分の拡張 変数関数問題へのアプローチ 予選決勝優勝法からラグランジュ未定乗数法 松本睦郎 ( 札幌北高等学校 変数関数の最大値 最小値に関する問題には多様なアプローチ法がある 文字を固定した 予選決勝優勝法, 計算のみで解法する 文字消去法, 微分積分を利用した ラグランジュ未定乗数法 がある

More information

応用数学Ⅱ 偏微分方程式(2) 波動方程式(12/13)

応用数学Ⅱ 偏微分方程式(2) 波動方程式(12/13) 偏微分方程式. 偏微分方程式の形 偏微分 偏導関数 つの独立変数 をもつ関数 があるとき 変数 が一定値をとって だけが変化したとす ると は だけの関数となる このとき を について微分して得られる関数を 関数 の に関する 偏微分係数 略して偏微分 あるいは偏導関数 pil deiie といい 次のように表される についても同様な偏微分を定義できる あるいは あるいは - あるいは あるいは -

More information

数 IB( 植松 ) 2006 年夏学期解答 ( 兼ノート ) (2007 年のは課題プリでやってしまったので ) 1 (a) 補完公式を使う問題です 補完公式とは n+1 個の点を通る n 次の多項式を求める公式のことです 例 n=3 x y y0 y1 y2 y3 このデータを補

数 IB( 植松 ) 2006 年夏学期解答 ( 兼ノート ) (2007 年のは課題プリでやってしまったので ) 1 (a) 補完公式を使う問題です 補完公式とは n+1 個の点を通る n 次の多項式を求める公式のことです 例 n=3 x y y0 y1 y2 y3 このデータを補 数 IB( 植松 ) 26 年夏学期解答 ( 兼ノート ) (27 年のは課題プリでやってしまったので ) (a) 補完公式を使う問題です 補完公式とは n+ 個の点を通る n 次の多項式を求める公式のことです 例 n=3 x 2 3 y y y y2 y3 このデータを補完して得られる多項式を y=ax 3 +Bx 2 +Cx+D と置きます データより y = D y = A + B + C +

More information

2014計算機実験1_1

2014計算機実験1_1 H26 1 1 1 seto@ics.nara-wu.ac.jp 数学モデリングのプロセス 問題点の抽出 定義 仮定 数式化 万有引力の法則 m すべての物体は引き合う r mm F =G 2 r M モデルの検証 モデルによる 説明 将来予測 解釈 F: 万有引力 (kg m s-2) G: 万有引力定数 (m s kg ) 解析 数値計算 M: 地球の質量 (kg) により解を得る m: 落下する物質の質量

More information

Microsoft PowerPoint - CSA_B3_EX2.pptx

Microsoft PowerPoint - CSA_B3_EX2.pptx Computer Science A Hardware Design Excise 2 Handout V2.01 May 27 th.,2019 CSAHW Computer Science A, Meiji University CSA_B3_EX2.pptx 32 Slides Renji Mikami 1 CSAHW2 ハード演習内容 2.1 二次元空間でのベクトルの直交 2.2 Reserved

More information

2008 年度下期未踏 IT 人材発掘 育成事業採択案件評価書 1. 担当 PM 田中二郎 PM ( 筑波大学大学院システム情報工学研究科教授 ) 2. 採択者氏名チーフクリエータ : 矢口裕明 ( 東京大学大学院情報理工学系研究科創造情報学専攻博士課程三年次学生 ) コクリエータ : なし 3.

2008 年度下期未踏 IT 人材発掘 育成事業採択案件評価書 1. 担当 PM 田中二郎 PM ( 筑波大学大学院システム情報工学研究科教授 ) 2. 採択者氏名チーフクリエータ : 矢口裕明 ( 東京大学大学院情報理工学系研究科創造情報学専攻博士課程三年次学生 ) コクリエータ : なし 3. 2008 年度下期未踏 IT 人材発掘 育成事業採択案件評価書 1. 担当 PM 田中二郎 PM ( 筑波大学大学院システム情報工学研究科教授 ) 2. 採択者氏名チーフクリエータ : 矢口裕明 ( 東京大学大学院情報理工学系研究科創造情報学専攻博士課程三年次学生 ) コクリエータ : なし 3. プロジェクト管理組織 株式会社オープンテクノロジーズ 4. 委託金支払額 3,000,000 円 5.

More information

データ解析

データ解析 データ解析 ( 前期 ) 最小二乗法 向井厚志 005 年度テキスト 0 データ解析 - 最小二乗法 - 目次 第 回 Σ の計算 第 回ヒストグラム 第 3 回平均と標準偏差 6 第 回誤差の伝播 8 第 5 回正規分布 0 第 6 回最尤性原理 第 7 回正規分布の 分布の幅 第 8 回最小二乗法 6 第 9 回最小二乗法の練習 8 第 0 回最小二乗法の推定誤差 0 第 回推定誤差の計算 第

More information

Microsoft PowerPoint - NA03-09black.ppt

Microsoft PowerPoint - NA03-09black.ppt きょうの講義 数値 記号処理 2003.2.6 櫻井彰人 NumSymbol@soft.ae.keo.ac.jp http://www.sakura.comp.ae.keo.ac.jp/ 数値計算手法の定石 多項式近似 ( 復習 )» 誤差と手間の解析も 漸化式» 非線型方程式の求解 数値演算上の誤差 数値計算上の誤差 打ち切り誤差 (truncaton error)» 使う公式を有限項で打ち切る

More information

GPU 画像 動画処理用ハードウェア 低性能なプロセッサがたくさん詰まっている ピーク性能が非常に高い GPUを数値計算に用いるのがGPGPU Graphics Processing Unit General Purpose GPU TSUBAME2.0: GPUスパコン 本演習ではNVIDIA社の

GPU 画像 動画処理用ハードウェア 低性能なプロセッサがたくさん詰まっている ピーク性能が非常に高い GPUを数値計算に用いるのがGPGPU Graphics Processing Unit General Purpose GPU TSUBAME2.0: GPUスパコン 本演習ではNVIDIA社の 演習II (連続系アルゴリズム) 第2回: GPGPU 須田研究室 M1 本谷 徹 motoya@is.s.u-tokyo.ac.jp 2012/10/19 GPU 画像 動画処理用ハードウェア 低性能なプロセッサがたくさん詰まっている ピーク性能が非常に高い GPUを数値計算に用いるのがGPGPU Graphics Processing Unit General Purpose GPU TSUBAME2.0:

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 空間フィルタリング (spatal lterng) 入力画像の対応する画素値だけではなく その周囲 ( 近傍領域 ) の画素も含めた領域内の画素値を用いて 出力画像の対応する画素値を計算する処理 入力画像出力画像入力画像出力画像 画素ごとの濃淡変換 ( 階調処理 ) 領域に基づく濃淡変換 ( 空間フィルタリング ) 空間フィルタ (spatal lter) 線形フィルタ (lnear lter) w

More information

ボルツマンマシンの高速化

ボルツマンマシンの高速化 1. はじめに ボルツマン学習と平均場近似 山梨大学工学部宗久研究室 G04MK016 鳥居圭太 ボルツマンマシンは学習可能な相互結合型ネットワー クの代表的なものである. ボルツマンマシンには, 学習のための統計平均を取る必要があり, 結果を求めるまでに長い時間がかかってしまうという欠点がある. そこで, 学習の高速化のために, 統計を取る2つのステップについて, 以下のことを行う. まず1つ目のステップでは,

More information

2016年度 京都大・文系数学

2016年度 京都大・文系数学 06 京都大学 ( 文系 ) 前期日程問題 解答解説のページへ xy 平面内の領域の面積を求めよ x + y, x で, 曲線 C : y= x + x -xの上側にある部分 -- 06 京都大学 ( 文系 ) 前期日程問題 解答解説のページへ ボタンを押すと あたり か はずれ のいずれかが表示される装置がある あたり の表示される確率は毎回同じであるとする この装置のボタンを 0 回押したとき,

More information

cp-7. 配列

cp-7. 配列 cp-7. 配列 (C プログラムの書き方を, パソコン演習で学ぶシリーズ ) https://www.kkaneko.jp/cc/adp/index.html 金子邦彦 1 本日の内容 例題 1. 月の日数配列とは. 配列の宣言. 配列の添え字. 例題 2. ベクトルの内積例題 3. 合計点と平均点例題 4. 棒グラフを描く配列と繰り返し計算の関係例題 5. 行列の和 2 次元配列 2 今日の到達目標

More information

行列、ベクトル

行列、ベクトル 行列 (Mtri) と行列式 (Determinnt). 行列 (Mtri) の演算. 和 差 積.. 行列とは.. 行列の和差 ( 加減算 ).. 行列の積 ( 乗算 ). 転置行列 対称行列 正方行列. 単位行列. 行列式 (Determinnt) と逆行列. 行列式. 逆行列. 多元一次連立方程式のコンピュータによる解法. コンピュータによる逆行列の計算.. 定数項の異なる複数の方程式.. 逆行列の計算

More information

合金の凝固

合金の凝固 合金の一方向凝固 ( 古典論 by T.Koyama (-3 分配係数平衡分配係数は, と定義される 凝固において基本的にベースとなる独立変数は液相の濃度である 状態図の局所平衡を仮定することにより から が決まる つまり は従属変数となり 特に が定数である場合 は上記の式から簡単に計算できる 融点をT とし 液相線の温度 T と固相線の温度 T をそれぞれ m T Tm α, T Tm α とすると

More information

以下 変数の上のドットは時間に関する微分を表わしている (ex. 2 dx d x x, x 2 dt dt ) 付録 E 非線形微分方程式の平衡点の安定性解析 E-1) 非線形方程式の線形近似特に言及してこなかったが これまでは線形微分方程式 ( x や x, x などがすべて 1 次で なおかつ

以下 変数の上のドットは時間に関する微分を表わしている (ex. 2 dx d x x, x 2 dt dt ) 付録 E 非線形微分方程式の平衡点の安定性解析 E-1) 非線形方程式の線形近似特に言及してこなかったが これまでは線形微分方程式 ( x や x, x などがすべて 1 次で なおかつ 以下 変数の上のドットは時間に関する微分を表わしている (e. d d, dt dt ) 付録 E 非線形微分方程式の平衡点の安定性解析 E-) 非線形方程式の線形近似特に言及してこなかったが これまでは線形微分方程式 ( や, などがすべて 次で なおかつそれらの係数が定数であるような微分方程式 ) に対して安定性の解析を行ってきた しかしながら 実際には非線形の微分方程式で記述される現象も多く存在する

More information

Problem P5

Problem P5 問題 P5 メンシュトキン反応 三級アミンとハロゲン化アルキルの間の求核置換反応はメンシュトキン反応として知られている この実験では DABCO(1,4 ジアザビシクロ [2.2.2] オクタン というアミンと臭化ベンジルの間の反応速度式を調べる N N Ph Br N N Br DABCO Ph DABCO 分子に含まれるもう片方の窒素も さらに他の臭化ベンジルと反応する可能性がある しかし この実験では

More information

Microsoft PowerPoint - H22制御工学I-10回.ppt

Microsoft PowerPoint - H22制御工学I-10回.ppt 制御工学 I 第 回 安定性 ラウス, フルビッツの安定判別 平成 年 6 月 日 /6/ 授業の予定 制御工学概論 ( 回 ) 制御技術は現在様々な工学分野において重要な基本技術となっている 工学における制御工学の位置づけと歴史について説明する さらに 制御システムの基本構成と種類を紹介する ラプラス変換 ( 回 ) 制御工学 特に古典制御ではラプラス変換が重要な役割を果たしている ラプラス変換と逆ラプラス変換の定義を紹介し

More information

Microsoft PowerPoint - 測量学.ppt [互換モード]

Microsoft PowerPoint - 測量学.ppt [互換モード] 8/5/ 誤差理論 測定の分類 性格による分類 独立 ( な ) 測定 : 測定値がある条件を満たさなければならないなどの拘束や制約を持たないで独立して行う測定 条件 ( 付き ) 測定 : 三角形の 3 つの内角の和のように, 個々の測定値間に満たすべき条件式が存在する場合の測定 方法による分類 直接測定 : 距離や角度などを機器を用いて直接行う測定 間接測定 : 求めるべき量を直接測定するのではなく,

More information

Taro-数値計算の基礎Ⅱ(公開版)

Taro-数値計算の基礎Ⅱ(公開版) 0. 目次 1. 2 分法 2. はさみうち法 3. 割線法 4. 割線法 ( 2 次曲線近似 ) 5. ニュートン法 ( 接線近似 ) - 1 - 1. 2 分法 区間 [x0,x1] にある関数 f(x) の根を求める 区間 [x0,x1] を xm=(x0+x1)/2 で 2 等分し 区間 [x0,xm],[xm,x1] に分割する f(xm) の絶対値が十分小さい値 eps より小さいとき

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

memo

memo 数理情報工学特論第一 機械学習とデータマイニング 4 章 : 教師なし学習 3 かしまひさし 鹿島久嗣 ( 数理 6 研 ) kashima@mist.i.~ DEPARTMENT OF MATHEMATICAL INFORMATICS 1 グラフィカルモデルについて学びます グラフィカルモデル グラフィカルラッソ グラフィカルラッソの推定アルゴリズム 2 グラフィカルモデル 3 教師なし学習の主要タスクは

More information

Microsoft PowerPoint - 第3回2.ppt

Microsoft PowerPoint - 第3回2.ppt 講義内容 講義内容 次元ベクトル 関数の直交性フーリエ級数 次元代表的な対の諸性質コンボリューション たたみこみ積分 サンプリング定理 次元離散 次元空間周波数の概念 次元代表的な 次元対 次元離散 次元ベクトル 関数の直交性フーリエ級数 次元代表的な対の諸性質コンボリューション たたみこみ積分 サンプリング定理 次元離散 次元空間周波数の概念 次元代表的な 次元対 次元離散 ベクトルの直交性 3

More information

2018年度 神戸大・理系数学

2018年度 神戸大・理系数学 8 神戸大学 ( 理系 ) 前期日程問題 解答解説のページへ t を < t < を満たす実数とする OABC を 辺の長さが の正四面体とする 辺 OA を -t : tに内分する点を P, 辺 OB を t :-tに内分する点を Q, 辺 BC の中点を R とする また a = OA, b = OB, c = OC とする 以下の問いに答えよ () QP と QR をt, a, b, c を用いて表せ

More information

Microsoft PowerPoint SIGAL.ppt

Microsoft PowerPoint SIGAL.ppt アメリカン アジアンオプションの 価格の近似に対する 計算幾何的アプローチ 渋谷彰信, 塩浦昭義, 徳山豪 ( 東北大学大学院情報科学研究科 ) 発表の概要 アメリカン アジアンオプション金融派生商品の一つ価格付け ( 価格の計算 ) は重要な問題 二項モデルにおける価格付けは計算困難な問題 目的 : 近似精度保証をもつ近似アルゴリズムの提案 アイディア : 区分線形関数を計算幾何手法により近似 問題の説明

More information

Microsoft PowerPoint - 発表II-3原稿r02.ppt [互換モード]

Microsoft PowerPoint - 発表II-3原稿r02.ppt [互換モード] 地震時の原子力発電所燃料プールからの溢水量解析プログラム 地球工学研究所田中伸和豊田幸宏 Central Research Institute of Electric Power Industry 1 1. はじめに ( その 1) 2003 年十勝沖地震では 震源から離れた苫小牧地区の石油タンクに スロッシング ( 液面揺動 ) による火災被害が生じた 2007 年中越沖地震では 原子力発電所内の燃料プールからの溢水があり

More information

DVIOUT

DVIOUT 3 第 2 章フーリエ級数 23 フーリエ級数展開 これまで 関数 f(x) のフーリエ級数展開に関して 関数の定義区間やフーリエ級数の積分区間を断りなく [, ] に取ってきました これは フーリエ級数を構成する三角関数が基本周期 2 を持つためです すなわち フーリエ級数の各項 cos nx および sin nx (n =1, 2, 3, 4, ) の周期は それぞれ 2, 2 2, 2 3,

More information

熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date Type URL Presentation

熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date Type URL Presentation 熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date 2011-03-17 Type URL Presentation http://hdl.handle.net/2298/23539 Right GPGPU による高速演算について 榎本昌一 東京大学大学院工学系研究科システム創成学専攻

More information

Microsoft PowerPoint - matlab10.ppt [互換モード]

Microsoft PowerPoint - matlab10.ppt [互換モード] MATLAB の使い方 第 10 回 :3 次元プロット まとめページ :http://hdp.nifs.ac.jp/soken/tanaka/tsukaikata/ 3 次元プロットの流れ プロットするデータ 離散点 数列 x,y 平面に分布する数値データ (2 自由度 ) x,y,z 空間に分布する数値データ (3 自由度 ) x,y,z 空間に分布するベクトルデータ (3 自由度 ) データに適したプロット方法を選択

More information

2014年度 名古屋大・理系数学

2014年度 名古屋大・理系数学 04 名古屋大学 ( 理系 ) 前期日程問題 解答解説のページへ空間内にある半径 の球 ( 内部を含む ) を B とする 直線 と B が交わっており, その交わりは長さ の線分である () B の中心と との距離を求めよ () のまわりに B を 回転してできる立体の体積を求めよ 04 名古屋大学 ( 理系 ) 前期日程問題 解答解説のページへ 実数 t に対して 点 P( t, t ), Q(

More information

(Microsoft PowerPoint - \221\34613\211\361)

(Microsoft PowerPoint - \221\34613\211\361) 計算力学 ~ 第 回弾性問題の有限要素解析 (Ⅱ)~ 修士 年後期 ( 選択科目 ) 担当 : 岩佐貴史 講義の概要 全 5 講義. 計算力学概論, ガイダンス. 自然現象の数理モデル化. 行列 場とその演算. 数値計算法 (Ⅰ) 5. 数値計算法 (Ⅱ) 6. 初期値 境界値問題 (Ⅰ) 7. 初期値 境界値問題 (Ⅱ) 8. マトリックス変位法による構造解析 9. トラス構造の有限要素解析. 重み付き残差法と古典的近似解法.

More information

<4D F736F F F696E74202D20906C8D488AC28BAB90DD8C7689F090CD8D488A D91E F1>

<4D F736F F F696E74202D20906C8D488AC28BAB90DD8C7689F090CD8D488A D91E F1> 人工環境設計解析工学構造力学と有限要素法 ( 第 回 ) 東京大学新領域創成科学研究科 鈴木克幸 固体力学の基礎方程式 変位 - ひずみの関係 適合条件式 ひずみ - 応力の関係 構成方程式 応力 - 外力の関係 平衡方程式 境界条件 変位規定境界 反力規定境界 境界条件 荷重応力ひずみ変形 場の方程式 Γ t Γ t 平衡方程式構成方程式適合条件式 構造力学の基礎式 ひずみ 一軸 荷重応力ひずみ変形

More information

適応フィルタのSIMD最適化

適応フィルタのSIMD最適化 茂木和洋 @ まるも製作所 今回は省略 初めての方は #1 の資料を参照 適応フィルタとは 適応フィルタの問題点 ( 速度面で ) SIMD 比較命令でマスク処理 ベンチマーク 固定のフィルタではなく 入力値によって処理を変更し 最適な結果を求める 例 基準値との差異を閾値と比較して 参照画素として使うか使わないかを切り替える 最小自乗法でフィッティングしてフィルタ係数自体を動的に作成する 他いろいろ

More information

スライド 1

スライド 1 5.5.2 画像の間引き 5.1 線形変換 5.2 アフィン変換 5.3 同次座標 5.4 平面射影変換 5.5 再標本化 1. 画素数の減少による表現能力の低下 画像の縮小 変形を行う際 結果画像の 画素数 < 入力画像の 画素数 ( 画素の密度 ) ( 画素の密度 ) になることがある この場合 結果画像の表現力 < 入力画像の表現力 ( 情報量 ) ( 情報量 ) 結果的に 情報の損失が生じる!

More information

2011年度 筑波大・理系数学

2011年度 筑波大・理系数学 0 筑波大学 ( 理系 ) 前期日程問題 解答解説のページへ O を原点とするy 平面において, 直線 y= の を満たす部分をC とする () C 上に点 A( t, ) をとるとき, 線分 OA の垂直二等分線の方程式を求めよ () 点 A が C 全体を動くとき, 線分 OA の垂直二等分線が通過する範囲を求め, それ を図示せよ -- 0 筑波大学 ( 理系 ) 前期日程問題 解答解説のページへ

More information

<4D F736F F D2097CD8A7793FC96E582BD82ED82DD8A E6318FCD2E646F63>

<4D F736F F D2097CD8A7793FC96E582BD82ED82DD8A E6318FCD2E646F63> - 第 章たわみ角法の基本式 ポイント : たわみ角法の基本式を理解する たわみ角法の基本式を梁の微分方程式より求める 本章では たわみ角法の基本式を導くことにする 基本式の誘導法は各種あるが ここでは 梁の微分方程式を解いて基本式を求める方法を採用する この本で使用する座標系は 右手 右ネジの法則に従った座標を用いる また ひとつの部材では 図 - に示すように部材の左端の 点を原点とし 軸線を

More information