2016/05/31

負けたけど勝った


・・・春イベ実施中です。

2016/04/03

5年間

最近、SSEとかAVXとかの中身を調べていて思ったこと。
AVXは浮動小数点が256bit化され、AVX2は整数演算も256bit化されたらしいです。
だからAVX2ではx264の性能が上がってるんですね・・・

それにしても、CPUの最新モデルであまり変わり映えがしなくなって早数年、
PCの性能を左右する自作のキーパーツ ~CPU再入門編 その1~
でも5年前のCPUにもかかわらず、OC前提ならまだいけるのでは?(意訳)と言ってしまっているように、実質、今でも5年前のCPUであるところのi7-2600Kから乗り換えるメリットは薄いといっていいでしょう。なにせ、定格から30%もOCして常用できます。
この差を電力効率の向上でペイできるかというと実際のところ大半の人の使い方では「NO」でしょう。
電力が50W違って24時間365日動かしっぱなしにしても1万円/年も変わりません。

1998年ごろからの目まぐるしく変わるCPU市場を見慣れてしまった分、最近は「何も変わらない」という気がしてしまいます。
その理由を求めるなら、ついこの間Intelが認めたようにムーアの法則が崩れたこと、パソコンの主目的がシミュレーションやゲームなどの演算能力を必要とするものからただ単にインターネットができればよいというように変わってしまったこと、単にライバル(AMD)の停滞といったことも挙げられます。

スマホの普及により、ネット利用向けのパソコンの市場は縮小している昨今ですが、縮小すればこそ、コアな人たち向けの自作PC、という時代が再度来てほしいと願ってしまったりもします。

2016/03/26

コンパイラの吐くアセンブリコードがほぼ手書きと同じレベルな件

というかもはや最適化はインラインアセンブリではなく、
「如何にコンパイラが最適化しやすいCコードを書くか」ということに尽きる気がします。

というわけで21500ぐらいまで来ました。

何はともあれ、自分の環境(DevilsCannyon=Haswell)4.5GHzで普段使っているフィルタをかけて25~26fps出るようになったため、24フレームのアニメをフィルタをかけてリアルタイム再生できます。

参考にいつものフィルタは↓(TFMは事前処理(1pass目)なので2pass目では実質バイパス)
TFM(mode=1,order=-1,PP=1,slow=2,input=TFMout,batch=true)
TDecimate(mode=1,tfmIn=TFMout,input=TDout,batch=true)
FluxSmoothT(temporal_threshold=3)
Spline144Resize(resizex,resizey)
block=32
dfttest(ftype=0,f0beta=1,sigma=4,sbsize=block,sosize=block/2,smode=1,swin=0,tbsize=1,tmode=0,twin=7,dither=1,opt=0)
unsharpHQ(STR=1.0)

2016/03/21

7日間の残り

フロイド-スタインバーグ・ディザリング

ネックはdfttestのdither処理難ではないかというところで。
単純に最新のVCでコンパイルするだけで2割速くなりました。

が、そこからがなかなか短くならない・・・

コードの最適化もしているのですが、1000フレームのアニメをエンコードするのに
VC2015 communicateのプロファイラでモジュールのサンプル時間(1ms/sample)を測定したところ
dfttest 1.9:30123
dfttest VC14 /Ox /Arch:SSE2:25118
dfttest VC14 /Ox /Arch:SSE2 Optimized Code:22230
ほどかかっているようです。

ちなみにほかにも
fftw:39781
DGDecode:7348
FluxSmooth:3348
unsharpHW:3113
SplineResize:2457
となっています。
fftwは並列化されているためボトルネックにはならないのですが、やはりdfttestの関数自体の20s超が気になります・・・。
ディザリングをしなければこれが劇的に減るのですが、ね。

もうちょっとコードを弄ってみましょう。

というか、コンパイラで早くなったのはどうも浮動小数点の精度の所為な気がします。
というのも演算結果が変わるので・・・。
まぁ、SNは90dB以上=0.002%程度の差、1digit程度の差しかないため、実質問題はないかと。
/fp:preciseを指定しているのですが、謎です。

2016/03/09

どこへ行こうというのかね?

MASM refference
x86/x64 SIMD命令一覧表 (SSE~AVX2)

・・・なんでこんなことを調べているのでしょうか・・・

visual studio expressを2015にしたんですよ。
んで、よくよく調べるとMASMってちゃんとVCに入ってるんですね。

というわけで今までMASM6.15でアセンブルしていたのを最新版でアセンブルしようと・・・したらできなかったという話です。

masm6では問題なくアセンブルできていたのに、その後継の14でできなくなるとは之如何に。

table1 sword 16384, 21407, 16384, 8867
movdqa xmm0,[table1]
というようなコードをアセンブルすると

エラー A2022 instruction operands must be the same size

と言われるという・・・
如何せん僕はwindowsのソフトをほとんど弄ったことがありません。
見たことがある(わかるわけではない)のも386のアセンブラぐらいというロートルなので、そもそもオペコードの意味が分からない・・・
とかいろいろグーグル先生に尋ねた結果、アドレスの書き方が良くない?らしいということが判明。
movdqa xmm0,xmmword ptr[table1]
というようにしたら治りました。

