はてなキーワード: マルチコアとは
雑誌のInterfaceでライセンス6ヶ月無料となっていて、一部界隈で話題になっているMATLAB。
普段MATLABを使っている身だが、Pythonのライブラリが充実している状況で、MATLABを使う意味は何か悩むことがある。
それなりに高いライセンス料を払って効果出てるのかって話になる。
本体だけでなくToolboxも使い出すと高くなる。
MATLAB言語仕様として速度が遅い(for文はJITで昔より高速になったというが遅い)だけでなく、高いワークステーションを買ったとしても普通にプログラムするとシングルプロセスで遅い。
GPUやマルチコアの性能を活かすには、それ用のコードに書き換えと、メモリーコピーの影響などもあるので実際速くなるかプロファイルで試行錯誤が必要になる。
plot周り、画像周りは気になる。
とはいえ学生からすると会社に入ってからは使わない物を学ぶより、Pythonを学びたいはずだ。
企業が使う場合に関しては、先に挙げた理由でまず業務効率になかなか結びつかない。
低レイヤー過ぎて開発コストがかかる、コストがかかる割に遅いなら別の手段で開発するはずだ。
昔からのMATLABコードを動かしている所以外、新規でMATLABを学ぶメリットはあるのか。
もう1つ気になる点は数値計算や画像処理など、色々対応してはいるが、
画像だったらHDRの表示対応などだ。今どきのディスプレイ表示に対応してない。(HDR機能はあるが古い)
CAE的な物も教科書的な物は出来るが、業務的な物は扱いにくい。
toolboxが沢山あり、かつドキュメントもそれなりの量があるので、業務でも使えそうに思ってしまうが、
実際業務を進めると詰むことになり、結局別の有名ソフトで立ち上げ直すとなりがち。
(Juliaが代わりになると一時期話題になっていたが、実際本格的に使うと色々足りてない。)
🚙Passmarkだとメインストリームのi5は、
2019年に対して1.4~1.5倍、
になってるけど、そういう話じゃなく?
■
シングルコアの限界というものは10年以上前のPentium4の頃から言われていたことで、
1つのタスクをシングルコアでやらなきゃならんという発想が時代遅れでありながら伝統的なC系の言語はシングルスレッドのプログラムを書くことが大前提だった
最近になってasync/awaitだのが拡充してきた
シングルコアの限界というものは10年以上前のPentium4の頃から言われていたことで、
1つのタスクをシングルコアでやらなきゃならんという発想が時代遅れでありながら伝統的なC系の言語はシングルスレッドのプログラムを書くことが大前提だった
最近になってasync/awaitだのが拡充してきた
CPUのクロックは微妙に速くなっているがシングルコアの性能はほぼ変わらない。
マルチコアになったとして、ThreadripperのようにIOダイを使って大きくしても、劇的に速くならない。
3D V-Cacheで積層してキャッシュを増やしても、アプリレベルでは劇的に速くなってない。
更に積層するのはあるかもしれないが、熱問題に対する解決策がないので出来ないでいる。
UCIe規格経由で複数のチップレットを接続するのが今後出てくると思うが、どれだけ専用の回路を搭載し利用するかで処理能力は変わるが、
Apple M1 UltraのようにProResの本数が増えても使いこなす人が居そうにないというのと似たことになりそうじゃないか。
GPUのように広帯域のHBM/GDDRと、データ依存性がない場合は処理能力高くなるが、
CPU側のメモリーとGPU側のメモリーとのコピーやらオーバーヘッドが合ったり、ゲームがAIの一部といった感じだし、
ゲームもベンチ上は数字が変わるが体感変わらねーなってのに金額が高くなるのもな。
ユニファイドメモリーにするとApple M1系のように性能でないしさ。
レイテンシは変わらないし、DDRの代わりになるものも出て来てない。
インテルがフォトニクスに注力してたり、日本の半導体戦略でもフォトニクスとしてが上がっていたりするが、
光は早いようで遅く、メリットだと低電力か発熱源の分散でしかない。
HPEがフォトニクスで先行していたが、処理能力というより、発熱源分散での設計のし易さアピールだった。
DPU(データ プロセッシング ユニット)、OPU(Optical Processing Unit)はスパコンやクラウドでは追加されるかもしれないが、
パソコンにはまだ遠そう。
DVDが不要になり5インチベイがなくなり、SATA SSDがなくなって2.5インチベイもなくなり、
ちょっとずつパーツ買って性能上げるなんてことはなくなって、全部とっかえ。
もう少しなんとかならないか。
CPUのクロックは微妙に速くなっているがシングルコアの性能はほぼ変わらない。
マルチコアになったとして、ThreadripperのようにIOダイを使って大きくしても、劇的に速くならない。
3D V-Cacheで積層してキャッシュを増やしても、アプリレベルでは劇的に速くなってない。
更に積層するのはあるかもしれないが、熱問題に対する解決策がないので出来ないでいる。
UCIe規格経由で複数のチップレットを接続するのが今後出てくると思うが、どれだけ専用の回路を搭載し利用するかで処理能力は変わるが、
Apple M1 UltraのようにProResの本数が増えても使いこなす人が居そうにないというのと似たことになりそうじゃないか。
GPUのように広帯域のHBM/GDDRと、データ依存性がない場合は処理能力高くなるが、
CPU側のメモリーとGPU側のメモリーとのコピーやらオーバーヘッドが合ったり、ゲームがAIの一部といった感じだし、
ゲームもベンチ上は数字が変わるが体感変わらねーなってのに金額が高くなるのもな。
ユニファイドメモリーにするとApple M1系のように性能でないしさ。
レイテンシは変わらないし、DDRの代わりになるものも出て来てない。
インテルがフォトニクスに注力してたり、日本の半導体戦略でもフォトニクスとしてが上がっていたりするが、
光は早いようで遅く、メリットだと低電力か発熱源の分散でしかない。
HPEがフォトニクスで先行していたが、処理能力というより、発熱源分散での設計のし易さアピールだった。
DPU(データ プロセッシング ユニット)、OPU(Optical Processing Unit)はスパコンやクラウドでは追加されるかもしれないが、
パソコンにはまだ遠そう。
DVDが不要になり5インチベイがなくなり、SATA SSDがなくなって2.5インチベイもなくなり、
ちょっとずつパーツ買って性能上げるなんてことはなくなって、全部とっかえ。
もう少しなんとかならないか。
MATLABの言語仕様上、処理が遅い(JITコンパイラで改善されているが)
→ わかる
GUIが基本モッサリ
→ ライセンス料高いのでなんとかして欲しい。
→ライセンス料高いのでなんとかして欲しい。
Image Processing Toolboxの画像データの値を表示するGUIが使いにくい。
→ 追加でtoolbox代金払ったのに何故ってレベル
音の再生、停止、動画の再生、停止、コマ送りなどのGUIが使いにくい
→ なんとかして欲しい。
プロットの細かい調整に時間がかかる。GUIはあるが不親切だったり、誤操作しやすい
→ なんとかして欲しい
→ 今どきディスプレイ前提のことが多いので、論文印刷用以外のプロット方法も準備して欲しい
あっちのPCには最新CPUが搭載されている。サイズの大きなMP4ファイルでSSDがいっぱいいっぱいになったので、H265エンコードしてる。早い。こちらのIvyマシンだと長尺のをH265 エンコードしようとするとだんだんFPSが悪くなってきて最後に止まるけど、そういうのもなさそうだ。複数のエンコードジョブを並走させることもできる。さすがマルチコアだ。ヨツベとかで採用されているVP9だっけ?の方が圧縮率に優れるのかな?H265こだわることはないのかな?まあそんなことよりこちらのIvyマシンをなんとかすべきだな。X300も出たことだし、買い替えるか??
ラズパイも知らないうちにマルチコアになっているようだ。デスクトップとネットブックで1時間交代で交互運用しようってことで古いネットブックを取り出してきた。間違いだった。Windows7だとネットに接続できないからということでWindows10にアップグレード。使い物にならないことが判明。たぶんこの古いネットブック(TDP=5.5ワットでシングルコア!!)、最新式のラズパイよりショボい。慌ててLinuxMintにしたけど、それでも糞のようにスロー!!!CLIで動くようにプログラムをいっぱい導入したり、.bashrcをいじったりするのに時間を空費してしまった。おかげでサーバをいじくらないといけないときの拒否反応が軽減されるという思わぬメリットはあったけど・・・・出張時にプレゼンやる必要があるなら、ラズパイ+公式タッチパネルで十分な気がする。
飲みに来て店員さんを見ていると、料理ってプログラミングだよなーと思う。
注文をすべて短期記憶領域に展開しながら、限られた物理リソース(コンロ、スペース、器、等々)のスケジューリングをしながら、調理そのものも行う。調理と一言で片付けるが、食材毎、道具毎に気をつけるべきことがある。
眺めながら試みるが、私程度の者には記述することが難しそうだ。充分な時間があっても分からないプログラミングを、リアルタイムに行っているのだ。すごい。本当にすごい。人間のすごさを感じる。
料理人になるにはそういうスキルが必要なのだろうと思う一方で、それが不可能な人も居る。普通の人が普通にできることができない、しかしコンピューターへの指示がとても上手い人が居ることを我々は知っている。複数の人間のリソース最適化は分からないが、マルチコア環境でマルチスレッドのプロセスを待ち時間最短にできる人を知っている。
もしかしたらシングルスレッド故に料理人になることを諦めたが、新しい味や新しい調理法を生み出すことに優れた人が、居るのかも知れない。しかし料理人を目指す人は多く、そのプロセスは確立している。それをこなせない人は弾かれてしまうだろう。
調理は好きだが臨席(臨床的な意味で)業務がこなせない人が作りたかった料理を味わってみたい。
ごめんどう締めたら良いか分からなくなった。料理研究家ってレシピ生成奴になっているので、料理探求者みたいな職業が生まれて欲しい。
こっそりForkされて開発が進んでいるコードを
なぜか、あさってのほうこうで、リクエストをつぶやく人がいるので、違います。
たいしたことないなーとおもっていたら
あるひあるとき
無視できないような改造が入っていたので自分のほうがブランチして とりあえずマージ
とりあえずWindowsでいうQueryPerformanceCounterというのがあってね、時計のチップから時刻をもらうと そこでもうずれるからCPU内部のクロックを直接取得するIFがあるから
それでパフォーマンスはかってもいいよ
測定器を すこしずつこまかいやつに変えている最中 実機・・・TSSっていって、センターに置いてみんなで順番待ち
実機ではやくないといみがないんだよ
マルチコアのときにQPCの間のクロックのズレをどうしたらいいですか?
。。。
現場で十分な数の先輩がいるわけでもないため
不十分な知識でまちがえたスレッディングについて長年学んでいる人を否定できず
ようするに 車でいうと
タイヤのグリップ力が 高い車と 低い車が現場でバトルで 出会った現場に 普通のドライバーがいて その話を聞くと 事故る
そのため1度整理中 いままでは 現場で先輩が教えていたが それでも 事故
そこに大量の学生となると 考慮が必要で 技術開示請求なる 嘘から出た真まで 現場で飛び交うとの噂
現場で口伝 先輩から交配へ が 学校教育でどこまで安全先生について教えておくべきか? そりゃ 技術開示請求とか いわれるわな
それこそ車載をやりました。作りが甘くて、車載のプログラムがバグで治せないことが発売後発覚とか そりゃ言われるだろうな。
ある車種が大ヒット そのご10年後に ブレーキ周りのプログラムにマルチスレッディングのバグが発覚 設計上の問題で 治せない場合
そりゃいわれる。
組合せ論上 ナノセカンドを扱っていて 数兆回に1回のバグが起き得るっていわれると そりゃそういうふうに判断するだろうな。
いままでは、よかったが
看過できない組み合わせがあって、禁止する前に 禁止ではない方向で相談したい そりゃそうだ
↓
おれらならとれるが、おっしゃるように 十分なノウハウがない経験がないチームだと
かつ
十分な数の先生がいるとは言いがたい場合が起き得ることを否定しきれない
まだ時間はかかるが、私レベルなら、10年かかるわけではない。
Hyper-Thread 90程度であれば、自分以外が書いたコードであっても 十分な時間があれば制御は可能
って そりゃ 下手すりゃ死ぬ
だけどそういう話ではなくて 十分な休養をとって、体制を作って プログラムをメンテナンスするなどは当たり前
そういうレベル。
危険性はそりゃHyper-Thread 90ともなれば そりゃたかい。シングルCPUよりマルチコアのほうがそりゃ制御は大変。同じこと。