レス数が1スレッドの最大レス数(10000件)を超えています。残念ながら投稿することができません。
管理人の独り言5
前スレ:
管理人の独り言4 - 黒歴史集積所
http://jbbs.shitaraba.net/bbs/read.cgi/computer/38153/1414980126/
スピンロック!
>>2225
おかしいだろ()
とは言え,OpenMPと同等のコストで計算できるようになた.強い.
OpenMP強い.
main.cpp
https://gist.github.com/ACUVE/b21fc57cfe5e315b949e
短すぎる時間の計測は意味がない気がしてきた.OpenMP強い.
はてなブックマーク - 夫婦別姓認めない規定 合憲判断も5人が反対意見 NHKニュース
http://b.hatena.ne.jp/entry/www3.nhk.or.jp/news/html/20151216/k10010343011000.html
-----
男女比が1:1だったら違憲判決でしたね.
>>1883 の修正,4.2.8 or 4.3.3で入ってるね.
4.2.*は4.2.8で終わりなので,Fedora氏は早く4.3.*にしてください.
4.3.3以降が降ってきたら,device replace missingしたい.
Firefoxに移行するためのテスト.
https://token.services.mozilla.com/1.0/sync/1.5
↓
https://192.168.19.2:5000/1.0/sync/1.5
あきらめた(時間的に随分と前に)
それよりもfirewalldを切らなくても良い設定をせねば.
4K撮影に対応したmicroSDが欲しい.
艦隊これくしょんのアニメ,史実にただ忠実に描いて欲しい.そして誰もいなくなった.
今日何も食ってない.食いに行こう.饂飩を茹でようとしたら既になくってたのだ.
なくってたとは.
btrfsの力で安心のデータライフ.
はてなブックマーク - 本の虫: Grub2の認証でバックスペースを28回押すとレスキューコンソールに入れる脆弱性が発見された
http://b.hatena.ne.jp/entry/cpplover.blogspot.com/2015/12/grub228.html
はてなブックマーク - ふるさと納税がちょっとおかしいと思う理由 - それ、僕が図解します。
http://b.hatena.ne.jp/entry/rick08.hatenablog.com/entry/furusatotax
はてなブックマーク - 子育て給付金、来年度から廃止へ 1600万人が対象:朝日新聞デジタル
http://b.hatena.ne.jp/entry/www.asahi.com/articles/ASHDJ471PHDJULFA016.html
はてなブックマーク - 夫婦の姓「国会で議論を」 判事5人「違憲」とした理由:朝日新聞デジタル
http://b.hatena.ne.jp/entry/www.asahi.com/articles/ASHDJ4S2VHDJUTIL023.html
>>2222
何故こんなことが出来るかというと,CPU内部にはL1キャッシュなどが存在しており,そのキャッシュの有効無効をCPU側が管理していることからそれさえ確認すればデータの有効無効が簡単にわかるからだ.
利点としては,ABA問題が発生しない.
> また、アーキテクチャによってはLoad-Link/Store-Conditional命令を提供しているものがあり、これはアドレスの示す箇所に他のストアが行われない場合に限りストアを実行するというものである。記憶域がある値を持っていることと、記憶域が変化したことという二つの概念をうまく分離することができる。DEC Alpha や PowerPC がこの命令をサポートしている。
comdition_variableがunique_lockを要求する理由を風呂に入りながら理解した.確かに必要だ.
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の犬になってしまった(ドライバーをダウンロードしただけ)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板