まぁ、あまり原因はわかっていないのですが。
_DATA SEGMENT PARA PUBLIC USE32 'DATA'とか書いてあるのが多少気になりますが、そもそも意味が分からない・・・

という話とは多分関係ないのですが、ひとまず、DGIndexをAVX2を有効にしてコンパイルすると
同一ソースで150MB/s→170MB/s@Haswell4.5GHzぐらいになりました。fpsは調べてませんが。
大体1割早くなった感じでしょうか。
AVX2>AVX=SSE2ぐらいで。

TIVTCも早くなったりするだろうか。
というわけで試してみたけど変わりませんでした。
そして別にコンパイラ最適かじゃなくて、Tdecimateの差分算出を並列処理させれば早くなるんじゃね?とか思って
ベクター化と並列化のメッセージ
を眺めている今日この頃。

深みにはまるだけな気がして仕方がない・・・

2016/03/06

危険予知

最近・・でもないですが、KYってのが多くありませんか?

2016/02/11

冬イベ

カンパンがガルパンに見えて仕方がない・・・

2016/01/11

2年越しの夢が・・・

ついにかないました。

・・・といっても、長らく、鯖(Windows Server 2008R2 SP1)にIE11がインストールできない病にかかっていたのが、ようやく治った、という話ですが。

【経緯】
IE8,9あたりのサポートがなくなります。
どうせFFを使っているので困らないのですが、IEのコンポーネントを使っているアプリ系で動作不良が出てくると困るな、と思ってようやくアップデートしようと思い立ちました。
(というかずっとエラーになっているのは知っていたのですが、困らないので放っておいてた)
・・・というか、IE10もインストールが成功しないまま放っておいてたな・・・

【その1:なぜか成功しない(今思えばIE9絡み?)】
ずっとWindowsUpdateで
エラーコード:3701,0x80070002
というのが出続けていた。
WUのキャッシュを削除したり、いろいろやっても変化なし。
のため、あきらめてOSを上書きインストール。

・・・したのに治らない!
お前どういうことだ!?

というわけでいろいろgoogle先生にお伺いを立てたところ
C:\Windows\IE11_main.log
見ればいいんじゃね?ということを教えてもらう。そうか、ログとかちゃんと残ってるんだ・・・

2015/12/21

Windows10

最近、ついにメインマシンをWindows10に移行しました。

その過程で
7 Ent →7 Pro
のダウンエディション?をやるには
HKLM\SOFTWARE\(Microsoft|WOW6432Node)\Windows NT\CurrentVersionの
ProductNameとEditionIDのEnterpirseをProfessionalに変更した直後に
7proにupgradeすれば良いということを知りました。

無駄にUEFIブート化にこだわったので、
PartitionMasterで先頭に300MBぐらい空きを作る
→gptgenでgptに変換
→diskpartでgpt用パーティション作成
→UEFIで起動
という手順を踏んでいて面倒でしたが。

まぁ、PartitionMasterをお金を払ってPro版にすればやってくれるんですけどね。

2015/12/12

そういえば秋?イベの結果

無事甲種勲章げっとしました。

2015/12/06

久しぶりにスクリプトをいじったら

:: Shift-JISの文字化けについて | KENT-WEB ::

すっかりダメ文字の処理の仕方を忘れていましたとさ・・・

というわけで、
cp932→utf8でデコードしてから正規表現などの処理→cp932にエンコードしてファイル処理
とかやってます。


そして、今になって気が付くバグ(魔法のコード)が・・・
様々な試行錯誤をして今のコードが出来上がっているので仕方がないのですが、局所化の仕方が怪しかったり・・・
確かにこれで動けど、所謂バグだよね、という。

2015/12/02

2015/11/28

力技

PCをリモコンで起動できる拡張カード「ES01-PCIE」テストレポート。いろいろな意味で力技のデバイスだが謳い文句に偽りなし - 4Gamer.net
届いたんだ……届いたんだよ……!!

こういうバカっぽいネタは好きです。
・・・買いませんが。

2015/11/23

アスク税という名のなにか

「アスク税」とは何か ~ゲーマーのためのグラフィックスカード流通事情講座 - 4Gamer.net
「買うしかない」人達は確実に存在し,その人達は,どれだけアスク税が高くともZOTACやSapphireのカードを買うのだと,営利企業であるアスクは長い経験から確信している

とても分かりやすい解説でした。
漠然とサポート料として認識していましたが、国内と米国でのシステムの違いや、ユーザに負担させる「税」にはさまざまな使途があり、単純に懐に入れているだけではないということで。
まぁ、そうなんでしょうね。

2015/10/25

蛍光灯が・・・切れた!?

事前に調べたところ、TOSHIBAのメロウZが6700Kで良い感じ。

・・・が、近所のジョーシンに行ったら何故かPanasonicしかない。
意味が分からない。
仕方がないのでパルックプレミアLSとやらを買ってきた。
・・・色温度が7200Kのため、部屋が全体的に青い。
因みにもともとついていたのはNECのライフルックHGX昼光色でこれも6700K

