2015-06-01から1ヶ月間の記事一覧

waifu2x-converter-cpp OpenCL RGB版

http://int.main.jp/files/waifu2x-converter_x64_0629_02.zip (libgcc_s_seh-1.dll が無いエラーが出てた人は02使ってください)http://int.main.jp/files/waifu2x-converter_x86_0629.zipはい。 -model_dir で、models_rgb を指定するとRGBになる(デフォル…

更新 07/26

AVX無いと遅いのをなんとかしようと思ってSSE版を作ろうと思ったのだけど、最近のPentium, CeleronとかだとSSEよりGPUのほうがはやい気がしたので、AVXが無い場合はOpenCLを使うようにしてみた。http://int.main.jp/files/waifu2x-converter_x64_0726.zip ht…

追記 07/06

w2xcr.exe ブロックサイズ指定できるようにした。http://int.main.jp/files/waifu2x-converter_x64_0706.zip http://int.main.jp/files/waifu2x-converter_x86_0706.zipなんかうまく動かないという人は、install.js の var WshShell = WScript.CreateObject(…

更新0719

http://int.main.jp/files/waifu2x-converter_x64_0719.zip http://int.main.jp/files/waifu2x-converter_x86_0719.zip w2xconv_convert_rgb_f32 追加 (RGBモデルのみ、rgbをfloatで入れられるAPIが欲しいと言われたから入れただけなので多分大半の人には影…

11/01

http://int.main.jp/files/waifu2x-converter_x86_1101.ziphttp://int.main.jp/files/waifu2x-converter_x64_1101.ziphttp://d.hatena.ne.jp/w_o/20151101#1446350337 ではやくした分を入れた。Haswell なら1.5倍ぐらい。FMA ついてるCPUなら一昔前のGPUと対…

更新 08/11

SSEの対応すぐ入れる方法思い付いたので入れた。http://int.main.jp/files/waifu2x-converter_x64_0811.zip http://int.main.jp/files/waifu2x-converter_x86_0811.zip以下のような優先度で処理する CUDA AMD GPU OpenCL FMA AVX Intel GPU OpenCL SSE (SSE3…

更新 10/18

http://int.main.jp/files/waifu2x-converter_x86_1018_02.zip (すいません、ビルドミスっていてAVXが無効になっていたので02を使ってください) http://int.main.jp/files/waifu2x-converter_x64_1018.zip更新が溜まってきたので更新。 https://github.com/t…

10/19

http://int.main.jp/files/waifu2x-converter_x86_1019.ziphttp://int.main.jp/files/waifu2x-converter_x64_1019.zipごめんふたつミスってたので修正 w2xcr.exe が jpg のシグネチャ間違えていたのでjpg入れても動かないことがある w2xcr.exe が AVX より G…

更新 08/13

http://int.main.jp/files/waifu2x-converter_x86_0813.ziphttp://int.main.jp/files/waifu2x-converter_x64_0813.zip sse 動いていなかったので修正。(確認してないけど多分AVXも動いてなかったんじゃないかなぁ…) 恥ずかしいミスを修正(https://github.com…

11/30

http://int.main.jp/files/waifu2x-converter_x86_1130.ziphttp://int.main.jp/files/waifu2x-converter_x64_1130.zip α値に一応対応。 png の bKGD で埋めてるのでbKGDに変な値入ってると変な色が出る可能性はある。 αはとりあえずbilinearで拡大してる 詳…

01/01

http://int.main.jp/files/waifu2x-converter_x86_0101.ziphttp://int.main.jp/files/waifu2x-converter_x64_0101.zip https://github.com/tanakamura/waifu2x-converter-cpp/issues/21 これ修正(大半の人には影響無いです) 送るメニューから実行したときに…

追記

すいませんsharedになってました。 http://int.main.jp/files/waifu2x-converter_x64_0629_02.zip 使ってください。

来年の自分へ

暑いので扇風機出した今日 http://d.hatena.ne.jp/w_o/20130707#1373200672 10日はやい。あれ去年のデータが無いぞ…

追記 06/29

更新した http://d.hatena.ne.jp/w_o/20150629#1435585193

OSX

http://qiita.com/iwag@github/items/c9ee44eb55c7c9fb0d32 を見てマージした。 https://github.com/tanakamura/waifu2x-converter-cpp/tree/merge-osx だれかCUDAかOpenCLか動くの確認しといて。手元のやつSM10だからもうCUDA動かない。(Makefile.osxを上げ…

w2xc.dll と send to waifu2x

はいdll にした。http://int.main.jp/files/waifu2x-converter_x64_0619_03.zip http://int.main.jp/files/waifu2x-converter_x86_0619_03.zip (すいません32bit は CUDA動いてなかったです。03を使ってください)欲しい人は中の w2xc.lib、w2xc.dll、w2xconv…

追記

http://int.main.jp/files/waifu2x-converter_x86_20150616_02.exe http://int.main.jp/files/waifu2x-converter_x64_20150616_02.exeごめんミスってたので更新 OpenCL版動いてる理由がよくわからないミスをしてた。 32bit版が64bit版だった sm30用のptx出し…

waifu2x 高速化版更新

CUDA版も入れた。いちおう区切りついたので32bit版も置いておく。http://int.main.jp/files/waifu2x-converter_x86_20150616_02.exehttp://int.main.jp/files/waifu2x-converter_x64_20150616_02.exe手元のGTX765M だとまだcaffe版のほうが3%ぐらい速いので…

追記

ごめん32bit版だとCUDA動いてなかったかも。 新しいのだと修正したはずだから http://d.hatena.ne.jp/w_o/20150619#1434643288 を参照してください。

デバッグprintfの仲間達

printfは複雑な挙動をするので信頼できないことが多い。おいつめられると以下のようなものをprintfがわりに使う。 デバッグwhile(1) コードが止まるかどうかを判定することでフローを確認する。マシン語数命令で完結するのでかなり信頼できる。OS無し環境で…

GCN

は?local memory 32KBしかないが…http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated-parallel-processing-app-sdk/opencl-optimization-guide/#50401334_pgfId-481974 All AMD Southern Islands GPUs contain a 64 kB LDS for each com…

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%ぐらい…

追記06/11 : waifu2x OpenCL 版

http://int.main.jp/files/waifu2x-converter_x64_20150611_2.exe多分良い感じになったはず。Linuxでしか動作確認していないので動かない可能性は残っている。(Kaveri 用のWindows入れたHDDどれかわからなくなってるので…)親切な人いたら、動いたかどうか(と…

waifu2x はやくした

なんか社内チャットでhttps://github.com/WL-Amigo/waifu2x-converter-cppをはやくしろというメッセージを受信したのでやった。https://github.com/tanakamura/waifu2x-converter-cpphttp://int.main.jp/files/waifu2x-converter_x64.exeコードの大半は、@WL…

更新06/13

http://int.main.jp/files/waifu2x-converter_x64_20150613.exeR9 290Xとか使ってる廃人環境向けに変更した。具体的には最初と最後のイテレーションをOpenCLにしている。最初と最後は全体の10%以下かつメモリネックなので、あんまりやる気が出なかったのだけ…

続き

一区切りついたので http://d.hatena.ne.jp/w_o/20150616#1434392833 に書いた。

追記

32bit版 http://int.main.jp/files/waifu2x-converter_x86.exeあとAVXあればFMAなしでも動くようになってるはず(Sandy以降)。あんまチューンしてないので期待しないで。まーチューンしてないというなら、VCがGCCより悲しいコードを出していてそもそもWindows…