レス数が1スレッドの最大レス数(10000件)を超えています。残念ながら投稿することができません。
管理人の独り言5
前スレ:
管理人の独り言4 - 黒歴史集積所
http://jbbs.shitaraba.net/bbs/read.cgi/computer/38153/1414980126/
comdition_variableがunique_lockを要求する理由を風呂に入りながら理解した.確かに必要だ.
タイムテレビ発売まだ?
何故にstd::atomicのデフォルトコンストラクタはメモリオーダーを指定できないのか.
mfence命令が発行されまくる.
ということで,ビジーウェイトやめます.
condition_variableコストデカすぎ.OpenMPに勝てそうにない.
main.cpp
https://gist.github.com/ACUVE/b4ee1008a4c539e3f09b
-----
自分の環境で走らせるとこんな感じになった.
Thread: 5829, OpenMP: 1964
Thread_v: 0.785648, OpenMP: 0.785648
上の値は最小値ですね.nsで計測している.
Thread_v, OpenMP_vを出力させているのは,最適化で値の計算を消えないようにするためだけである.
NUM_TSET: 100000
Thread min time[ns]: 6548, OpenMP min time[ns]: 1989
Thread mean time[ns]: 15351.8, OpenMP mean time[ns]: 2343.72
Thread_v: 0.785648, OpenMP_v: 0.785648
圧倒的な差!
うーん.
-----
NUM_TSET: 10000, count: 100000
Thread min time[ns]: 98513, OpenMP min time[ns]: 95865
Thread mean time[ns]: 130810, OpenMP mean time[ns]: 101927
Thread_v: 0.785401, OpenMP_v: 0.785401
パラメーター変えて測定してみた
NUM_TSET: 1000000, count: 100
Thread min time[ns]: 4156, OpenMP min time[ns]: 1186
Thread mean time[ns]: 14841.1, OpenMP mean time[ns]: 1565.08
Thread_v: 0.779958, OpenMP_v: 0.787894
----------
NUM_TSET: 100000, count: 10000
Thread min time[ns]: 13516, OpenMP min time[ns]: 10467
Thread mean time[ns]: 24324.7, OpenMP mean time[ns]: 11391.9
Thread_v: 0.785423, OpenMP_v: 0.785423
----------
NUM_TSET: 10000, count: 100000
Thread min time[ns]: 98832, OpenMP min time[ns]: 95875
Thread mean time[ns]: 136032, OpenMP mean time[ns]: 100624
Thread_v: 0.785401, OpenMP_v: 0.785401
----------
NUM_TSET: 10000, count: 1000000
Thread min time[ns]: 951989, OpenMP min time[ns]: 949224
Thread mean time[ns]: 1.02562e+06, OpenMP mean time[ns]: 982949
Thread_v: 0.785398, OpenMP_v: 0.785398
いくらかデータを内挿
NUM_TSET: 10000, count: 200000
Thread min time[ns]: 193563, OpenMP min time[ns]: 190695
Thread mean time[ns]: 265843, OpenMP mean time[ns]: 201019
Thread_v: 0.785399, OpenMP_v: 0.785399
-----
NUM_TSET: 10000, count: 300000
Thread min time[ns]: 288043, OpenMP min time[ns]: 285468
Thread mean time[ns]: 370537, OpenMP mean time[ns]: 300135
Thread_v: 0.785399, OpenMP_v: 0.785399
-----
NUM_TSET: 10000, count: 400000
Thread min time[ns]: 383294, OpenMP min time[ns]: 380304
Thread mean time[ns]: 485460, OpenMP mean time[ns]: 397447
Thread_v: 0.785399, OpenMP_v: 0.785399
-----
NUM_TSET: 10000, count: 500000
Thread min time[ns]: 476907, OpenMP min time[ns]: 475121
Thread mean time[ns]: 615292, OpenMP mean time[ns]: 508296
Thread_v: 0.785399, OpenMP_v: 0.785399
更に内挿
NUM_TSET: 50000, count: 20000
Thread min time[ns]: 23110, OpenMP min time[ns]: 19986
Thread mean time[ns]: 39553.6, OpenMP mean time[ns]: 21371.1
Thread_v: 0.785411, OpenMP_v: 0.785411
-----
NUM_TSET: 50000, count: 30000
Thread min time[ns]: 32166, OpenMP min time[ns]: 29474
Thread mean time[ns]: 49723.7, OpenMP mean time[ns]: 31779.5
Thread_v: 0.785406, OpenMP_v: 0.785406
-----
NUM_TSET: 50000, count: 40000
Thread min time[ns]: 40792, OpenMP min time[ns]: 38976
Thread mean time[ns]: 59992.9, OpenMP mean time[ns]: 41309.5
Thread_v: 0.785404, OpenMP_v: 0.785404
-----
NUM_TSET: 50000, count: 50000
Thread min time[ns]: 51020, OpenMP min time[ns]: 48434
Thread mean time[ns]: 70801.2, OpenMP mean time[ns]: 52318.2
Thread_v: 0.785403, OpenMP_v: 0.785403
-----
NUM_TSET: 50000, count: 60000
Thread min time[ns]: 60487, OpenMP min time[ns]: 57948
Thread mean time[ns]: 82616.7, OpenMP mean time[ns]: 62898.2
Thread_v: 0.785402, OpenMP_v: 0.785402
-----
Thread min time[ns]: 68780, OpenMP min time[ns]: 67426
Thread mean time[ns]: 103596, OpenMP mean time[ns]: 72090.7
Thread_v: 0.785402, OpenMP_v: 0.785402
-----
NUM_TSET: 50000, count: 80000
Thread min time[ns]: 79706, OpenMP min time[ns]: 76898
Thread mean time[ns]: 110340, OpenMP mean time[ns]: 81560.8
Thread_v: 0.785401, OpenMP_v: 0.785401
-----
NUM_TSET: 50000, count: 90000
Thread min time[ns]: 88359, OpenMP min time[ns]: 86390
Thread mean time[ns]: 118811, OpenMP mean time[ns]: 91840
Thread_v: 0.785401, OpenMP_v: 0.785401
もっと内挿
NUM_TSET: 70000, count: 1000
Thread min time[ns]: 6506, OpenMP min time[ns]: 1993
Thread mean time[ns]: 15316.1, OpenMP mean time[ns]: 2390.36
Thread_v: 0.785648, OpenMP_v: 0.785648
-----
NUM_TSET: 70000, count: 2000
Thread min time[ns]: 6290, OpenMP min time[ns]: 2946
Thread mean time[ns]: 15630.7, OpenMP mean time[ns]: 3401.71
Thread_v: 0.785523, OpenMP_v: 0.785523
飽きてきた
NUM_TSET: 70000, count: 3000
Thread min time[ns]: 7388, OpenMP min time[ns]: 3843
Thread mean time[ns]: 16459.8, OpenMP mean time[ns]: 4602.42
Thread_v: 0.785481, OpenMP_v: 0.785481
-----
NUM_TSET: 70000, count: 4000
Thread min time[ns]: 7539, OpenMP min time[ns]: 4761
Thread mean time[ns]: 16545.6, OpenMP mean time[ns]: 5440.75
Thread_v: 0.785461, OpenMP_v: 0.785461
うわあ
NUM_TSET: 500000, count: 200
Thread min time[ns]: 5431, OpenMP min time[ns]: 1215
Thread mean time[ns]: 14972.1, OpenMP mean time[ns]: 1546.46
Thread_v: 0.786647, OpenMP_v: 0.786647
-----
NUM_TSET: 500000, count: 300
Thread min time[ns]: 5018, OpenMP min time[ns]: 1275
Thread mean time[ns]: 14705.4, OpenMP mean time[ns]: 1728.86
Thread_v: 0.783571, OpenMP_v: 0.786231
-----
NUM_TSET: 500000, count: 400
Thread min time[ns]: 5570, OpenMP min time[ns]: 1405
Thread mean time[ns]: 15027.9, OpenMP mean time[ns]: 1794.29
Thread_v: 0.786023, OpenMP_v: 0.786023
-----
NUM_TSET: 500000, count: 500
Thread min time[ns]: 5957, OpenMP min time[ns]: 1463
Thread mean time[ns]: 15266.5, OpenMP mean time[ns]: 1848.9
Thread_v: 0.784301, OpenMP_v: 0.785898
-----
NUM_TSET: 500000, count: 600
Thread min time[ns]: 4746, OpenMP min time[ns]: 1542
Thread mean time[ns]: 14823.6, OpenMP mean time[ns]: 1980.46
Thread_v: 0.785815, OpenMP_v: 0.785815
コスト
NUM_TSET: 500000, count: 10
Thread min time[ns]: 5585, OpenMP min time[ns]: 1138
Thread mean time[ns]: 14961.7, OpenMP mean time[ns]: 1539.75
Thread_v: 0.718238, OpenMP_v: 0.809981
-----
NUM_TSET: 500000, count: 20
Thread min time[ns]: 5191, OpenMP min time[ns]: 1152
Thread mean time[ns]: 14848, OpenMP mean time[ns]: 1546.75
Thread_v: 0.759406, OpenMP_v: 0.797794
-----
NUM_TSET: 500000, count: 30
Thread min time[ns]: 5307, OpenMP min time[ns]: 1156
Thread mean time[ns]: 14919.1, OpenMP mean time[ns]: 1645.2
Thread_v: 0.772691, OpenMP_v: 0.793685
-----
NUM_TSET: 500000, count: 40
Thread min time[ns]: 4533, OpenMP min time[ns]: 1130
Thread mean time[ns]: 14252.9, OpenMP mean time[ns]: 1494.71
Thread_v: 0.791622, OpenMP_v: 0.791622
-----
NUM_TSET: 500000, count: 50
Thread min time[ns]: 4310, OpenMP min time[ns]: 1169
Thread mean time[ns]: 14525.8, OpenMP mean time[ns]: 1552.26
Thread_v: 0.771648, OpenMP_v: 0.790381
graph.png (920×532)
https://acuve.github.io/public_data/20151217/graph.png
-----
圧倒的な差を感じる.
public_data/20151217 at gh-pages · ACUVE/public_data
https://github.com/ACUVE/public_data/tree/gh-pages/20151217
-----
データが欲しい方はこちらへどうぞ.
>>2270
そもそも,countが小さい時誤差が載ってるな(実はsとeの計算をデバッグしてない())
mutexのlock消したら,見事に命令がリオーダーされて死亡案件だ.
と思ったら,そうでもないぞ……?
何故,さっきはうまくいかなかったのか.
あっ,タイミングによっては死ぬ案件だw
これがマルチスレッドプログラミングの闇.
どこで,デッドロックしてるんだろう.
(num + 1 < rest) → (num < rest)
が正しいな.
酷いバグだ.これのせいで,計算時間が少しばかり短くなってしまっているぞ.言うて,ワンループだけどさ.
はてなブックマーク - 駅員のバイトして気が付いた痴漢冤罪なんて稀
http://b.hatena.ne.jp/entry/anond.hatelabo.jp/20151217163633
OpenVX
main.cpp
https://gist.github.com/ACUVE/02df595cd4ec9f78d143
-----
OpenMP的な何かっぽく書けるようにしてみた.
最適化したいのだが,何処もする場所がなくて辛い.諦めてOpenCLと戯れる.
児相の全裸検査、1人増え9人に - 共同通信 47NEWS
http://this.kiji.is/50143823246755317
-----
謎のニュース.
/bin/とか/usr/bin/に入っている実行ファイルは使いたいが,それ以外のファイルにはアクセスさせたくない.みたいなものを満たすコンテナ技術ないんですかね.
自分で作れということですかね.
何やりたいのか自分自身でも分からん.PCの関わる全分野に精通したい.
せいつう【精通】の意味 - 国語辞書 - goo辞書
http://dictionary.goo.ne.jp/jn/122303/meaning/m0u/
---
> せい‐つう【精通】
> [名](スル)
> 1 ある物事について詳しく知っていること。物事によく通じていること。「日本史に―している」
> 2 男子の初めての射精。
特に意味はありません.
> Boost.Compute is a header-only library
つよい.
Beignet
https://wiki.freedesktop.org/www/Software/Beignet/
-----
コンパイルのために設定が色々と面倒くさかった,最早覚えていない.
ocl-icd-develを入れればいいんじゃないかな?
1,000,000 * 4 = 4MB のコピーに 71,834,868 ns 程度かかってる.
main.cpp
https://gist.github.com/ACUVE/03ce5ac6cdec1055eb21
-----
家のへっぽこPCで動かしてみた.
generate_time : 18541549
--------------
copy_to_device_time: 960334
sort_time : 237406764
copy_to_host_time : 70001244
--------------
sort_host_time : 335119745
C++の全てをフリー関数にするという方針.最早Cを使ったほうが良いのではないかという感はあるw
generate_time : 20924139
--------------
copy_to_device_time: 1025109
sort_time : 236511553
copy_to_host_time : 69981084
↓
sort_device_time : 307517746
--------------
sort_host_time : 342603193
4MBのfloatをソートするのはへっぽこIntel GPU上で行うのが速いようだ.
307msもかかっているのかー.
40MBにしてみたら,圧倒的にGPUの方が速い.すごい.
generate_time : 184287099
--------------
copy_to_device_time: 10846424
sort_time : 258585502
copy_to_host_time : 706227595
↓
sort_device_time : 975659521
--------------
sort_host_time : 3883605407
これ正しいんか(?)
一応,結果を(飛ばし飛ばし)出力してみた所正しいっぽい(std::is_sorted?なにそれ美味しいの?)
400MBにしてみた.
generate_time : 1864959834
--------------
copy_to_device_time: 111024261
sort_time : 7071200316
copy_to_host_time : 855152751
↓
sort_device_time : 8037377328
--------------
sort_host_time : 43339370344
8秒 vs 43秒 は強烈だわ…….
まあ,sortも8コア使えば5秒強で終わるんですかね(?)
sortのオーダー n log nなので,10倍すると,30倍ぐらいになるはずなんですが,現実はそうでもない感じのようで.
800MBにして,飯食いに行こう.
800MBのGPUソート,露骨に画面表示が遅くなってわろた.
ソート時間とホストへのコピー時間がほぼ同じ時間なのワロタw.
ocl result ok? 1
host result ok? 1
generate_time : 3717196126
--------------
copy_to_device_time: 209277497
sort_time : 7662463127
copy_to_host_time : 6953179905
↓
sort_device_time : 14824920529
--------------
sort_host_time : 87736632067
cmakeの方が,謎のプロパティシート()を使うより一京倍ぐらい楽だと思う.
そろそろC++に構文木を弄るライブラリ入れたほうが良いと思うんです.OpenCL用にすごい使えそう(?).
はてなブックマーク - 旦那のpixiv非公開ブクマ覗いてしまった
http://b.hatena.ne.jp/entry/anond.hatelabo.jp/20151217203457
Performance
https://boostorg.github.io/compute/boost_compute/performance.html
-----
ここにパフォーマンス情報あるね.
GPUがNVIDIA Tesla K40cとかwwwwww
Amazon.com: NVIDIA Tesla K40 Graphic Card - 1 GPUs - 745 MHz Core - 12 GB GDDR5 SDRAM 900-22081-2250-000: Computers & Accessories
http://www.amazon.com/dp/B00KDRRTB8
-----
3000ドルなんだよな.36万円.
参考にならなさすぎる.
Amazon EC2でも借りてテストしたのかな? EC2はよく分からんが.
今日輪講あるし,寝ないと.
コンピュータークラウド時代の高速画像処理。
レイテンシー酷そうだが、そこまで悪いのかね。10msのレイテンシーはそこまで悪くないと思うが。まあ、全データぶん投げる訳にはいかないので、そこらへんに最適化の余地がありそうではある。
高速画像処理のオフロード化。普通にGPUをエンベドしろといわれそう。
結局、画像圧縮は画像認識だからなあ。
圧縮レイテンシー0.2msぐらいで、画像圧縮出来ないかね。
GPU Zero-Copy、使い物にならん。早く、CPU GPUのメモリ統合しろ。
今から寝ると、起きられない気がしたので、風呂入って大学行こう。
座椅子,通気性の良いのにしないと汗が染み込みまくって良くないです.
Breaking News FeedさんはTwitterを使っています: "This earthquake-proof bed 'swallows' you when it senses the ground shaking."
https://twitter.com/pzf/status/677580298436022272
-----
ワロタ.寝相悪いから横の上がる部分で吹き飛ばされそう.
眠たみ
nVIDIAの犬になってしまった(ドライバーをダウンロードしただけ)
大学に着いたら,俺の机の上に赤福が一箱置いてあって謎すぎる.全部食っていいならば全部食うけど.
nVIDIAのGPUでも買って,PCに組み込もうかねぇ.多分一緒に電源も替えないといけないけど.
どうせ買うならば,HDMI2.0に対応したやつ買いたいね.使わないけど.
4Kデュアルしたい(しない.
デュアルスクリーン,画面の配置が非常に難しいと思う.
トリプルスクリーンだったほぼ一意に定まるのだが.
Boost 1.60 出てる.
Variadic Templateが使えないVC++2013は死ぬべき.
UACのプロンプトが出たタイミングで,それがどのソフトウェアかを判別して,そのアイコンに偽装してUACを表示させればユーザーを容易に誤認させられそう.
ただ,一日に何回もUACの表示はされないことを考えると,実際に利用するのは厳しいのかな.
一回権限を得てしまえば,終了させるまでその権限は使いまわせるので,強い.
sudoみたいに時限式にした方がいい気もする.まあ,あれも一旦sudoで権限得ちゃえば,終了させるまでは得っぱなしだけれども.
Windows7上でVisualStudioのインストールに失敗するとか,ネタですかね.
可変長引数使えるっぽいじゃん.なんでさっきはコンパイルエラーになったんだ.
もはや調べる気すら起きない.VC++は死ぬべきである.
VisualStudio,デバッグ機能だけ分離して欲しい.Clang使えるようになるんだし,そうするんだよね?
それとも既にClangでコンパイルした奴も今までのGUIでデバッグできるの? 調べる気すら起きないが.
Runtime-sized arraysは最終的にC++14から消えたのだが,いろいろなところで標準になったと書かれていて混乱する.
まれに使いたくなるので.
Folding expressionsは個人的に入らなくてもいいかなとか思ってる.本当にC++1zで入るのかね.
u8"" には 絶対 char8_t 割り当てろと言いたい.言いたい.本当に.マジで.これ入れないとか糞.ゴミ.
charとchar8_tの暗黙の型変換はなしで.
流石にそれは厳しいかもしれないが, char*とchar8_t*の分離はしてほしいなぁ.少なくともオーバーロードはさせて欲しい.
VisualStudioのインストールが終わらず,やることがないので寝る.
まだインストールが終わらないとか,VisualStudioはOSインストールより時間かかるんですかね.
dm-crypt/デバイスの暗号化 - ArchWiki
https://wiki.archlinuxjp.org/index.php/Dm-crypt/%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%AE%E6%9A%97%E5%8F%B7%E5%8C%96
-----
> By default a 256 bit key-size is used. Note however that XTS splits the supplied key in half. So to use AES-256 instead of AES-128 you would have to set the XTS key-size to 512.
とのことで,家の暗号化はAES-128のようだ.
VisualStudio,起動に何分かかるんだ.
この処理には数分かかる場合がありますと表示されてからかなり時間が経つ気がする.気がする.
ようやく起動しそう.
起動したけど、デフォルトでC++のコンパイラが入ってないんだな。cmakeで反応しなくて困った。
はてなブックマーク - 三菱東京UFJ銀行 Fintech Challenge 2016 “Bring Your Own Bank ! ” | 三菱東京UFJ銀行
http://b.hatena.ne.jp/entry/www.bk.mufg.jp/innovation/fintech2016/
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板