7200Kならいけるんじゃね?と思っていたのですが、部屋に入るたびにこれはダメだ!と思うため、
今日はEDIONへ。

今度はちゃんとTOSHIBAもありました。
がメロウZ PRIDEには「色温度7200K」という表示が燦然と・・・
そんな馬鹿な!?

というわけで、再度調べなおしたらメロウZは色温度6700Kだが、メロウZ PRIDEは7200Kということが判明。

そのうち慣れるのかもしれませんが・・・
あと1週間してからamazonでぽちるかどうか決めましょう。

2015/10/13

さんれんきゅー

Nitro+とみなとそふとな2日間でした。
ライターさんの地力の違いが出る感じで。

というか今更間漂いますが・・・
3部作はまとまった時間がないとなかなか見れないので。
・・・てか新編は1st-takeも(続きで全部)見たので、4つ分ですね。

最後は自転車を漕いでました。


そしてこんなことを知りました。
アニメ神のみ制作 苦境の背景(2015年10月11日(日)掲載) - Yahoo!ニュース
見覚えのある制作会社なので残念なところ。

が、評にあるように、ビジネスモデルの変化が必要な時期に来ている気もします。
アニメファンの数が頭打ちでアニメのスポンサーがBD販売元、という現状でアニメの制作本数が増えるのは奇妙です。
円盤ビジネスが成り立つのは本来ごく一部の(つまりはOVAで成り立つ)作品な気がするのですが・・・市場が大きくなった弊害でぎりぎりなところで成り立ってしまっているんでしょうね。

また、「同じ層をターゲットにしている作品が、同時期に見切れないほど(個人の感想です)放映される」というのはどう考えておもかしいです。
どんだけ同じパイを取り合っているのか、という・・・

市場が縮小傾向にある中で制作本数を増やしても自分の首を絞めるだけですし、
ひとまず制作本数を減らしても市場規模はあまり変わらない気がするのですが、違うんですかね?

2015/10/07

解析解析・・・

GoldenCheetah

いろいろデータをあれこれしてくれるソフト。
便利そうです。

今日はお休みでグータラしてました。
朝起きて、そういえば昨日の晩ごはんを食べていない、と気が付くも、特に何もせず。

そして、唐突にガラケーを機種交換しようと近所のショップに赴くも、店員さんに「ネットで本体買ってショップで手続きしたほうが安いですよ」と言われそうすることに。
というか、現在の形態はいつの間にかICの読み取りミスで止まってたり、雪山に持ってくといつの間にかICの読み取り(以下同文)なので、防水・防塵機能が欲しいだけなのですが。

というわけでネットで最近のガラケーを購入。
何と、最近のガラケーは連続待受約710時間・・・って約1ヶ月!?という長大なバッテリを積んでいるものがあるとのこと。

これでもうしばらく耐えしのぎましょう。

2015/10/05

偶然の一致

最近週末に晴れていれば自転車に乗っていることが多いです。
そして先週は突発的にビワイチ(北)に行ってきました。

朝7時頃に豊公園に到着・・・したらなんかちゃりダーが沢山いる・・・
何事?と思ってよく見てみるとカミハギのジャージを着ている人が沢山。
ということで思いがけずカミハギのイベント日だったようで。

北西からの風が強く、長命寺を超えたあたりで「200W出しても25kmも出ない」という事態に遭遇したり、いつも通り、次のコンビニで休憩しよう、と言った後に10km以上コンビニが無かったり、その辺はいつも通りです。
信号がなくて距離が稼げるため、朝7:30頃発で14:30頃着という感じでなんかお得な感じでした。

そして昨日はやまびこロードを走り、虹が出てるぜ、と言っていたら雨が降ってきたり(そりゃそうですが)、獲得標高1000m近いけど結構楽だね、と言っていたり、登りより下りで出力を多く出していたりしました。

何故かその後突発的にアルペジオの映画を見に行きました。
映画館なんて・・・10年ぶり?だったのですが、まぁ、別に昔と変わりませんね。
作品自体は綺麗に終わった感がありました。

2015/09/13

懐かしい・・・

「NScripter」におけるバッファオーバーフローの脆弱性対策について(JVN#08494613):IPA 独立行政法人 情報処理推進機構

僕の中ではねこねこソフトなのですが、最近は何に使われているのか・・・

とはいっても「細工されたセーブデータを読み込んだらBOF」なので、DEPとか使ってれば関係ないんじゃね?と思わなくもない。
詳しくは知りませんが、どうなんでしょうね。
まぁ、ってか誰かが配ってるセーブデータを使ったりするとそういうことになるかもよ、って話で。。

2015/09/10

買ってしまった・・・

Matlab home

言わずと知れた、便利なツール。
MATLAB, Simulink, DSP System Toolbox, Signal Processing Toolboxが入って30k。
「ほら、そこに魔法のカードがあるじゃろ?」
と囁かれるがままに、ぽちっとな。

趣味で使うのにちょうどよい感じです。