日付け越え前に帰着。
Webで調べ事をしていたらあまりの眠さに急速停止。
日付け越え。
もそもそとコーディング。なんだか挙動が変なのを調べていたら、
std.format()が変な値を返していたり。具体的には "%f" の変換結果が
常に0になってしまうというもの。ひとつ前のgdcだと問題無く動作したり。
でも、libphobosには関係しそうな差分が無かったり。うーむ。
遅めに帰着。
そういやwintabの64bit対応ってやり方があるようで無いような。
LoadLibrary()で動的にローディングできるものの、引数がポインタ渡し
の関数では、うまく動かないように思います。てか実際にやってみたら動きが怪しい。
DLLだけを利用するのは手軽なのですが、リコンパイルが必要な場合にやっぱり困るなぁ
と思ったりも。
遅めに帰着。
もそもそとコーディング。手持ちコードを32bit/64bitのマルチビルド対応。
遅めに帰着。
OpenAL 64bit のSegfaultの件原因判明。Ogg/Vorbisのバインディングは
真面目に行っておらず、OggVorbis_File構造体とvorbis_info構造体だけを
サイズだけを合わせる形で宣言してました。つまり、
struct OggVorbis_File{ int padding[200] ; } ;
AM中に起床。
人類で初めて月面に降りた人であるニール・アームストロング氏が亡くなったらしい。
昨日、たまたま観たDVDに関係あった人なのは単なる偶然。
OpenAL 64bit。先日のshared libraryがロードできない件。dllビルド時は
cygopenal-1.dllという名前のファイルで生成していたのを、OpenAL64.dllという
ファイル名に変えてリンクしたのですが、ロード時はcygopenal-1.dllをリンク
しようとしているらしく、それでDLLが見つからないというエラーになっていたようです。
ファイル名を変えずにリンクすれば、ひとまず実行時エラーはしなくなり、
ウインド表示できました。が、再生しようとしたところでSegfault。
gdbで見てみたところ、以下のような感じ。
(gdb) where #0 0x00000000774aca99 in KERNEL32!IsBadWritePtr () from C:\windows\system32\kernel32.dll #1 0x00000000004bfb88 in fread () #2 0x00000000004bfb88 in fread () #3 0x00000000004bfb88 in fread () #4 0x0000000066bc9870 in alGenBuffers (n=1, buffers=0x4bfb88) at ../OpenAL32/alBuffer.c:199 #5 0x0000000000403d4f in oggPlayer.oggPlayer.polling() (this=...) at oggPlayer.d:124 #6 0x0000000000402294 in myMainWindow.myMainWindow.proc() (this=..., hwnd=0x1b40c80, msg=275, wp=1, lp=0) at myMainWindow.d:119 #7 0x0000000000408172 in MainWindow.MainWindow.preproc() () #8 0x00000000022e0c00 in ?? () #9 0x0000000001b40c80 in ?? () #10 0x0000000000000113 in ?? () #11 0x0000000000000001 in ?? () #12 0x0000000000000000 in ?? ()
AM中に起床。
最新刊であるONEPIECE(67)って、初版400万部越えだとか。すげぇ。
gdcのMinGW版を最新ビルドを行ったり。内容的にはマイナーな修正ばかりの様ですが、
時々ビルドしとかないとやり方を忘れる&ダメになった時にどの辺の変更が怪しいか
勘が働かなくなるので。ひとまずビルドは問題無し。
そういやOpenALを使用した手持ちコードは、x86_64対応できていません。というか、
コードは対応できるのですが、x86_64のOpenALのDLLが無いようだったので。
まぁそのうちと思っていたのですが、Webを探すも何故か見つけられず。うーむ。
ソースコードからビルドできるか?と思ったのですが、ソースコードのアーカイブは
置かれておらず、svnでアクセスするもエラーが出てcheckoutできず。ちなみに、
$ svn co svn://connect.creativelabs.com/OpenAL svn: E720005: Can't open 'C:\WINDOWS\TEMP\report.tmp': Access is denied.
$ ./oggplayer.exe /home/TANE/..../oggplayer.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory
早めに帰着。
あまりの眠さにポニョを観ることなく急速停止。
遅めに帰着。
ちょろり調べ事をして終了。
遅めに帰着。
MinGW向けのgdcにはビルドスクリプトが用意されているのですが、それを使ったビルド
ができるのか試してみたり。でも、なんだかちゃんと動作するようにメンテされていない気が。
日付越え前に帰着。
ちょいと作図をしたくなったのですが、そういやCinderellaが入ってないなぁと
思い、久しぶりに公式ページを
覗いてみたところ、Version2がフリーで公開されてました。ライセンスを買う事で
フルスペックを使用可能になるようです。早速インストールしてみたり。
物理シミュレーションなどの新しい要素は全く使えてませんが、線分の追加が可能
になっていたりと、ドロー機能としても充実した感じがします。
早めに帰着。
Webのブックマークなんかに表示されているGoogleのアイコンデザインが変わっていたり。
あまりの眠さに急速停止。
昼前起床。
CUDAについて調べごと。おおよそ次のような理解。
AM中に起床。
OpenCLのDeviceQueryではdouble型が使えそうな感じなので、使い方があるんじゃ
ないかと調べたり。どうやら、ターゲットコードに
「#pragma OPENCL EXTENSION cl_khr_fp64 : enable」と入れる事で使える
事が判明。少し重くなった気がしますが、1e+14倍くらいまで拡大できる感じ
になってみたり。まぁそれでもあまり深くはありませんが。
そんな訳で実行バイナリだけですが置いてみます
(mandelviewGPU_v000.7z)。
早めに帰着。
コマンドラインで実験していたOpenCLのマンデルブロ描画プログラムを
ウインド表示できるようにしてみたり。640×480だと 最長1秒以内で
描画できるので、ズームやシフトはリアルタイムに行ってもストレスが
無いレベルだったり。なもんですから解像度限界に達するのもあっという間。
そういやMPFの仮数部のbit数を減らしたら、何故か計算結果が妙な感じに
なるのに悩まされたり。原因不明。
なんとなくgdcのバグかもという感じ。一時置きのインスタンスが壊れている
感じになってて、スコープをずらせば大丈夫になったり。納得はしてない。
あまりの眠さに急速停止。
早めに帰着。
SAIの開発が再開されたようです。64bit対応、マルチコア対応、じゅるり。
楽しみにしています(^^)
早くもなく遅くもなく。
あまりの眠さに急速停止。
遅めに帰着。
OpenCLを使った数学ライブラリとか存在するのかしら?と思い、少し探ってみた
のですが、これといった感じのは見つからず。GPGPUはなんとなく話題になっては
いるものの、それを使う場面となると急に何も出てこなくなるという気がしたりも。
気持ち早めに帰着。
OpenCLを使ったマンデルブロ集合描画。色づけなどをMandelbrotViewに合わせてみて
比べてみたり。8CPU並列と比べるて、おおよそ40〜50倍くらい高速に描画できるようです。
ただ、float型で計算しているものですから、たかだか 2e+5 倍くらいの拡大で浮動小数点数の
解像度不足に陥ってしまいました(^^; うーむつまらん。
昼前起床。
D言語からOpenCLを使ってGPUで計算させる実験をもそもそと行ってました。
要素数が255*1024*1024/4個の二つの配列 a[],b[] を使って、あまり意味はありませんが
「d[] = (a[] * b[] + a[] - b[])/3.0」てな式の配列演算を行ってみました。
$ ./vector.exe GPU laptime : 81 ms Result: 3.666667 6.333333 ... 1489494792470528.000000 CPU laptime : 180 ms Result: 3.666667 6.333333 ... 1489494792470528.000000
--------------------------------- Device GeForce GTX 550 Ti --------------------------------- CL_DEVICE_NAME: GeForce GTX 550 Ti CL_DEVICE_VENDOR: NVIDIA Corporation CL_DRIVER_VERSION: 301.32 CL_DEVICE_VERSION: OpenCL 1.1 CUDA CL_DEVICE_OPENCL_C_VERSION: OpenCL C 1.1 CL_DEVICE_TYPE: CL_DEVICE_TYPE_GPU CL_DEVICE_MAX_COMPUTE_UNITS: 4 CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS: 3 CL_DEVICE_MAX_WORK_ITEM_SIZES: 1024 / 1024 / 64 CL_DEVICE_MAX_WORK_GROUP_SIZE: 1024 CL_DEVICE_MAX_CLOCK_FREQUENCY: 1800 MHz CL_DEVICE_ADDRESS_BITS: 32 CL_DEVICE_MAX_MEM_ALLOC_SIZE: 255 MByte CL_DEVICE_GLOBAL_MEM_SIZE: 1023 MByte CL_DEVICE_ERROR_CORRECTION_SUPPORT: no CL_DEVICE_LOCAL_MEM_TYPE: local CL_DEVICE_LOCAL_MEM_SIZE: 48 KByte CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 64 KByte CL_DEVICE_QUEUE_PROPERTIES: CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE CL_DEVICE_QUEUE_PROPERTIES: CL_QUEUE_PROFILING_ENABLE CL_DEVICE_IMAGE_SUPPORT: 1 CL_DEVICE_MAX_READ_IMAGE_ARGS: 128 CL_DEVICE_MAX_WRITE_IMAGE_ARGS: 8 CL_DEVICE_SINGLE_FP_CONFIG: denorms INF-quietNaNs round-to-nearest round-to-zero round-to-inf fma CL_DEVICE_COMPUTE_CAPABILITY_NV: 2.1 NUMBER OF MULTIPROCESSORS: 4 NUMBER OF CUDA CORES: 192 CL_DEVICE_REGISTERS_PER_BLOCK_NV: 32768 CL_DEVICE_WARP_SIZE_NV: 32 CL_DEVICE_GPU_OVERLAP_NV: CL_TRUE CL_DEVICE_KERNEL_EXEC_TIMEOUT_NV: CL_TRUE CL_DEVICE_INTEGRATED_MEMORY_NV: CL_FALSE CL_DEVICE_PREFERRED_VECTOR_WIDTH_<t> CHAR 1, SHORT 1, INT 1, LONG 1, FLOAT 1, DOUBLE 1
AM中に起床するも、ぐうたら過ごして終了。
ここ2週間ほどgdcに更新が無くて寂しいなぁと思ったり。
覚え書。Emacsでコマンドに引数を与えるとき、(universal-argument)
を使用する。例えば「ハノイの塔」を10段にしたいとき、
「M-x universal-argument」を実行した後、「10 M-x hanoi」と入力。
デフォルトのバインドであれば、universal-argumentは C-u に
割りあたっているようですが、TANEはC-uを他のバインドに変更してある
為、ちょいと面倒臭い感じになってます(^^;
もそもそとコーディング。なんとなく動く感じになったり。
気持ち遅めに帰着。
Webをちょろっと巡回してたらあまりの眠さに急速停止。
遅めに帰着。
眠くて死亡。
日付け越え。
眠くて死亡。
日付け越え。
眠くて死亡。
日付け越え。
眠くて死亡。
AM中に起床。ちょろり休出。
久保ミツロウ。いいとも(増刊号でしか見られませんが)に何度か出てるのを
たまたま見てましたが、トークが面白いなぁと思いました。
「それ町(10)」。安定してます。
昼ごろ起床。ちょろり休出。
そういや、王様のブランチの総合司会を務めている本仮屋ユイカが、
映画スウィングガールズの関口香織役(トロンボーンのメガネの娘)
だというのに初めて気づきました(^^; てか、全く判らなかった(^^;
スウィングガールズ公開が2004年で今から8年前か.....とは言え、
上野樹里が今もそんなに変わらない方が不思議なのだろうか?
ちょろり本屋に。色々仕入れたり。
「ONEPIECE(67)」。仕込みが満載という感じ。
DMDの2.060がリリースされている模様。gdcに来るのはまだ先か。それよりも
MinGW向けにはまだ2.059も来てないのに。gdcが少々ややこしい感じに
なっているのは、メインラインの対応が開発版のgcc-4.8向けにしかメンテできて
いないという所かも。現行リリースのgcc-4.7.x向けにすらブランチが
切られていて、「最新のgdcをgcc-4.7.xをベースにビルドしてみたが
コンパイルエラーになるのは何故だ?」という状況です。あと、MinGW
向けには、現行のMinGWに対して追加する形でバイナリ配布を行っている都合で
gcc-4.6.1をベースにせざるを得ない状況になってます。しかし、
gdcのメインラインは4.6.x以前のバージョンのサポートを打ち切っている為、
MinGW向けの修正がメインラインに反映されにくい感じにもなっているようです。
うまくまとめてくれないかなぁ?と思います。
「ハイスコアガール(2)」。続きが気になる感じ。てかもう2刷になってる。
日付越え。
ちょろっとWeb巡回して終了。あまりの眠さに急速停止。
日付越え。
ちょろっと調べ事をして終了。
遅めに帰着。
ちょろっとWebを巡回して終了。