児島/日誌
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[児島]]
**2008,8,18 [#a42f7be0]
三つの関数、&br;
int_force()&br;
art_visc()&br;
ext_force()&br;
を一つにまとめ、tbb::parallel_forで並列化した。&br;
&br;
tbb::parallel_forをやめて、一つにまとめた関数と、&br;
dividingSection()&br;
setDensity()&br;
の三つをtbb::pipelineで処理できないだろうか?&br;
**2008,8,14 [#mda7c524]
SPHには&br;
int_force()&br;
art_visc()&br;
ext_force()&br;
って関数があり、それぞれ0からntotalまでのループを持っている。それぞれの&br;
ループをparallel_forで並列化したけど、3つのループを一つにまとめて、&br;
それを並列化した方が速いはず。気づくのが遅い・・・・・&br;
**2008,8,13 [#i8f87ade]
バグの原因はわからないけど、SPHをparallel_forで並列化できる部分は並列化した。&br;
ただ、ループの反復回数が少ないから、速くはなっていないと思う。&br;
&br;
昼ごろ、駐車場に停めておいた車のハンドルに触ったら火傷した。皮むけるし、&br;
みず出るし、校医は不在だし、ありえん(笑)&br;
**2008,8,11 [#n4609aac]
バグはSPHにparallel_forを使ったせいではなく、SPHをC++風に書き直したときに&br;
発生していて、見落としていたらしい。&br;
&br;
映画「ダーク・ナイト」は面白かった。
**2008,8,8 [#ybc5df9c]
とりあえず、SPHの位置を更新する部分をparallel_forで書いてみた。&br;
40000ステップまでの計算は問題ないのに、それ以上だとバグる。&br;
排水溝から流れていった水が天井から落ちてきたり、浴槽の一部が欠けたり。&br;
**2008,8,1 [#l3b7c7aa]
Cで書かれたSPHの回路をC++で、データをカプセル化したり、似た機能を一つのクラスにまとめ、&br;クラスを継承したりしてオブジェクト指向風に書き換えた。そしたら、コンパイラは通るけど、実行するとプログラムはすぐに落ちてしまう。&br;ヘッダに&br;
class SPH { &br;
.....&br;
};&br;
&br;
class DS : public SPH&br;
{&br;
.....&br;
};&br;
&br;
class InitSPH : public DS&br;
{&br;
.....&br;
};&br;
とあって、メイン関数で&br;
InitSPH initsph;&br;
と呼ぶのが原因。InitSPHクラスのコンストラクタから、SPHのコンストラクタを呼び出すことは&br;
できないため。本には、&br;
DS::DS()→DS::DS():SPH&br;
InitSPH::InitSPH()→InitSPH::InitSPH():DS&br;
とするべきとあって、してみたがダメ。いろいろ調べて、メインを&br;
InitSPH initsph;→InitSPH *init = new InitSPH( );&br;
とするだけでうまく動いた。&br;
*2008,8 [#j62c88f3]
**2008,7,29 [#e1550059]
TBBで佐藤さんのSPH回路を書き直すために、彼女にいろいろ説明してもらった。お昼も食べずに&br;長時間の説明ありがとぅ!
**2008,7,23 [#vbba1bf1]
C++の基本的な部分を理解していなくて、ヤヴァイ。&br;
Cの場合、xx.hで宣言した変数は、ソースファイルでxx.hをインクルードしただけで使える。&br;複数のソースからアクセスできる。
C++の場合、xx.hでextern int a;と宣言したら、ソースファイルでxx.hをインクルードし、&br;さらにint a;と定義しなくてはいけない(定義は1つのソース内だけでおk)。そうしないとaは複数のソースファイルからアクセスできない。
**2008,7,18 [#s442beea]
C++にはplacement newなる機能があることを八巻君に教えてもらい、すごく助かった。ありがとう。&br;placement newを使うと、既に確保してあるメモリ上にオブジェクトを配置できる。
**2008,7,14 [#x83cb285]
第二回TBB講習会で発表。さらっと説明したcopy constructor@C++。奥山先生の説明によると&br;重要そうなので深く調べてみよう。
**2008,7,4 [#m78256e2]
TBB::paralelle_reduceは並列処理を行い、それぞれの結果を一つにまとめる。
**2008,7,1 [#jc6c32c9]
PROGRAPEでの画像処理について、大堀さんに教えてもらった。ありがとうございます>大堀さん
*2008,7 [#q678f5c6]
**2008,6,25 [#pa428306]
Grainsizeは奥が深い。
**2008,6,23 [#u8bee781]
TBB講習会。Grainsizeが論点になった。TBBのマニュアルにある内容では抽象すぎるので&br;深く調べてみよう。
**2008,6,22 [#gd9a161e]
TBB講習会の資料作り。
**2008,6,17 [#u03a0f01]
TBB::paralelle_forは単純なループを分割する。ループをいくつに分解するかをGrainsizeで&br;指定。
**2008,6,13 [#p1509137]
Visual C++ 2005 Express EditionとTBBをインストール。TBBが実行可能になった!&br;
PCはPentium(R)4を積んでいるので、シングルスレッドで実行した場合とマルチスレッドで&br;実行した場合に、差が出ない。
-参照ページ [[cppdrive:http://www.cppdrive.jp/index.html]]
**2008,6,10 [#h66256db]
TBBが動かないのはVisual C++ 2008 Express Editionに問題があるらしい。
**2008,6,9 [#r365f192]
TBBをインストール。だが動かない。ヘッダやバイナリへのpathをUGIとコマンドラインの&br;両方で必要。だが動かない。
-参照ページ [[dandelion's laboratory:http://www.atinfinity.info/wiki/index.php?Intel%20TBB]]
**2008,6,6 [#b7cb0e81]
Visual C++ 2008 Express Editionをインストール。
-参照ページ [[Visual C++ 2008 Express Edition インストール方法紹介:http://www.microsoft.com/japan/msdn/vstudio/express/beginners/2008/visualc.aspx]]
*2008,6 [#v311d014]
終了行:
[[児島]]
**2008,8,18 [#a42f7be0]
三つの関数、&br;
int_force()&br;
art_visc()&br;
ext_force()&br;
を一つにまとめ、tbb::parallel_forで並列化した。&br;
&br;
tbb::parallel_forをやめて、一つにまとめた関数と、&br;
dividingSection()&br;
setDensity()&br;
の三つをtbb::pipelineで処理できないだろうか?&br;
**2008,8,14 [#mda7c524]
SPHには&br;
int_force()&br;
art_visc()&br;
ext_force()&br;
って関数があり、それぞれ0からntotalまでのループを持っている。それぞれの&br;
ループをparallel_forで並列化したけど、3つのループを一つにまとめて、&br;
それを並列化した方が速いはず。気づくのが遅い・・・・・&br;
**2008,8,13 [#i8f87ade]
バグの原因はわからないけど、SPHをparallel_forで並列化できる部分は並列化した。&br;
ただ、ループの反復回数が少ないから、速くはなっていないと思う。&br;
&br;
昼ごろ、駐車場に停めておいた車のハンドルに触ったら火傷した。皮むけるし、&br;
みず出るし、校医は不在だし、ありえん(笑)&br;
**2008,8,11 [#n4609aac]
バグはSPHにparallel_forを使ったせいではなく、SPHをC++風に書き直したときに&br;
発生していて、見落としていたらしい。&br;
&br;
映画「ダーク・ナイト」は面白かった。
**2008,8,8 [#ybc5df9c]
とりあえず、SPHの位置を更新する部分をparallel_forで書いてみた。&br;
40000ステップまでの計算は問題ないのに、それ以上だとバグる。&br;
排水溝から流れていった水が天井から落ちてきたり、浴槽の一部が欠けたり。&br;
**2008,8,1 [#l3b7c7aa]
Cで書かれたSPHの回路をC++で、データをカプセル化したり、似た機能を一つのクラスにまとめ、&br;クラスを継承したりしてオブジェクト指向風に書き換えた。そしたら、コンパイラは通るけど、実行するとプログラムはすぐに落ちてしまう。&br;ヘッダに&br;
class SPH { &br;
.....&br;
};&br;
&br;
class DS : public SPH&br;
{&br;
.....&br;
};&br;
&br;
class InitSPH : public DS&br;
{&br;
.....&br;
};&br;
とあって、メイン関数で&br;
InitSPH initsph;&br;
と呼ぶのが原因。InitSPHクラスのコンストラクタから、SPHのコンストラクタを呼び出すことは&br;
できないため。本には、&br;
DS::DS()→DS::DS():SPH&br;
InitSPH::InitSPH()→InitSPH::InitSPH():DS&br;
とするべきとあって、してみたがダメ。いろいろ調べて、メインを&br;
InitSPH initsph;→InitSPH *init = new InitSPH( );&br;
とするだけでうまく動いた。&br;
*2008,8 [#j62c88f3]
**2008,7,29 [#e1550059]
TBBで佐藤さんのSPH回路を書き直すために、彼女にいろいろ説明してもらった。お昼も食べずに&br;長時間の説明ありがとぅ!
**2008,7,23 [#vbba1bf1]
C++の基本的な部分を理解していなくて、ヤヴァイ。&br;
Cの場合、xx.hで宣言した変数は、ソースファイルでxx.hをインクルードしただけで使える。&br;複数のソースからアクセスできる。
C++の場合、xx.hでextern int a;と宣言したら、ソースファイルでxx.hをインクルードし、&br;さらにint a;と定義しなくてはいけない(定義は1つのソース内だけでおk)。そうしないとaは複数のソースファイルからアクセスできない。
**2008,7,18 [#s442beea]
C++にはplacement newなる機能があることを八巻君に教えてもらい、すごく助かった。ありがとう。&br;placement newを使うと、既に確保してあるメモリ上にオブジェクトを配置できる。
**2008,7,14 [#x83cb285]
第二回TBB講習会で発表。さらっと説明したcopy constructor@C++。奥山先生の説明によると&br;重要そうなので深く調べてみよう。
**2008,7,4 [#m78256e2]
TBB::paralelle_reduceは並列処理を行い、それぞれの結果を一つにまとめる。
**2008,7,1 [#jc6c32c9]
PROGRAPEでの画像処理について、大堀さんに教えてもらった。ありがとうございます>大堀さん
*2008,7 [#q678f5c6]
**2008,6,25 [#pa428306]
Grainsizeは奥が深い。
**2008,6,23 [#u8bee781]
TBB講習会。Grainsizeが論点になった。TBBのマニュアルにある内容では抽象すぎるので&br;深く調べてみよう。
**2008,6,22 [#gd9a161e]
TBB講習会の資料作り。
**2008,6,17 [#u03a0f01]
TBB::paralelle_forは単純なループを分割する。ループをいくつに分解するかをGrainsizeで&br;指定。
**2008,6,13 [#p1509137]
Visual C++ 2005 Express EditionとTBBをインストール。TBBが実行可能になった!&br;
PCはPentium(R)4を積んでいるので、シングルスレッドで実行した場合とマルチスレッドで&br;実行した場合に、差が出ない。
-参照ページ [[cppdrive:http://www.cppdrive.jp/index.html]]
**2008,6,10 [#h66256db]
TBBが動かないのはVisual C++ 2008 Express Editionに問題があるらしい。
**2008,6,9 [#r365f192]
TBBをインストール。だが動かない。ヘッダやバイナリへのpathをUGIとコマンドラインの&br;両方で必要。だが動かない。
-参照ページ [[dandelion's laboratory:http://www.atinfinity.info/wiki/index.php?Intel%20TBB]]
**2008,6,6 [#b7cb0e81]
Visual C++ 2008 Express Editionをインストール。
-参照ページ [[Visual C++ 2008 Express Edition インストール方法紹介:http://www.microsoft.com/japan/msdn/vstudio/express/beginners/2008/visualc.aspx]]
*2008,6 [#v311d014]
ページ名: