2015-01-01から1年間の記事一覧

切り換え http://www.ti.com/lit/ds/scds342/scds342.pdfimmediateはどうか? http://gamedev.stackexchange.com/questions/24103/immediate-gui-yae-or-nay

コーディングスタイル

コードを書くときにキャメルケースを使わなくなるように矯正訓練されてしまった。 歳月が経てば色々あるもんだ。

Delta Mush for Smooth Deformations

https://vimeo.com/103666815 http://www.fxguide.com/wp-content/uploads//2014/08/deltaMush.mp4 https://vimeo.com/103717638 https://www.youtube.com/watch?v=96inuOudkyk Meshのめり込みが劇的に解消されてる。

OpenCL

http://developer.amd.com/tools-and-sdks/opencl-zone/codexl/

メモリの共有とか同期

OpenCL https://software.intel.com/en-us/articles/opencl-20-shared-virtual-memory-overview https://software.intel.com/en-us/forums/topic/541722 http://developer.amd.com/community/blog/2014/10/24/opencl-2-shared-virtual-memory/ http://develo…

VisualStudio

startup project .suoが無い場合は、最初のプロジェクトをstartupにするんだとか。 http://stackoverflow.com/a/1808352 殺伐とした開発現場では不注意にsuoをcommitしたばかりに管理者に目を付けられる事があるのでオヌヌメ

Nsight でのDLLデバッグ

CUDAの呼び出しコードがあるDLLをLoadLibraryしてGetProcAddressして取得した関数を実行するプロジェクトはすんなりうまく行った。 そのexeをBuildするプロジェクトからデバッグ実行するのではなくUtilityプロジェクトで実行する場合は、Nsight User Propert…

cudaMemcpy2D

ホスト側のメモリとデバイス側のメモリでピッチが異なる場合のコピーに使える。ホスト側のメモリをpinnedにするには、cudaHostRegister っと。。 しかし hemi/array.h は cudaMalloc しか使って無いな。。まぁhemiだけで完結させる場合は良いかもだけど、最…

CUDA_Occupancy_Calculator.xls

webから落とさなくても、CUDA_Occupancy_Calculator.xls にあったのか。。

CUDA

昨日まではそんな事が無かったのに、VisualStudioでCUDAの.cuファイルのコンパイルに延々と時間が掛かるようになってしまった。BuildのCancelをしても止まらないのでタスクマネージャーでMSBuild.exeのプロセスを強制終了…。原因の切り分けの為にソースコー…

CUDA Toolkit 7.0

https://developer.nvidia.com/cuda-toolkit 6.5入れたばっかりだけど入れなおしてみるか。。nvccの最適化が良くなったのか最近練習で書いてるプログラムの処理時間が微妙に短くなった。 テンプレート関数を使うと処理時間が遅くなるのは相変わらずだけれど……

CUDA

http://www.nvidia.com/content/GTC-2010/pdfs/2238_GTC2010.pdf Thread-level parallelism (TLP) にばっかり目を向けるんじゃなくてInstruction-level parallelism (ILP)もちゃんと見た方が良いというお話 PTXの確認方法 keep --source-in-ptx -G を付ける…

CUDA

const __restrict を引数に付けるとTexture Cacheを自動的に使ってくれるらしい。 http://on-demand.gputechconf.com/gtc/2012/presentations/S0642-GTC2012-Inside-Kepler.pdfこれはMaxwellのGPUでも有効なんだろうか?Compute Capability指定いくつ以上か…

こたつトップのモニタが寝っ転がると見れないからブラウザの設定を変えてズーム表示にした。目が悪くなりそうだ。。

https://news.ycombinator.com/item?id=8873935IntelとかのCPUの作り的に効率よくこなせる処理とそうでない処理があるので、諦めが肝心かもしれない。。

resource file

クロスプラットフォームなリソースファイルで良い方法は無いかなぁと探して、実行ファイルに組み込むならCの配列を bin2c とかで作っておけば良いだろうと。。 実行ファイルと切り離して差し替えるようにするとなると、疑似ファイルシステム使う手があるかな…

カッコウはコンピュータに卵を産む

昔BookOffで買ったのを週末に読んでみた。昔は通信内容が暗号化されていなかったのか、犯人がどんなコマンドを打ったのかを通信傍受で丸わかりというのが汗な感じ。犯人を逆探知して捕まえる為に意図的にセキュリティホールを残したままなのは今だと無理な気…

debugging

objectファイルの情報、ELFとかdwarfとか。viewer色々あるけどう〜ん…。http://stackoverflow.com/questions/2511018/objdump-s-source-code-listing https://www.sourceware.org/gdb/ http://www.ibm.com/developerworks/jp/opensource/library/os-debuggin…

これで見分けが付きやすくなりそう

https://visualstudiogallery.msdn.microsoft.com/f3f23845-5b1e-4811-882f-60b7181fa6d6

.sファイルの読み方

http://stackoverflow.com/questions/1289881/using-gcc-to-produce-readable-assembly 知らなかった…。

WTL CGridCtrl

Yahoo groupsのfilesがお亡くなりになっていて取得するのが大変だった。あまりにマイナー過ぎるものは歳月が流れるとインターネット上から取得しづらくなる…。昔ながらのWindows ProgrammingをC++でやる時にはWTLは便利なので、腕がさび付かないようにしない…

Cortex-M7

http://news.mynavi.jp/articles/2015/02/16/cortex-m7/ Cortex-M7のエリアサイズはCortex-M3の32倍、って書かれているけどなんだか差が恐ろしいな。。こりゃ回路の集積度が上がればGPUのSU数を増やせるわけだ。。データ並列性が大きいタスクってのはあるん…

WTL

久しぶりにWTLを使った。何年振りだろう。。去年買ったノートPCにはVS2013 Express for Desktopしか入れていなかったのでCommunity EditionをDownload&Install。sourceforgeからWTL90_4140_FinalをDownload。AppWizのSetup.jsが複数のバージョンのVisualStud…

x64

Core i5-4200UのPCだとx86ビルドの方がx64ビルドより処理時間が短くなるので、プログラムの種類によっては32bitコードの方が向いてるのかな?と思ったけれど、最近Core i5-4670のデスクトップPCを復帰して試してみたらx64ビルドの方が処理時間が短くなる。ど…

SIMD演算のお話

ARMのNEONは殆ど使った事が無いけれど、色々情報が参照できる。http://community.arm.com/groups/processors/blog/2010/03/17/coding-for-neon--part-1-load-and-stores http://community.arm.com/groups/processors/blog/2010/05/10/coding-for-neon--part-…

SIMDのシフト演算のお話

SSE2やAVX2のレジスタ全体をシフトする命令はコンパイル時定数しかパラメータに受けとるものしか無いので、目的の処理を書くのに困る事がよくある。XMMレジスタの場合はコンパイル時定数だけれど、128bit丸ごとを指定のバイト単位でシフトが出来る。 _mm_bsl…

de-interleave bits

http://stackoverflow.com/a/3233173 - http://stackoverflow.com/questions/4909263/how-to-efficiently-de-interleave-bits-inverse-morton // morton1 - extract even bits uint32_t morton1(uint32_t x) { x = x & 0x55555555; x = (x | (x >> 1)) & 0x3…