忍者ブログ
自己満足日記。 飽きっぽいので期待しないでください。
[205]  [204]  [203]  [202]  [201]  [200]  [199]  [198
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

RO チャット窓類伏せフィルタ&RO HP/SP/Zeny伏せフィルタ(zip)

面積平均法リサイズ"ジョーク"フィルタ(zip)

上の方は普通に使えると思います。
なんで名前とか伏せられないのとかの質問は禁止です。
あと今ROをプレイしてないので現状に合わないやも。
撤去。上のあればいらないですよね。

下はジョークです。
バカ正直にやると負荷が高いらしいというのを良い事に並列処理の実験場になってます。
大抵の場合他のフィルタを使えば足りてしまうでしょう。
撤去。メモリリーク起こしてましたワロタ。

旧版はDLできないようにしました。
もし旧版を利用してる奇特な方がいたら更新しておいてください。

というわけで並列処理の機構をいろいろ試してきました。

一番最初はOpenMP。

これが相当簡単ですよね。
pragmaで挟むだけなので、並列処理したい部分をいちいち関数で書く必要がない、というのがものすごく最初は楽で、並列処理の概念をとっかかりとしてとてもよかったです。

今回問題になったのは、VCでは最新のOpenMPを利用できなくて「とりあえず最新版を使いたい病」に抵触してしまったことと、VCでBuildした場合Redistributable Packageが必要になってしまうということ。

個人的には、簡単に使ってもらうには単一のaufで完結するか、せめてdllの同梱だけで済ませたいので、何かWizardを起動してインストールするという手間が発生するのは避けたいなぁという感じで利用には至りませんでした。
あとVCEE2010じゃ利用しづらいというのも。


次に手を出したのが、Aviutl SDKが用意していた並列処理用の機構。

これもまた簡素で、おそらくOS ThreadをWrapしたものなんだと思いますが、指定したスレッド数分だけ処理を分散させるためのIDと総数を追加で渡されるだけです。
そして、これを利用すると、単一のaufで完結するようBuildすることが可能です。

以前書いたようにOpenMPから書き換えが効くので、今回の公開版はこれを利用しました。


次に利用したのがBoostのthread。

OSスレッドのWrapperだったので、非常に根幹の機能が提供され手はいるものの、forの並列分散処理だとかは自分でこれを利用して書き上げねばならず、結局Aviutl謹製の物にはかないませんでした。

次に「目を付けた」のがMPI。

というのも、ガチ過ぎてとても一プログラムのプラグインに利用するものではないなぁということで見送られました。


最後はIntelのThread Building Blocks。

OpenMPの対抗馬的な。並列処理にぶっこんでもそこまで頭を使わなくて済むコンテナだとかメモリ確保だとか、並列Taskだとかwhileだとかforだとかsortだとか。裏で色々試行錯誤してスマートに進めてくれる系でした。例によって使ったのはParallel_forだけなんですが。

2~3個の個別の処理を並列化したいとかいう場合に使うものではないです。
そういう時はBoostのthread使った方が良いでしょう。

本当はこれの方が早かったんですがtbb.dllが必要になってしまって、それ自体は良いんですが、利用しているのがoss版で、公開に関してGPLのライセンスがどうのという英文をまだ解釈し切れておらず不安なので見送りました。


なんとなくアルファベット使いたい症候群にかかってしまった。
PR
Comment Form
Name
Title
Color
Mail
URL
Text
Password   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
no title
無事だったかああああよかった!!!
しばらくは大変そうだけど体に気をつけておくんなましぃ・・・
Posted byえぼ2011/03/11 (Fri) 23:55:56Edit
no title
大丈夫?電力厳しいかもだけど、ついーと待ってるよ!
Posted byまぶ2011/03/13 (Sun) 09:27:41Edit
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
最新コメント
[03/13 まぶ]
[03/11 えぼ]
[10/31 きりん]
[10/19 たびパパ]
[10/17 zui]
アクセス解析
してますよ。
This template design was imitated from PukiWiki Skin "GS2" which designed by yuza.
© Gravity Co., Ltd. & Lee MyoungJin(studio DTDS). All rights reserved.
© 2008 GungHo Online Entertainment, Inc. All Right Reserved.
当コンテンツの再利用(再転載・配布など)は、禁止しています。
忍者ブログ [PR]