boost
Boost.勉強会 #11 東京 - boostjp茨城の山奥に行ったりとか,書類書いてたりとかして1週間も経ってしまいましたが書きます."CilkPlus, TBB, OpenMP 〜 並列プログラミングを支える技術" という大層なタイトルで発表してましたが,つまるところこの辺のライ…
Tutorial - 1.53.0Boost.MPI ドキュメントの "Table 19.5. Collectives" を見てもらえると分かりますが, Boost.MPI では MPI_Allgatherv といった collectives はそれぞれ非 v な collectives でサポートされているかのように書かれています.ちなみに MPI_Al…
できるのかと思ってたんですが, Boost.Serialization のチュートリアルちゃんと読んだら書いてありました.Serialization配列のサイズが分かっていればできそうです.(2013/02/11 追記) 動的確保されたメモリの場合, serialize 関数でメモリ確保は行われないた…
Boost.MPI は MPICH や OpenMPI では Default Configuration が良い感じに走って using mpi するだけで問題ないのですが, MVAPICH2 はコンパイラの名前が異なっているため, そのままでは動きません./tools/build/v2/user-config.jam に以下のように書きます.…
大体 CUDA か GPU 関係.Boost.ODEIntが採択されました - Faith and Brave - C++で遊ぼうODEInt は常微分方程式を解くためのライブラリ. 無条件採択されたらしい. Thrust を使用して GPU で計算もできるとかなんとか.書いてるの反復法といくつかなので使い道…
実行時間を図るとき、posix 系列なら gettimeofday で実行時間を測っていた。だいたいこんな感じ。 #include <cstdio> #include <sys/time.h> double second() { struct timeval t; gettimeofday(&t, NULL); return t.tv_sec + t.tv_usec * 1e-6; } int main(int argc, char** ar</sys/time.h></cstdio>…
Boost.勉強会 #10 東京 - boostjpもう二日経ったけど書く。色々あったけど、最後に書くとして、各発表の感想。 Boost ライブラリ一周の旅 1.45.0 〜 1.50.0 C++Now! 2012 参加レポート local function については、「あれ、auto でラムダ式を束縛すれば良い…
家に帰宅して早速書いてます。Boost.勉強会 #9 つくば - boostjpBoost.Multiprecision について僕が調べてみたことを全部書きました。Boost.Multiprecision (SlideShare)当日の発表では、結構早く進んでしまったので章の区切りごとに質問時間をとってみたの…
Boost.勉強会 #9 つくば : ATND今週末になりました Boost.勉強会 #9 つくば です。 今回はこのブログでも書いた Boost.Multiprecision について、もっとまともに調べたことを話します。 使い方とか、分かったこととか、ML 読んでの内容とか。GMP, MPFR とか…
Faith and Brave - C++で遊ぼう<2012年4月6日に調査>Boost.Multiprecision が、なんとなく良さげなライブラリに見えてきたので、落として調べてみました。ただの調査メモなので、使い方的な入門は書いてないです。 gcc で使いたい どうもテスト環境は Wind…
ちょっとコマンドラインでぽちぽちやる必要がでてきて、解析するのがめんどくさいので Boost.ProgramOptions でも使おうと思います。このライブラリはビルドしないと使えない(ヘッダオンリで利用できない)ので、そこは注意して下さい。名前空間は長すぎて泣…
ただのメモ書きです。Boost.1.49.0はBoost.MPIも使えるようにしておく。 CentOS 6.2 Core i7 3GHz (多分) 12GB RAM (多分) gcc 4.6.2のビルド 今回は /usr/shareの中にgcc-4.6というディレクトリを掘ってそこにインストール。まず必要な3つのライブラリをイ…
Boost.勉強会 #7 東京 - boostjpと言う訳で行ってきました。 発表してしまいました。 当初発表する予定なんて無かったんですが、そういえば ネタ帳 - boostjp に書かれていたり、1時間も余ってるし、Boost.Interprocess使ったことない人が多いそうだしでサプ…
MinGW使って色々やろうと思ったらboost.threadをスタティックリンクできなくて涙目になったのでメモ。 boost.threadのdetailの中に入ってるconfig.hppを弄る方法もあるようなのだが、普通にBOOST_THREAD_USE_LIBを定義しておけばビルドできるそうなのでg++の…
というレベルではないですが Boost.Property_treeで暗号化したiniファイルを読んでみる - 名古屋313の日記 で暗号化を行うのに一度バッファを作って取るのが面倒だなあ、と思ったのでこれはBoost.ipcのメモリマップドファイルの出番ではないかと思いちょ…
先週の土曜日の話だからまだ大丈夫ですよね。という訳で行ってきました。結構早めについたのでガラガラかなーと思ったらid:nyaocatさんがすでに居ました。早い。 まあ確かにがらがらでしたよね。10時なってましたけどまず発表者の大半が居ない…だと?でもTwi…
boost.ipcのManaged Memory Segmentsで動的多態を演じたい場合、destroy(_ptr)を呼び出す際、作成時の型を指定する必要があります。つまり抽象クラスの型を指定して、抽象クラスのポインタを渡して、削除することはできません。 namespace ipc = boost::inte…
いや、まさかこうなるとは思ってなかったのでメモ。Managed Memory Segmentsはconstructしたオブジェクトをdestroyする必要があります。これはconstruct方法によっていろいろ選べます。例えばnamed instanceとして作成した場合、destroyを使って名前を指定し…
今日は特にネタがなかったので、Managed Memory Segmentsが提供してる機能をいくつか書いておきます。とりあえずManaged Memory Segments上のお話なので前提条件を書きます。変数名はmm_segmentsで、オブジェクトは自動で削除されます。ちなみに、ドキュメン…
ただの記事リストです。01:boost.interprocessさん凄いです - krustf の雑記 02:しばらくboost.interprocessネタで書いていこう。 - krustf の雑記 03: 04:vectorstreamの話 - krustf の雑記 05:bufferstreamの話 - krustf の雑記 06:STLもmanaged上な…
Managed Heap MemoryがBoost.interprocess Document P.90に書いてあります。これはstatic buffer領域を必要とせず、予めヒープ上のメモリを確保して利用する形だそうです。使い方はManaged Heap Memoryと同じで構築方法が異なります。 例えば、自前でヒープ…
久しぶりに更新。Boost.interprocessの話です。またもやドキュメントパラパラ見てたら結構使えそうなやつが出てきたのでメモ。 Managed External Buffer "様々な状況でSimpleなオブジェクト、STLと同じようなコンテナや文字列、 あとは何かしらのバッファが…
ついつい見落としてましたが、interprocessはmulti_indexなどのinterprocess外ですがBoostのライブラリとして提供している一部のコンテナもmanaged memory segmentsを使って作成できるようです。ドキュメントに書いてあるのはmulti_indexとunordered_mapの2…
interprocessには"named mutex"という名前付きMutex Objectを作成して複数のプロセス間で排他制御を行える機構があります。recursiveなMutexなどありますが、多分interprocessとして特徴的な機能だと思いますので紹介。作り方と最終的な削除方法が面倒ですが…
[注意] この記事は間違っている可能性が高いですできるのかなーと思っていたんですが、managed上であればsegment_managerを使用したアロケータを作成すればSTLコンテナをそのまま利用できるようです。(じゃあなんで同じようなコンテナがboost.interprocess内…
前回のvectorstreamと同じで、interprocessのstreamsのもう1つ、bufferstreamの話。 bufferstream? "buffer"については皆さんが普段思ってる通りで良いと思います。何かしらのデータを溜めておくための領域。bufferstreamは固定サイズバッファにデータを読…
今日はinterprocessのstreamsの話。vector/bufferstreamと2つあるのですが、今回はvectorstreamだけ。 vectorの定義 interprocessの当該章では"vectorとは要素が連続しているコンテナである"ようです(意訳かも)。std::vectorは言わずもがなですが、std::basi…
最近のネタ4作目ぐらい。Boost.interprocessの様々なクラス内ではoffset_ptrなるスマートポインタが使用されています。よく見るのはoffset_ptrでtypedefしてvoid_pointerなんてされてるところが多いようです。offset_ptrで何ができるかというとずばり、"ポイ…
前回boost.interprocessでオブジェクトをファイル上に作って遊びましたが、どうも配列も作成できるらしいです。こんな感じで。 static const size_t N = 5; // N 個の配列として作成 Type* arr = mfile.construct<Type>("Name")[N](Allocator); // proxyを束縛して</type>…
この記事は C++ Advent Calendar 2010 の参加記事です。詳細は以下。 C++ Advent Calendar jp 2010 : ATND 今日はクリスマスですし、みなさんお忙しいと思いますし、それに僕はあんまり変態的な事を書けませんので…。*1 そんな中であまりTwitter上であまり話…