OpenCVをビルドしようとしたら色々あってQtをビルドする方向になった。いろいろ大変だったのでメモを残しておく。 環境 環境はこんな感じ。 Qt 5.10.0 MinGW 7.1.0 (Pleiades All in One 4.7.0 に入ったいたやつ) MSYS 1.0.19 (Pleiades All in One 4.7.0 に…
JetsonTX2にChainerとJupyterを入れてブラウザで少し動かしてみたので環境構築のメモ。環境はJetPack3.1をインストールした状態。ほかは何も入れていない。 (Web検索するとTK1、TX1の情報が混ざって見つかるのでTX2での状況整理もかねて) CuPy、Chainerの…
C++11での話。もしかしたら、もっと良い方法があるかもしれないけどstd::futureの使い方について自分用にメモを残しておく。 前提 マルチスレッド動作 片方のスレッドでひたすら仕事を処理する(ワーカースレッド的な) 仕事の内容を選ばないようにstd::functi…
JetPack3.1が出たようなので、3.0からバージョンアップしてみた。 JetPack3.0のアンインストール 上書きインストール可能なのか不明なので、いったん旧バージョンをアンインストールしてみる。実機は焼き換えが入るので、ホスト(開発PC)側だけ消せばよさそ…
JetsonにはSystemProfilerってのが入っていて時系列にどのスレッドがCPU使用率高めだったのか確認できるらしい、ってことで試しに使ってみた。 前提 Jetson側にはデータ採取用のドライバか何かが入っているっぽい 開発PC側から遠隔でJetson側に接続して測定…
CUDAとかを呼び出すにあたって、アーキテクチャを知らないと性能でないよね。って話でちょっと調べてみた。ここ*1とかここ*2、後はデータシートを参考にさせてもらってGPU部分の想像図を書いてみた。 Tegra X2のGPU部分想像図 Tegra X2のGPUはGP10Bというコ…
JetPackのインストールではまってしまった。ここ*1のリリースノートには at least 10GB of disk space is needed for the complete installation of JetPack. って書いてあるので余裕だと思っていたけど、普通にディスク容量が足りなくて焼きこみに失敗した…
ファイルのダウンロードにまだ時間がかかりそうなので気がついたことをメモっておこうと思う。 電源プラグ JetsonのACアダプタだけど、3極プラグになっている。自宅で使用するためには2極への変換が必要。 USBプラグ 2つあるけど、1つは焼き込みに使うの…
とある機会をもらってJetson TX1を少し触らせてもらったのだけど、そうしたら自分でも欲しくなってしまった。 そんなわけでJetson TX2を購入した。 開発PCは単なるLinuxPCになっていたZOTAC ZBOX AD-02を使おうと思う。 AMDのAPU E-350が入っているけど今ま…
普段ビルドに使っていない方のPCにclangを入れようとしたら結構バージョンが上がっていた。 忘れないようにメモっておく。 環境 環境はこんな感じ。 Windows7 Ultimate SP1 64bit MinGW32 5.3.0 Clang 4.0.0 インストール mingwとclangは両方ともインストー…
やりたいこと サーバ(Linuxならサーバじゃなくても良いけど)でデーモン的な何かが稼動している サーバ側はC/C++で作っている サーバの状態を外部からGUIで確認したい できるだけ手間をかけずに実現したい 複雑なGUIを作らないならHTMLでできそうな感じだっ…
Windows7環境でSDKを使ったプログラムを開発しようとしてみた。 使ったバージョンは以下の通り。 Windows SDK v7.1 clang v3.2 (32bit) なお、以前に書いた「clang+boostでWinアプリ開発」とかの記事*1を前提としているので注意されたし。 最終的にはここに…
今回は単なる失敗談。 clang 3.2 Qt 5.5.1 やろうとしたこと Windows PCにQt Creatorをインストールしたので、サンプルアプリをclangでビルドして実行しようとした。QtはMinGWでビルドされていたからABIの不一致がちょっと心配だった。 色々いじって警告を出…
ということで、早速boost::gilを試してみた。 手元のboost v1.55.0 には普通に含まれているようだ。 makefile ここは特筆すべきこと無し。 CC = clang LIB_TOP = C:\maminus\lib BO_TOP = $(LIB_TOP)\boost_1_55_0 INC = \ -I $(BO_TOP) \ -I . \ -I $(LIB_T…
ふとpng画像をいじくり倒したくなってみたのだが、いつの間にやらboost::gilというのでlibpngが使えるようになっているらしい。 ただ、libpngは別途インストールが必要ということでやってみた。 zlib libpngはzlibに依存しているらしいので、zlibをダウンロ…
clangで作ったDLLをExcelから呼べなくてはまったので解決法をメモ。 Excelから外部DLLを呼ぶ場合 DLL側関数は「WINAPI」をつける必要がある*1 つまり「MS stdcall」って呼び出し規約になる模様 clangでWINAPIをつけた関数 「ExportedFunction@20」みたいに「…
前回*1まででmakefileから関数呼び出しをCSVへ抜き出す用意ができたので、関数コールグラフもどきに変換するツールを作ってみた。 利用イメージ [maminus@localhost shm]$ call_grapher.exe net-socket.csv net-core-sock.csv > call-graph.txt のような感じ…
前回*1作ったツールは解析対象のソースファイル名を先に持ってきたりとちょっと動かすのが面倒だった。 実際にはソースっていろんなコンパイルオプションがついていたり、インクルードパス設定が複雑だったりする。 ソースを解析するときにそれらを加味して…
今までずっと「C言語のソースコードを解析する技術」をものにしようと色々勉強していたのが、clangでようやくなんとかなりそうな予感がしてきたのでやったことをまとめようと思う。 これまで挫折した方法 今まではチャレンジしては挫折を繰り返してきた。 …
前々からID3D11DeviceContext::Flush()を呼んでもいまいちコマンドが即座に発射されている気がしなかったり、GPU PerfStudio 2やPIX先生がIDXGISwapChain::Present()を発射しないとログれなかったりと、いやな予感はしてたんだけど実際に計測プログラムをGUI…
C++BuilderXE3 update2での話。他のバージョンは試してない。しばらく見ないうちにBuilderがVCL以外にFireMonkeyってのを積んできていたので「アプリの見た目を簡単にリッチっぽくできるしちょっと遊んでみるか」と思っていじってたんだけど、例によってはま…
やり残していたclangでのDLL作成と外部DLLの呼び出しをやってみた。 DirectX呼び出し .libは32bit版(x86ディレクトリに入っている方)をリンク時に指定したらビルドできた。 あと、bccと同様に「__in」とか「__in_bcount_opt」とかをdefineで無効化しないとコ…
今までWindowsでgccとかって面倒そうなので敬遠していたけど、自分の周りが全部Win7 64bitになってしまい、TurboC++/C++Builder2006がXP-modeを入れないと使えなくなってしまった。実際にXP-modeを使ってみたらデータのやり取りが超面倒で死にそうになったの…
XE3のupdate 1が出てbcc64がついに使えるようになったということで、急いでXE3を購入したんだけど、既存のbcc32でビルドしていたDirectXアプリをbcc64でビルドしようとしたら、どハマリして色々やってようやくビルドできるようになった。ということでその過…
話としては、昨日*1の続き。そしてついでに性能評価にからめてみる。 すっごい遅い件 シェーダのこの部分 #ifdef GI_IS_B uint3 rgb = uint3(Gid.x, Gid.y, Gid.z*NUM_THREAD_X*NUM_THREAD_Y*NUM_THREAD_Z+GI); #else uint3 rgb = uint3(Gid.x*NUM_THREAD_X*…
ということで、先日*1予告していたROPのfloat->UNORM変換が単純な「切り捨て」ではなく、「近い数値へ丸め」となっているかどうかの検証をやってみた。 検証プログラムの概要 こんな感じのプログラムで検証をしたいと思う。 ComputeShaderで3DテクスチャにRG…
ComputeShaderを叩いていたらどこにボトルネックがあるのか気になったのでGPU ShaderAnalyzer v1.59.3208を入れて試しに解析させてみた。 対象ソース 以前記事にしたHSV変換コードをかけてみた。 ここで再掲する。 // hsv.hlsl float3 rgb2hsv(float3 rgb) {…
小ネタ。というか、自分用のメモ。 bccのv5.82環境(TurboC++)でwindows.hを読まずに最小限のヘッダをincludeするとどれなのか調べてみた。 (PCがしょぼいとコンパイル遅いので…orz) 各ヘッダに入ってそうな定義類 .hの中身を見て確認したらざっとこんなもの…
次の記事が長くなりそうなのと、そろそろソースを載せるたびに細かいコード断片を出すのがアレなので共通ライブラリとして作っている自作のDirectX11のラッパコードから今後掲載する可能性がありそうなコードをさらしてみる。 基本的にペラペラの薄いラッパ…
Wikipediaの変換式とかを見ながら実装してみた。*1まずRGB->HSV float3 rgb2hsv(float3 rgb) { float3 hsv; float rgb_max, rgb_min; float diff; float base; float div1; float div2; rgb_max = max(max(rgb.x, rgb.y), rgb.z); rgb_min = min(min(rgb.x, …