HSPCL ver1.11で大きな変更点はないが、カーネル内でグローバルアイテムを2次元方向に拡張できるようにした。
ここで面白くなってくるのがマンデルブロー集合の描画
ダウンロード
ダウンロード
普通リアルタイムに描画できないくらい、何度も計算を繰り返さなければいけないのだが、その計算が案外単純で、あまり隣接要素へ相互間作用を及ぼさないアルゴリズムなのでOpenCL移植によって相当な高速化ができた。
core i7 3820とHD7970でfpsに約10~20倍の差がでた。
操作はgoogleマップと同じといえば分かるだろう。マウスホイールのない方は残念ですが・・・はい、拡大縮小出来ません・・・
計算精度がfloatのためあまり拡大すると粗が目立つが、ここはdouble-doubleの四倍精度計算のアルゴリズムを改良してfloat→float-floatの擬似二倍精度でやればほぼdoubleと同じ精度が得られると思われる。
逆にミドルレンジ以下GPUはまずdouble計算できない事が多いので、float-floatがベストだろう
とりあえずソースと実行ファイルをUP。
また、「砂遊び 」のサンプルを快くテスト実行してくださった通りすがりの皆様のお陰で、だいたいHSPCL.dllの動作環境がわかってきた。
恐らくこうであろう実行環境・・・・・
OS : Windows XP以降
グラボ : Geforce系なら9800GT以降、RADEONは不明、intel HD Graphics 2500/4000以降
CPU : intelでかつcore iシリーズなら対応グラボなしでも「Intel SDK for OpenCL」をインストールで動作
Direct X : 9.0c以降(?openclとは関係ないかも)
だが依然としてHSPSHADより要求スペックが高いのには変わりなかった