2015-06-09から1日間の記事一覧

AMD : register 64KB lmem 64KB ごめんこれ間違い。レジスタ256KBあったわ。256register x 256item x 4byteだった。これなら、256+64=320KBで、574KBのweightの半分が載せられるので、演算メモリ比は1000:7までいけそう。まあ効率30%はいけるかな...

並列プログラミングに目覚めた!スレッド起動レイテンシ14.5msec のカスペル先生から受けたひどい仕打ち

#include <thread> #include <windows.h> #include <vector> struct Obj { HANDLE ev; std::thread t; Obj(HANDLE ev, std::thread &&t) :ev(ev), t(std::move(t)) { } }; std::vector<Obj> threads; static double sec() { LARGE_INTEGER v,f; QueryPerformanceFrequency(&f); QueryPerforma</obj></vector></windows.h></thread>…

いや

128x128x9 = 147456 = 3SM あればレジスタに乗る。outputPlane を 65535(強いNVIDIA)レジスタあるマシンでは3つか4つ、32768(弱いNVIDIA)マシンでは8ぐらい、16384(AMD)では16ぐらいに分ける これが正解な気がしてきた。レジスタが無限にあるなら、演算:メモ…

OpenCL版

今の状況を書いておくと、https://github.com/tanakamura/waifu2x-converter-cpp/blob/gpu/src/modelHandler_OpenCL.clいちおう動いている、が、FMA版よりまだ遅い。i7 4700MQ vs GTX 765M でFLOPS値 200 : 80 ぐらい 765M は 1300GFLOPS なので効率6%ぐらい…