PARDS

Visual Studio 2010 Expressでのテスト

試してみると,なんだかインクルードファイルのディレクトリを認識していないので,プロパティ→構成プロパティ→C/C++→全般→追加のインクルードディレクトリで設定. Debugでコンパイルすると動くが,Releaseでコンパイルすると動かん…と思って調べてみると,…

久しぶりの更新

気がつくと1年更新していなかったという. デスクトップPCを新調したので,全くメンテしてなかったPARDSを久々に見てみることに. VirtualBox内のDebian Squeezeでテスト.(ホストは話題のCore i7-2600K, Windows 7.) まぁ動くんだけど,システムのセマ…

複数のfutureを待つプリミティブ

気がついたら3ヶ月近くも更新してなくてビビった(^^; Lambda-The-Ultimateを見ていたら,複数のfutureを待つプリミティブが必要,みたいな話があったので少し.次世代のC++規格の中にfutureが提案されているそうです. (そうなると,PARDSの有用性が下がっ…

Visual C++ 2008 Express Editionのインストール

を試してみた。普通にインストール•使用できます。 で、PARDSのコンパイルを試してみたんだけど、なんかIncludeファイルのサーチがうまく出来ていない??? サンプルプログラムのコンパイル時にSync.h等のインクルードファイルを見つけられていない様子。確か…

SACSIS終了

割と好意的なコメントが多かったので、ほっとしました。(余談だけど、コーヒーブレイクの時のお菓子がクリスピークリームのドーナツだった。すげー。 誰が買ってきたんだろう?僕はポスター発表であんまり食べられなくて残念。)Windows版も一応作ったし、…

SACSISのポスター発表

本日、SACSISの初日でした。ポスター発表は無事できたと思います(明日以降もあります)。 やはり、同じような問題意識の人と話ができるのは嬉しいですね。旧知の方々とも話が出来て、楽しい一日でした。ダウンロードして使って頂ける方、ありがとうございま…

Windows版リリース

ファイルを整理して、CVSに登録した後、リリースした。 (それに伴って、プロジェクトページも若干更新。tar.gz/zipファイルへの直接リンクを張ることにした。)うちのVISTA/Visual Studio 2005でしかテストしてないけど…。まぁ、まだプレアルファ版といった…

Windows版開発 その3

だいぶできたような気がする。 pards_finalize()で子プロセスが終了するのを待たない問題は、セマフォを使って解決。 SPMD終了時に子プロセスの終了を待つのも、バリアをかけてからexitすることで解決。UNIX版でもこの実装でよかったような気もするが。bzip2…

Windows版開発中 その2

SyncList, SyncQueue, WorkPool, Mergerについてサンプルで動作を確認。途中、なんだか知らないけど時々実行終了時にWindowsが不正終了?を知らせるというバグに悩まされる。これは、_exit()が解放しようとしたメモリが子プロセスからはアクセスできなかった…

Windows版開発中

PARDSのWindows版、半年前位にできそうかな、という感触までつかんでいたんだけど、再開。 連休中にコーディングして、簡単なサンプルが動くところまではこぎつけた。 まぁ、原理的にUNIX版のサブセットにしかできないんだけど(シグナルが使えないとかで)…

SACSIS 2008ポスター発表採録

PARDSの宣伝のため、SACSISという学会のポスター発表に申し込んでいたのですが、無事採録されました。 まぁ、ポスターなのでそれほど大したものでは無いのですが。 日程は6月11日(水)〜13日(金)で、場所は、つくば国際会議場です。参加される人がいたら…

RPMパッケージがupdatesに

入ったそうです:続 PARDSのRPMパッケージ - MasaHero’s blog 「Fedora 7以降のFedoraユーザーは"yum install pards pards-devel"でインストールすることが出来る」とのこと。 素晴らしい。感激です。 どうもありがとうございました > MasaHero様

Fedora へのリクエスト

昨日のRPM化に続き、「Fedora ProjectのリリースにPARDSを含めてもらえるようリクエストを出」していただいたとのこと:PARDSのRPMパッケージ - MasaHero’s blog。ありがたや。 こちらの記事もあわせてご覧下さい。 ありがとうございます。

RPMパッケージ

先日インストール可能化パッチを投稿して頂いたMASA.H様が、RPMパッケージを作成、公開して下さいました:PARDS - MasaHero’s blog ありがとうございます (_o_) RPMが利用可能なOSをお使いの方は、こちらの利用も。

共有ライブラリ化とインストール可能化パッチ

上記パッチをsourceforgeに登録して頂きました。ありがとうございます > masahase様 URLはこちら:https://sourceforge.jp/tracker/index.php?func=detail&aid=11559&group_id=2587&atid=9605 これまでは開発者ローカルのディレクトリに置くことを想定してい…

マニュアルの英訳を完了

マニュアルの英訳を完了しました。それに伴い、バージョンを0.4として、新たにリリースしました。プログラム自身の変更はありません。 もうちょっと宣伝しないとなぁ…。英語圏にも。

マニュアルの英訳

久しぶりにマニュアルの英訳を継続。もう少しで完了するので、終わったら新しいバージョンとしてリリースします。(プログラム自体は変更無しですが。)

マニュアル修正

古いバージョン番号のままだった orz のでそこだけ修正(Web上のも)。 あと、英語マニュアルの翻訳を若干更新。最近さぼり気味だなぁ…

Intel Threading Building Blocksと実行粒度

以前の日記でIntel Threading Building Blocks(以下TBB)について書いたが、その実行形態についてちょっと考えてみた。 TBBでは、(ソースを追いかけてみると)ループの並列化なんかも最終的にはタスクに落ちる様子。TBBにおける「タスク」とは、特定のクラ…

Version 0.31リリース

最近リリースしてなかったので、小変更ですがリリースしました。 主な変更点は、共有メモリとしてmmapの利用をサポートしたことで、Mac OS Xではこれがデフォルトになります。 また、n-queens問題を解くプログラムをサンプルとして追加しました。 また、英語…

Windows実装

とりあえず、CreateFileMappingとMapViewOfFileによる共有メモリと、CreateSemaphore, OpenSemaphore, WaitForSingleObjectによるセマフォについては、動作を確認。 んー、これで一応実現できるんじゃないか? forkされたプロセスはWin32サブシステムに接続…

fork on Windows

うーん、CsrpConnectToServerの代わりにCsrClientConnectToServerを使えば良いのじゃという情報の元にテストしてみたんだけど、うまくいかず。(forkしたプロセスからのprintfが表示されない。) 引数が悪いのかなぁ…?といっても、どうすればいいのかは分か…

fork on Windows

Win32サブシステムへの接続をのぞけば、動いた、ような、気がする。多分。 Device Drive Kitのヘッダファイルにも無い呼び出しとかがあったので(バージョンによるのか?)、検索して適当にヘッダファイルをでっち上げ、先日の日記のようにGetProcAddressで…

Windowsのnative APIの呼び方

を調査。普通はDevice Driver Kitとか使うみたいなんだけど。 Visual Studioとかでは、そもそもプロトタイプ(関数の引数とか返り値の型とか)がヘッダに無いので、それはどこかで調べてくる必要がある。(件のWINDOWS NT/2000 NATIVE API REFERENCEの本とか…

SUAでのbzip2の速度

がMac OS Xより若干高速であることが発覚(並列化効率は同じくらいだった)。gccのバージョンのせいか?(Mac OS Xは4.01, SUAは3.3)。 いまさらだけど、2CPUできれいに2倍にならないのはなぜなんだろう?同期やプロセスフォークのコストはあんまり無いと思…

SUAでの実行速度

前の日記にも追記しましたが、単純にプロセッサ数を取得する関数がSUAではうまく動いてなくて、デフォルト値の1が返ってきていただけでした。orz というわけで、ちゃんと速くなっているように見えます。すばらしい。(ちょっと速度向上率が低いようにも見え…

Cygwinでテスト

しようとインストールしたが、System V IPCが動作しない :-( …そういえば、なんかデーモンを立ち上げるんだったなと思い出し、調べると、cygserverというのを設定する必要があるそう:Cygwin/cygserver - discypus ていうか、以前はipc-daemonだったり、ipc-…

Intel Threading Building Block

がGPLになったそうなので、見てみる。(昔見たような気がしたけど、すっかり内容を忘れていた…) …んー、個人的には微妙。チュートリアルから引用すると、例えば、 void SerialApplyFoo( float a[], size_t n ) { for( size_t i=0; i

SUA (Subsystem for UNIX-based Applications) on Vista

Windows Vista上でSUAを使ってみる。(これ使えるのってUltimateだけ?) 昔はSFUと呼ばれていたもので、Windows上でPOSIXサブシステムを動作させるもの。この辺を参考にさせてもらう。 Vistaの「プログラムと機能」の設定で「UNIX ベース アプリケーション…

fork on Windows

が実現できないものかトライ中。以前ここで書いたように、Windows NT以降のネイティブAPIを使えば実現できそうなんだけど(そのためのソースコードも公開されている)、この呼び出し方がよくわからん(^^; どうやら、デバイスドライバ作成用のキット(WDK)に…