「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」
っていう雑談スレ。
前スレ: 結局C++とRustってどっちが良いの? 3traits
https://mevius.5ch.net/test/read.cgi/tech/1683154196/
関連スレ(マ板): Google&MS「バグの70%はC/C++。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
探検
結局C++とRustってどっちが良いの? 4traits
■ このスレッドは過去ログ倉庫に格納されています
2023/06/06(火) 19:13:06.15ID:ZuKzBsFa
706デフォルトの名無しさん
2023/06/25(日) 18:20:53.67ID:IUvWuTOb >>705
マジで何もわかってなくて草
マジで何もわかってなくて草
707デフォルトの名無しさん
2023/06/25(日) 18:24:48.59ID:tWScV9c+ SIMDは時代遅れ。
AMDとnVidiaは賢いから、どんどんマルチコア化を進め、
AIや数値計算で高い評価を得ている。
ところが、Intelはセンスの無いアホだからSIMD化を進めようと
したが、全然速度が上がらない上に命令が複雑で、しかも、
機種依存、世代依存が激しくて使い物にならない。
GPUだと数年後に買い換えれば、プログラムを修正しなくても、
何倍にも高速化される。コンパイラの修正も不要。
SIMDだと新命令が出るたびにコンパイラの修正が必要だから、
コンパイラ作者は、なんでこんなことに付き合わされる
か分からずないで泣いているだろう。
実際、富岳や地球シミュレータはコア数が多い。
AMDとnVidiaは賢いから、どんどんマルチコア化を進め、
AIや数値計算で高い評価を得ている。
ところが、Intelはセンスの無いアホだからSIMD化を進めようと
したが、全然速度が上がらない上に命令が複雑で、しかも、
機種依存、世代依存が激しくて使い物にならない。
GPUだと数年後に買い換えれば、プログラムを修正しなくても、
何倍にも高速化される。コンパイラの修正も不要。
SIMDだと新命令が出るたびにコンパイラの修正が必要だから、
コンパイラ作者は、なんでこんなことに付き合わされる
か分からずないで泣いているだろう。
実際、富岳や地球シミュレータはコア数が多い。
708デフォルトの名無しさん
2023/06/25(日) 18:29:31.84ID:tCST6AON まぁでもやっぱりベクトル演算系は後回しにはなるんかな
そこまてニーズがあるとは思えない
しかし潜在需要は出てくるかもしれんけど
科学シミュレーション系、動画処理系、とか
YouTuberが動画合成するのに動画処理系は流行ってるけど
機械学習のためのベクトル演算も流行る兆しはあるけどな
そこまてニーズがあるとは思えない
しかし潜在需要は出てくるかもしれんけど
科学シミュレーション系、動画処理系、とか
YouTuberが動画合成するのに動画処理系は流行ってるけど
機械学習のためのベクトル演算も流行る兆しはあるけどな
709デフォルトの名無しさん
2023/06/25(日) 18:33:20.89ID:tWScV9c+ ベクトル演算は自由度が低すぎて使い勝手が悪い。
だから衰退して、いまのスパコンでベクトル型を採用しているものは
ほとんどない。
そして、それと似た設計思想なのがSIMD命令。
だから、SIMDが廃れるのは当然で、実際、Intelもやっと気付いて、
AVX512(zmmレジスタ)は廃止方向で、最近はコア数の増大へと
舵を切っている。その方向性は正しい。
AMDやnVidiaは頭が良くて、もっとずっと前からコア数増大へと
舵を切っている。
だから、科学技術計算でもGPGPUを使う流れは変わらない。
高いのは、半導体不足で高くなっているだけだろう。
だから衰退して、いまのスパコンでベクトル型を採用しているものは
ほとんどない。
そして、それと似た設計思想なのがSIMD命令。
だから、SIMDが廃れるのは当然で、実際、Intelもやっと気付いて、
AVX512(zmmレジスタ)は廃止方向で、最近はコア数の増大へと
舵を切っている。その方向性は正しい。
AMDやnVidiaは頭が良くて、もっとずっと前からコア数増大へと
舵を切っている。
だから、科学技術計算でもGPGPUを使う流れは変わらない。
高いのは、半導体不足で高くなっているだけだろう。
710デフォルトの名無しさん
2023/06/25(日) 19:10:40.50ID:IUvWuTOb いやGPU使わないならSIMDしか高速の余地がないんだよ
せっかくrustで実装するならサイズによって実装を切り替えるべき
要素数が少ない→キャッシュメモリを活かすようにメモリレイアウトを工夫する
要素数が中→SIMD+キャッシュメモリ最適化
要総数が大→スレッド+AVX+キャッシュメモリ最適化
これこそ現代アーキテクチャを生かしまくった実装
そしてBlasはこういう実装になってる
ただの生VecでループするならCと変わらん
せっかくrustで実装するならサイズによって実装を切り替えるべき
要素数が少ない→キャッシュメモリを活かすようにメモリレイアウトを工夫する
要素数が中→SIMD+キャッシュメモリ最適化
要総数が大→スレッド+AVX+キャッシュメモリ最適化
これこそ現代アーキテクチャを生かしまくった実装
そしてBlasはこういう実装になってる
ただの生VecでループするならCと変わらん
711デフォルトの名無しさん
2023/06/25(日) 19:34:48.57ID:+pbSFG2G メモリドリブンとか非ノイマン型になるとまたアーキテクチャが違ってくる
712デフォルトの名無しさん
2023/06/25(日) 20:19:06.24ID:IUvWuTOb モダンで高速なCPUベースの数値計算ライブラリのまとめ
1.CPUの活用
SIMDを使う
2.キャッシュメモリの活用
キャッシュメモリを常に意識する
常にキャッシュに乗る範囲で演算を行う
3.パイプライン処理
計算を直ちに実行するのではなくまず計算グラフを構築し
トポロジカルソートなどで依存関係を解析する
依存ごとにパイプラインを作成し非同期で計算を実行する
記法としてはメソッドチェーンを利用するとやりやすい
非同期実行にはpromise/futureに代表される
非同期ライブラリを使うと書きやすくなる
この点rustはtokioなど非同期実行には使いやすいライブラリが大量にある
この点pythonのライブラリは現状だと全くお話にならないレベルの実装だ
中身がCなのでそこまで細かいチューニングができない
rustを使えば相当速くできるはず
1.CPUの活用
SIMDを使う
2.キャッシュメモリの活用
キャッシュメモリを常に意識する
常にキャッシュに乗る範囲で演算を行う
3.パイプライン処理
計算を直ちに実行するのではなくまず計算グラフを構築し
トポロジカルソートなどで依存関係を解析する
依存ごとにパイプラインを作成し非同期で計算を実行する
記法としてはメソッドチェーンを利用するとやりやすい
非同期実行にはpromise/futureに代表される
非同期ライブラリを使うと書きやすくなる
この点rustはtokioなど非同期実行には使いやすいライブラリが大量にある
この点pythonのライブラリは現状だと全くお話にならないレベルの実装だ
中身がCなのでそこまで細かいチューニングができない
rustを使えば相当速くできるはず
713デフォルトの名無しさん
2023/06/25(日) 20:43:38.33ID:RCq9Swcm >>594,635,663,670,676
ndarray本体にコントリビュートするつもりは無いの?
ndarray本体にコントリビュートするつもりは無いの?
714デフォルトの名無しさん
2023/06/25(日) 20:46:48.87ID:JOhJHmBJ SIMDの使い道がないなんて普通は思わないな
実際はSIMDは動画のデコードエンコードで使用されてる
実際はSIMDは動画のデコードエンコードで使用されてる
715デフォルトの名無しさん
2023/06/25(日) 20:53:45.41ID:RCq9Swcm716デフォルトの名無しさん
2023/06/25(日) 21:06:17.68ID:EMywShWE 本気でやるつもりがあるならこんな場所じゃなくてGitHubのissues/discussionsで議題出すでしょ
717デフォルトの名無しさん
2023/06/25(日) 21:15:14.90ID:RCq9Swcm718デフォルトの名無しさん
2023/06/25(日) 21:49:47.41ID:IUvWuTOb >>715
ないかな
俺が上で言ってるアーキテクチャだとtokioを組み込む必要があって
ndarrayにそんなことができる余地はない
tokioを組み込んでおけば複数ノードへの展開まで視野に入る
GPUを凌駕するところまでいけるんだよ
ないかな
俺が上で言ってるアーキテクチャだとtokioを組み込む必要があって
ndarrayにそんなことができる余地はない
tokioを組み込んでおけば複数ノードへの展開まで視野に入る
GPUを凌駕するところまでいけるんだよ
719デフォルトの名無しさん
2023/06/25(日) 21:50:03.13ID:IscOqakE 例えばUTF8 validationなどもbyte毎に処理するよりSIMDで速くなったりする
720デフォルトの名無しさん
2023/06/25(日) 22:04:27.70ID:IUvWuTOb この数値計算に「非同期ライブラリを組み込む」というのをやってるものは見たことがない
このアイデア使っていいよ
このアイデア使っていいよ
721デフォルトの名無しさん
2023/06/25(日) 22:09:54.64ID:RCq9Swcm 了解
>>683,712,718は>>666の人なのね
>720
>tokioを組み込んでおけば複数ノードへの展開まで視野に入る
>この数値計算に「非同期ライブラリを組み込む」というのをやってるものは見たことがない
https://crates.io/crates/mpi ←生きてる
https://crates.io/crates/node_crunch ←過疎
これらはtokio要らない見たいだけど、他に良いのがあるの?
>>594,635,663,670,676
言いだしっぺ待ち
>>683,712,718は>>666の人なのね
>720
>tokioを組み込んでおけば複数ノードへの展開まで視野に入る
>この数値計算に「非同期ライブラリを組み込む」というのをやってるものは見たことがない
https://crates.io/crates/mpi ←生きてる
https://crates.io/crates/node_crunch ←過疎
これらはtokio要らない見たいだけど、他に良いのがあるの?
>>594,635,663,670,676
言いだしっぺ待ち
722デフォルトの名無しさん
2023/06/25(日) 22:15:33.85ID:IUvWuTOb >>721
MPIはHPC分野で伝統的に使われてるライブラリだけど
書き方に非常にクセがあるのよ
いわゆるデータ並列でCUDAっぽい書き方を強要される
これが使いにくい
今時のライブラリで使うものではないと思う
MPIはHPC分野で伝統的に使われてるライブラリだけど
書き方に非常にクセがあるのよ
いわゆるデータ並列でCUDAっぽい書き方を強要される
これが使いにくい
今時のライブラリで使うものではないと思う
723デフォルトの名無しさん
2023/06/25(日) 22:25:12.80ID:RCq9Swcm724デフォルトの名無しさん
2023/06/25(日) 22:25:40.44ID:fN5kJF67 そういや、Intelからはdpcppとかいうのが出てるけど、あれってどうなん
ガチエアプで、そういうのもあるってのを把握してるにとどまってるんだが
ガチエアプで、そういうのもあるってのを把握してるにとどまってるんだが
725デフォルトの名無しさん
2023/06/25(日) 22:53:17.82ID:IUvWuTOb >>723
そこはまだ検討中ではあるがtokioのイベントループの中で
各ノードと通信を行うという意味
具体的な方法はまだ決めてはいないが既存のプロトコルでやれれようにしたい
gRPCをtokioの元で動くようにして
gRPCで各ノードと通信を行うようにするとかね
実際そういうライブラリはあるらしい
そこはまだ検討中ではあるがtokioのイベントループの中で
各ノードと通信を行うという意味
具体的な方法はまだ決めてはいないが既存のプロトコルでやれれようにしたい
gRPCをtokioの元で動くようにして
gRPCで各ノードと通信を行うようにするとかね
実際そういうライブラリはあるらしい
726デフォルトの名無しさん
2023/06/25(日) 22:59:23.24ID:RCq9Swcm727デフォルトの名無しさん
2023/06/25(日) 23:00:24.01ID:IUvWuTOb >>724
俺の知る限り実用的なマルチノードでの計算ライブラリはMPIぐらい
スパコンの世界ではMPIを使うこと前提に組まれた数値計算ソフトがめちゃくちゃ多い
しかしやはり古いと思う
新しいモダンな数値計算のライブラリをデザインする時に来ている
俺の知る限り実用的なマルチノードでの計算ライブラリはMPIぐらい
スパコンの世界ではMPIを使うこと前提に組まれた数値計算ソフトがめちゃくちゃ多い
しかしやはり古いと思う
新しいモダンな数値計算のライブラリをデザインする時に来ている
728デフォルトの名無しさん
2023/06/25(日) 23:01:01.04ID:FTiE1KXs >>680
結構、とりあえず異なる数値型同士の行列積は既に実装できてるけど。勿論、ユーザーは最初に型を指定しなくてすむように演算。組んでるけど。rustは型をある程度動的にしてもそとまでスピードも落ちないんだよね。少なく自分の計測の範囲内では。
結構、とりあえず異なる数値型同士の行列積は既に実装できてるけど。勿論、ユーザーは最初に型を指定しなくてすむように演算。組んでるけど。rustは型をある程度動的にしてもそとまでスピードも落ちないんだよね。少なく自分の計測の範囲内では。
729デフォルトの名無しさん
2023/06/25(日) 23:03:26.50ID:IUvWuTOb MPI自体は単なるマルチノードでの通信ライブラリに過ぎない
これを使っている前提のソフトが多いって意味ね
これを使っている前提のソフトが多いって意味ね
730デフォルトの名無しさん
2023/06/25(日) 23:07:06.21ID:RCq9Swcm731デフォルトの名無しさん
2023/06/25(日) 23:11:24.96ID:IUvWuTOb732デフォルトの名無しさん
2023/06/25(日) 23:12:11.63ID:FTiE1KXs >>726
まあ、単純に自分が主体のクレートを開発したいというのと、ndarrayだと、型指定が多くてpythonライクな感じにならないから。ということで設計思想がndarrayの中の人たちとは少し違う。
まあ、単純に自分が主体のクレートを開発したいというのと、ndarrayだと、型指定が多くてpythonライクな感じにならないから。ということで設計思想がndarrayの中の人たちとは少し違う。
733デフォルトの名無しさん
2023/06/25(日) 23:23:38.08ID:RCq9Swcm734デフォルトの名無しさん
2023/06/25(日) 23:34:38.25ID:FTiE1KXs >>683
ただ、ndarrayベースだとnumpyの様にas_typeとかreshapeを実装しにくい。self.reshape(shape)って感じにしにくい。APIは出来るだけnumpyに寄せたいのでそこら辺は少し困ってる。後、pythonでnumpyのfor文を回したときとの時間はまだ倍程度にしかなってない。自分で一から実装するべきかもしれない。
ただ、ndarrayベースだとnumpyの様にas_typeとかreshapeを実装しにくい。self.reshape(shape)って感じにしにくい。APIは出来るだけnumpyに寄せたいのでそこら辺は少し困ってる。後、pythonでnumpyのfor文を回したときとの時間はまだ倍程度にしかなってない。自分で一から実装するべきかもしれない。
735デフォルトの名無しさん
2023/06/25(日) 23:36:37.70ID:FTiE1KXs >>734
倍速いってことねrustで開発中のクレートの方が。
倍速いってことねrustで開発中のクレートの方が。
736デフォルトの名無しさん
2023/06/25(日) 23:50:29.91ID:RCq9Swcm >>734
numbaでnjitした時との比較かどうかを明記した方が良い
numbaでnjitした時との比較かどうかを明記した方が良い
737デフォルトの名無しさん
2023/06/25(日) 23:59:18.24ID:RCq9Swcm >>734,735
あとnumbaはparallel=Trueで簡単に並列処理が出来るから、速度優位を主張する時は
numba @njitは大前提で、parallel有り無し、自分のクレート(parallel有り無し)のデータを出さないと
見向きもされない
あとnumbaはparallel=Trueで簡単に並列処理が出来るから、速度優位を主張する時は
numba @njitは大前提で、parallel有り無し、自分のクレート(parallel有り無し)のデータを出さないと
見向きもされない
738Ndarray
2023/06/26(月) 00:46:15.23ID:iBRQp8Ku タスクによるけどrayon使うと爆速になるものもあるな。1000倍以上早くなったタスクがあったのは驚いた。
739Ndarray
2023/06/26(月) 00:58:10.58ID:iBRQp8Ku >>738
これ、勘違いだった。
これ、勘違いだった。
740デフォルトの名無しさん
2023/06/26(月) 02:54:14.98ID:8KcCa9F/ AVX512(zmm レジスタやEVEX)を使った高速化は、時代錯誤と言われる様になるぞ。
最新のCPUでは事実上 使えなくなるらしいから。
命令表の表だけの行数(rowの個数)だけでも3500にも及ぶ複雑な体系を
沢山勉強しても、結局無駄になった。
最新のCPUでは事実上 使えなくなるらしいから。
命令表の表だけの行数(rowの個数)だけでも3500にも及ぶ複雑な体系を
沢山勉強しても、結局無駄になった。
741デフォルトの名無しさん
2023/06/26(月) 03:04:47.51ID:8KcCa9F/ 2020/04 にAMDがAVX512対応を表明して、実際に対応したと
思ったら、2022/03くらいで、IntelがAVX512を廃止する以降を
発表したとか。
そうやって競合企業を混乱させて弱体化させようとしている。
経営学における「陽動作戦」に近い。
思ったら、2022/03くらいで、IntelがAVX512を廃止する以降を
発表したとか。
そうやって競合企業を混乱させて弱体化させようとしている。
経営学における「陽動作戦」に近い。
742デフォルトの名無しさん
2023/06/26(月) 03:10:21.41ID:8KcCa9F/ 要素数を即値などで指定できずに、命令自体を買えてしまうので、
Intel準正のC/C++コンパイラ以外では、CPUが出てから対応に
時間が掛かる。ベクトル型スパコンでは、要素数を即値などで
指定できていたらしいのと対照的。
つまり、Intelが自分だけが優位に立てる作戦になっている。
命令のニモニックを分かりにくくすると同時に命令の個数や
オペランドの組み合わせをやたらと増やし、アセンブラ表記も
アセンブラの修正を必要とするようなものにしてしまうことで、
Intel純正開発環境以外では、対応に時間が掛かるようにしてある。
複雑すぎて人間の頭にはInputすることすら大変になり、全貌を把握する
のに膨大な時間が掛かる。複雑すぎて、サードパーティーのアセンブラや
コンパイラがバグ無く動作するのは難しい。コンパイラ作者の勘違い
があれば、バグになるから。
Intel準正のC/C++コンパイラ以外では、CPUが出てから対応に
時間が掛かる。ベクトル型スパコンでは、要素数を即値などで
指定できていたらしいのと対照的。
つまり、Intelが自分だけが優位に立てる作戦になっている。
命令のニモニックを分かりにくくすると同時に命令の個数や
オペランドの組み合わせをやたらと増やし、アセンブラ表記も
アセンブラの修正を必要とするようなものにしてしまうことで、
Intel純正開発環境以外では、対応に時間が掛かるようにしてある。
複雑すぎて人間の頭にはInputすることすら大変になり、全貌を把握する
のに膨大な時間が掛かる。複雑すぎて、サードパーティーのアセンブラや
コンパイラがバグ無く動作するのは難しい。コンパイラ作者の勘違い
があれば、バグになるから。
743デフォルトの名無しさん
2023/06/26(月) 03:13:27.69ID:8KcCa9F/ Intel CPUの特徴は、アセンブラのニモニックが異常に分かりにくく、
Intel C/C++ コンパイラの intrinsic(組み込み関数)の表記は
少し分かり易い。
それで、純正コンパイラに誘導する作戦なんだろう。
アセンブラのニモニックも分かり易くしようと思えば出来たはず
なのに、高価なC/C++コンパイラを買わせるために、わざと
アセンブラを難しくした。
経営的には、参入障壁を上げ、模倣をしにくくし、自社だけに
有利なようにする戦略と考えられる。
Intel C/C++ コンパイラの intrinsic(組み込み関数)の表記は
少し分かり易い。
それで、純正コンパイラに誘導する作戦なんだろう。
アセンブラのニモニックも分かり易くしようと思えば出来たはず
なのに、高価なC/C++コンパイラを買わせるために、わざと
アセンブラを難しくした。
経営的には、参入障壁を上げ、模倣をしにくくし、自社だけに
有利なようにする戦略と考えられる。
744デフォルトの名無しさん
2023/06/26(月) 03:59:18.29ID:xtkUChK8 iclっていつのまにか無料だぞ(サポートが有償)
まあIntelほどの巨人でも、生き残りは大事だからな
我田引水は程度問題
まあIntelほどの巨人でも、生き残りは大事だからな
我田引水は程度問題
745デフォルトの名無しさん
2023/06/26(月) 07:18:24.97ID:Rht2imOB Linux のプロセス管理メモリ管理はピンピンコロリ作戦
746デフォルトの名無しさん
2023/06/26(月) 08:03:04.93ID:Rht2imOB >要素数を即値などで指定できずに、命令自体を買えてしまうので、
>命令のニモニックを分かりにくくすると同時に命令の個数や
>オペランドの組み合わせをやたらと増やし
インテルはいってるは命令の一部に即値が入ってるアーキテクチャーが好きなだけ
つまりオペコード=「オペコード+オペランド」であって
「オペコード+オペランド」であることには変わりない
>命令のニモニックを分かりにくくすると同時に命令の個数や
>オペランドの組み合わせをやたらと増やし
インテルはいってるは命令の一部に即値が入ってるアーキテクチャーが好きなだけ
つまりオペコード=「オペコード+オペランド」であって
「オペコード+オペランド」であることには変わりない
747デフォルトの名無しさん
2023/06/26(月) 08:32:14.95ID:LD8YCH5I インテルどこ言ったんだよと思ったのはここだけの秘密です
748デフォルトの名無しさん
2023/06/26(月) 12:47:27.83ID:UXSedA7Q tokioとrayonの機能の違いを教えて!
749デフォルトの名無しさん
2023/06/26(月) 13:50:58.77ID:R5YvbDHI ここでは教えたがりの無能からしか回答が来ないので自分で調べることをおすすめします
750デフォルトの名無しさん
2023/06/26(月) 14:06:01.49ID:CwqPR/Mz rayonは並列スケジューラ
tokioは並行並列スケジューラ
どちらもワークスティーリング方式でジョブ/タスクを効率よくスレッドに割り当てて並列処理してくれる点では同じ
しかしファイルやネットの読み書きなどで待ち時間が発生する場合に
スレッドからそのタスクを一旦外して他のタスクを割り当てる並行処理も行なうほうが効率がよい
tokioは並行並列スケジューラ
どちらもワークスティーリング方式でジョブ/タスクを効率よくスレッドに割り当てて並列処理してくれる点では同じ
しかしファイルやネットの読み書きなどで待ち時間が発生する場合に
スレッドからそのタスクを一旦外して他のタスクを割り当てる並行処理も行なうほうが効率がよい
751デフォルトの名無しさん
2023/06/26(月) 14:44:21.67ID:iBRQp8Ku >>720
Rustのndarrayにはrayonベースで非同期ライブラリが組み込まれてるっぽいけど。
Rustのndarrayにはrayonベースで非同期ライブラリが組み込まれてるっぽいけど。
752デフォルトの名無しさん
2023/06/26(月) 15:40:30.64ID:e5otmU9r 常に同期して進めるわけでなければ非同期なので、非同期の並列は普通に起こり得て、非同期はそれ単体ではその観点で大した意味はないね
意味を持つのは非同期での並行、例えば一番わかりやすいのはシングルスレッドで非同期で並行して動作するJavaScriptかな
内部実装的には効率のためI/Oでマルチスレッドを使う実装もあるけど、シングルスレッドでも非同期に並行処理の実装が可能
各プログラミング言語のうちシングルスレッドでも並行に動作するpromiss/futureを持つ場合がこれに該当し、シングルスレッドでもasync/awaitで動作できるなら非同期な並行で動作してる
一方でJavaScriptはシングルスレッド内でしかasync/awaitの並行処理ができないけど、tokioなどはマルチスレッドで並行並列処理ができる
rayonはこの非同期な並行はできない
意味を持つのは非同期での並行、例えば一番わかりやすいのはシングルスレッドで非同期で並行して動作するJavaScriptかな
内部実装的には効率のためI/Oでマルチスレッドを使う実装もあるけど、シングルスレッドでも非同期に並行処理の実装が可能
各プログラミング言語のうちシングルスレッドでも並行に動作するpromiss/futureを持つ場合がこれに該当し、シングルスレッドでもasync/awaitで動作できるなら非同期な並行で動作してる
一方でJavaScriptはシングルスレッド内でしかasync/awaitの並行処理ができないけど、tokioなどはマルチスレッドで並行並列処理ができる
rayonはこの非同期な並行はできない
753デフォルトの名無しさん
2023/06/26(月) 16:07:13.82ID:Iizklzo/754デフォルトの名無しさん
2023/06/26(月) 16:18:30.02ID:Iizklzo/ 何度も言うがなぜ非同期パイプラインを使うのかというと複数ノードで計算できることを想定に入れているから
その時点で俺のアイデアがずば抜けてることがわかると思う
その時点で俺のアイデアがずば抜けてることがわかると思う
755デフォルトの名無しさん
2023/06/26(月) 16:38:46.43ID:Iizklzo/ rayonっての知らなかったから調べてみたけど
やはり複数ノードは絶望的だな
しかしメソッドチェーンで数値計算を行うという俺のアイデアとかなり似たことはできるっぽくセンスの良さは感じる
やはり複数ノードは絶望的だな
しかしメソッドチェーンで数値計算を行うという俺のアイデアとかなり似たことはできるっぽくセンスの良さは感じる
756デフォルトの名無しさん
2023/06/26(月) 16:53:45.74ID:IKhGe/b/ Vector SIB(VSIB)が良く分からない。
* vm32{x,y,z}
index レジスタが、xmm, ymm, zmm の中に 32BIT の個々の要素として入る。
* vm64{x,y,z}
index レジスタが、xmm, ymm, zmm の中に 64BIT の個々の要素として入る。
というところまでは分かったと思う。
[base + index * scale + disp]
で base は、GPR(RAX,RBXなど)、index が、xmm/ymm/zmm になっている。
float32 に対する vm32x の場合は、EA(Effective Address)が、
EA = base + xmm[i*4] * scale + disp
(i = 0,1,2,...,3/7)
の様になる感じ。
但し、xmm[i] で xmm の iバイト目から始まる DWORD みたいな意味になる。
でも、
Table 2-13. 32-Bit VSIB Addressing Forms of the SIB Byte
の
Note
1. If ModR/M.mod = 00b, the base address is zero, then effective address is computed as [scaled vector index] + disp32. Otherwise the
base address is computed as [EBP/R13]+ disp, the displacement is either 8 bit or 32 bit depending on the value of ModR/M.mod:
MOD Effective Address
00b [Scaled Vector Register] + Disp32
01b [Scaled Vector Register] + Disp8 + [EBP/R13]
10b [Scaled Vector Register] + Disp32 + [EBP/R13]
の部分の意味が分からない。
* vm32{x,y,z}
index レジスタが、xmm, ymm, zmm の中に 32BIT の個々の要素として入る。
* vm64{x,y,z}
index レジスタが、xmm, ymm, zmm の中に 64BIT の個々の要素として入る。
というところまでは分かったと思う。
[base + index * scale + disp]
で base は、GPR(RAX,RBXなど)、index が、xmm/ymm/zmm になっている。
float32 に対する vm32x の場合は、EA(Effective Address)が、
EA = base + xmm[i*4] * scale + disp
(i = 0,1,2,...,3/7)
の様になる感じ。
但し、xmm[i] で xmm の iバイト目から始まる DWORD みたいな意味になる。
でも、
Table 2-13. 32-Bit VSIB Addressing Forms of the SIB Byte
の
Note
1. If ModR/M.mod = 00b, the base address is zero, then effective address is computed as [scaled vector index] + disp32. Otherwise the
base address is computed as [EBP/R13]+ disp, the displacement is either 8 bit or 32 bit depending on the value of ModR/M.mod:
MOD Effective Address
00b [Scaled Vector Register] + Disp32
01b [Scaled Vector Register] + Disp8 + [EBP/R13]
10b [Scaled Vector Register] + Disp32 + [EBP/R13]
の部分の意味が分からない。
757デフォルトの名無しさん
2023/06/26(月) 17:06:57.57ID:IKhGe/b/ >>756
分かって来た。
これは、base が 2進数で 101 の場合の話で、注意が
必要な場合に言及していたんだ。
特に難しいことは無いようだ。
もともと 32BIT の x86 で、SIB が無い ModRB で [d32]
だった箇所が、AMD64で、[RIP+d32]に変更になったので、
混乱を招き易いので注意書きを書いているだけらしい。
但し、SIB が有る場合の、mod=00、base=101 の場合の該当箇所は、
x86でもx64でも、[d32 + sclae * index] の意味になっていて、
特に混乱が無い。
SIBが有る場合は、mod != 00 の場合でも、x86、x64 で特に違いが
見られない。
だから、この注意書きは、もともとそんなに注意を必要とする部分
ではないと思う。逆に注意書きを書くことで混乱を招きそうな
気もする。
分かって来た。
これは、base が 2進数で 101 の場合の話で、注意が
必要な場合に言及していたんだ。
特に難しいことは無いようだ。
もともと 32BIT の x86 で、SIB が無い ModRB で [d32]
だった箇所が、AMD64で、[RIP+d32]に変更になったので、
混乱を招き易いので注意書きを書いているだけらしい。
但し、SIB が有る場合の、mod=00、base=101 の場合の該当箇所は、
x86でもx64でも、[d32 + sclae * index] の意味になっていて、
特に混乱が無い。
SIBが有る場合は、mod != 00 の場合でも、x86、x64 で特に違いが
見られない。
だから、この注意書きは、もともとそんなに注意を必要とする部分
ではないと思う。逆に注意書きを書くことで混乱を招きそうな
気もする。
758デフォルトの名無しさん
2023/06/26(月) 18:11:27.20ID:V+aWRis8 いったい何のスレで何を見せられているのだろうか?
759デフォルトの名無しさん
2023/06/26(月) 19:15:53.61ID:R5YvbDHI いったい隔離スレに何を求めているのだろうか?
760デフォルトの名無しさん
2023/06/26(月) 21:51:11.03ID:iBRQp8Ku スレに合った話をするか。
CやC++よりもRustの方が優れてる。
1)RustはCやC++と比べてセキュリティ的に圧倒的に勝ってる。
2)rust anslyzerはかなり優秀。
3)非同期処理や並列処理周りのライブラリが優れている。
4)CやC++みたいにコンパイラが乱立してない。
CやC++よりもRustの方が優れてる。
1)RustはCやC++と比べてセキュリティ的に圧倒的に勝ってる。
2)rust anslyzerはかなり優秀。
3)非同期処理や並列処理周りのライブラリが優れている。
4)CやC++みたいにコンパイラが乱立してない。
761デフォルトの名無しさん
2023/06/26(月) 22:02:08.35ID:AA66FBM8 4は「乱立」って言葉使って誤魔化してるが欠点だろーが?w
762デフォルトの名無しさん
2023/06/26(月) 22:14:55.18ID:Jku/bjdD 予めネガティブな言葉を使うことによりさもそれが悪いことかのように見せかける詭弁のテクニックだな
「C/C++はコンパイラが複数ある。Rustは一つしかない」だとネガキャンには弱い
だからここぞとばかりに貶めるネガティブな言葉を使ったワケだ。
これが宗教戦争の端緒だよ
これに「○○言語を使ってる人間は劣っている」とかの人格批判まで加われば立派な宗教だ
「C/C++はコンパイラが複数ある。Rustは一つしかない」だとネガキャンには弱い
だからここぞとばかりに貶めるネガティブな言葉を使ったワケだ。
これが宗教戦争の端緒だよ
これに「○○言語を使ってる人間は劣っている」とかの人格批判まで加われば立派な宗教だ
763デフォルトの名無しさん
2023/06/26(月) 22:15:59.04ID:9hvRxU7/ ところでC++にはtokioやrayonにそれぞれ相当するものがないのですか?
764デフォルトの名無しさん
2023/06/26(月) 22:20:21.85ID:V+aWRis8 あるのかないのかは知らない
ないのかもしれないけど大規模なプロジェクトでC++は使われているだろう
ないのかもしれないけど大規模なプロジェクトでC++は使われているだろう
765デフォルトの名無しさん
2023/06/26(月) 22:37:03.61ID:Iizklzo/766デフォルトの名無しさん
2023/06/26(月) 23:19:03.58ID:/xxT2osY >>765
それらはレベルが低すぎて対応するものではない
libuvはLinuxでいうところのepollシステムコールのイベントループにタイマとウォッチャの毛が生えた程度のライブラリ
使い勝手はコールバックを駆使する昔の不便な時代なもの
そしてスレッドセーフでないためシングルスレッド用
Rust tokioやGoのような高機能で使い勝手の良いものはC++に存在しない
それらはレベルが低すぎて対応するものではない
libuvはLinuxでいうところのepollシステムコールのイベントループにタイマとウォッチャの毛が生えた程度のライブラリ
使い勝手はコールバックを駆使する昔の不便な時代なもの
そしてスレッドセーフでないためシングルスレッド用
Rust tokioやGoのような高機能で使い勝手の良いものはC++に存在しない
767デフォルトの名無しさん
2023/06/27(火) 01:24:43.67ID:TelZeQpu Rustって型を抽象的にしてもあまり実行時間に変化がない?ゼロコスト抽象化と言ってるけど。
768デフォルトの名無しさん
2023/06/27(火) 01:51:51.98ID:3myjDgNL なにいってんだおめ
769デフォルトの名無しさん
2023/06/27(火) 03:21:29.26ID:XdVogI8P770デフォルトの名無しさん
2023/06/27(火) 03:37:30.86ID:XdVogI8P AVX512 は、非推奨(deprecated)で、第12世代 Core i
シリーズの Alder Lake からは、デフォルトで disableになる
とのこと。重い処理用に用意されている P コアではまだ使えるが、
低消費電力の E コアでは、AVX512 が使えない。
どちらが使われるかは OS が切り替えて、どちらになるかは
アプリが決められない(?)ので、AVX512 が使えない、みたいな
話らしい。知らんけど。
こうなった根本原因は、AVX512にはそもそも熱狂的人気が無かったから
なんだそうだ。SIMD命令だけが速くなるだけで、数値計算プログラム
においてすら、全体的には数%しか速くならないのに、電力消費は
25%位も多くなる、という困った事になっていたそうだ。
SIMD命令はプログラムの自由度が低過ぎるし、お膳だてのための
オーバーヘッドがかなり掛かってしまう。
そもそも、今や、乗算、除算ですらかなり速く計算で来てしまうので
SIMDにするメリットより、デメリットの方が多くなってきつつある。
なでなら、SIMDにするためには、離れた要素をmergeしたり、
maskパターンを用意したりする必要があるが、それに時間が
掛かってしまう。いまや乗算なんて、10クロックくらいしか掛からない
のに、maskパターンを用意するのにそれよりも多く掛かってしまう可能性
があるので、SIMD命令を使ってもトータルではほとんど速くならない
ことが多くなってきている。
さらに、加算(add)や減算(sub)なんて、もともと1クロックで
実行できてしまうし、本質的に並列化できる場合には、
1クロックで4命令程度は同時実行されることがある。
だから、SIMD命令を使わなくてもループ命令を
展開するだけで、勝手に同時実行される場合がある。
だから、SIMD命令の高価がほとんど無い事が多くなってきている。
それに対して、マルチコアによる同時並列実行は、とても上手くいく。
シリーズの Alder Lake からは、デフォルトで disableになる
とのこと。重い処理用に用意されている P コアではまだ使えるが、
低消費電力の E コアでは、AVX512 が使えない。
どちらが使われるかは OS が切り替えて、どちらになるかは
アプリが決められない(?)ので、AVX512 が使えない、みたいな
話らしい。知らんけど。
こうなった根本原因は、AVX512にはそもそも熱狂的人気が無かったから
なんだそうだ。SIMD命令だけが速くなるだけで、数値計算プログラム
においてすら、全体的には数%しか速くならないのに、電力消費は
25%位も多くなる、という困った事になっていたそうだ。
SIMD命令はプログラムの自由度が低過ぎるし、お膳だてのための
オーバーヘッドがかなり掛かってしまう。
そもそも、今や、乗算、除算ですらかなり速く計算で来てしまうので
SIMDにするメリットより、デメリットの方が多くなってきつつある。
なでなら、SIMDにするためには、離れた要素をmergeしたり、
maskパターンを用意したりする必要があるが、それに時間が
掛かってしまう。いまや乗算なんて、10クロックくらいしか掛からない
のに、maskパターンを用意するのにそれよりも多く掛かってしまう可能性
があるので、SIMD命令を使ってもトータルではほとんど速くならない
ことが多くなってきている。
さらに、加算(add)や減算(sub)なんて、もともと1クロックで
実行できてしまうし、本質的に並列化できる場合には、
1クロックで4命令程度は同時実行されることがある。
だから、SIMD命令を使わなくてもループ命令を
展開するだけで、勝手に同時実行される場合がある。
だから、SIMD命令の高価がほとんど無い事が多くなってきている。
それに対して、マルチコアによる同時並列実行は、とても上手くいく。
771デフォルトの名無しさん
2023/06/27(火) 03:45:53.40ID:ne3dQxKH わかったから
使うほうが早いのだから使うんだよ
わからんやつだな
使うほうが早いのだから使うんだよ
わからんやつだな
772デフォルトの名無しさん
2023/06/27(火) 03:58:12.99ID:XdVogI8P >>771
特殊ケース以外は、微妙に速いだけだろう。
特殊ケース以外は、微妙に速いだけだろう。
773デフォルトの名無しさん
2023/06/27(火) 03:59:31.74ID:XdVogI8P どうせ、研究目的とかで、非常に非現実的な
例で実験して速くなった、とか言っているに一票。
例で実験して速くなった、とか言っているに一票。
774デフォルトの名無しさん
2023/06/27(火) 04:00:43.55ID:XdVogI8P そんなに速くなるんなら、廃止する理由が無い。
便利でも無いし、単純なマルチコア実行に比べれば、
遅いし。
便利でも無いし、単純なマルチコア実行に比べれば、
遅いし。
775デフォルトの名無しさん
2023/06/27(火) 04:04:45.59ID:ne3dQxKH マルチコア実装が理想的な動作をしないから仕方がない
手元のコードを通してしか動作を見れないのだから仕方がない
手元のコードを通してしか動作を見れないのだから仕方がない
776デフォルトの名無しさん
2023/06/27(火) 04:05:34.80ID:ne3dQxKH もちろんマルチコア「も」使うんだよ
さらにプラスアルファで搾り取る
そのためのSIMD
さらにプラスアルファで搾り取る
そのためのSIMD
777デフォルトの名無しさん
2023/06/27(火) 04:09:08.60ID:XdVogI8P そもそもデータって、色んな場所に散らばっている。
しかし、SIMD命令で演算するためには、それらを
1つの場所に集めてくるか、VSIBを使わなければならない。
しかし、それが効率よく出来ない。
マルチコアでやれば、そのような手間が無いため、単純に
速度がコア数分だけ倍増するが、SIMDだとそうはいかない。
SIMDで高速化できるのは、数値計算に限定しても、
気象シミュレータの様に場合分けが少なめで単純な
メッシュで計算自体は場合分けが無くて同じ事の単純な
繰り返しになっている場合に限られる。
レイトレーシング、剛体力学計算、パーティクル計算、
量子シミュレータなどは、同じ事の繰り返しにはしにくい
ので SIMD で高速化するのは難しい。
一方、マルチコアで高速化するのはSIMDに比べれば
簡単である場合が多い。
しかし、SIMD命令で演算するためには、それらを
1つの場所に集めてくるか、VSIBを使わなければならない。
しかし、それが効率よく出来ない。
マルチコアでやれば、そのような手間が無いため、単純に
速度がコア数分だけ倍増するが、SIMDだとそうはいかない。
SIMDで高速化できるのは、数値計算に限定しても、
気象シミュレータの様に場合分けが少なめで単純な
メッシュで計算自体は場合分けが無くて同じ事の単純な
繰り返しになっている場合に限られる。
レイトレーシング、剛体力学計算、パーティクル計算、
量子シミュレータなどは、同じ事の繰り返しにはしにくい
ので SIMD で高速化するのは難しい。
一方、マルチコアで高速化するのはSIMDに比べれば
簡単である場合が多い。
778デフォルトの名無しさん
2023/06/27(火) 04:10:31.41ID:ne3dQxKH あとAVXは廃止されてないぞ
Xeonでは普通に使えるし
コンシューマー用の製品でもAVXを復活させるらしい
なぜならAMDが対応したから
AVX大戦国時代に突入が確定
普通のコア側の性能が完全に頭打ちなのだから
これまであまり活用されてなかったAVXなどのSIMDが今まで以上に大事だ
Xeonでは普通に使えるし
コンシューマー用の製品でもAVXを復活させるらしい
なぜならAMDが対応したから
AVX大戦国時代に突入が確定
普通のコア側の性能が完全に頭打ちなのだから
これまであまり活用されてなかったAVXなどのSIMDが今まで以上に大事だ
779デフォルトの名無しさん
2023/06/27(火) 04:10:37.14ID:XdVogI8P780デフォルトの名無しさん
2023/06/27(火) 04:15:00.63ID:ne3dQxKH やはりこれから数値計算にはAVXは当たり前のようになりそうだな
mojoというプログラミング言語もSIMD構造体を使えるし
juliaでもSIMDモジュールがある
ライブラリ作者が勝手に最適化するのはもはや義務となりそう
mojoというプログラミング言語もSIMD構造体を使えるし
juliaでもSIMDモジュールがある
ライブラリ作者が勝手に最適化するのはもはや義務となりそう
781デフォルトの名無しさん
2023/06/27(火) 04:16:41.02ID:ne3dQxKH そういう意味ではrustのstd::simdなどが標準モジュールに入ってきたのもこの流れを受けてのことだろう
rustのコア開発者は流行りに敏感だ
rustのコア開発者は流行りに敏感だ
782デフォルトの名無しさん
2023/06/27(火) 04:24:09.85ID:ne3dQxKH783デフォルトの名無しさん
2023/06/27(火) 04:26:37.65ID:ne3dQxKH とはいえ並列数が少なすぎるというのは同意
GPUの数万スレッドと比べるとあまりにも差がある
GPUの数万スレッドと比べるとあまりにも差がある
784デフォルトの名無しさん
2023/06/27(火) 05:30:53.79ID:vgOrDKzT なんかの避難スレみたいになってるようだけど、自由にしゃべっててくれ
C++派だが、Rustの奴がガチな話してるの見るのは刺激になっていい
適当に流し読みしとくから
C++派だが、Rustの奴がガチな話してるの見るのは刺激になっていい
適当に流し読みしとくから
785デフォルトの名無しさん
2023/06/27(火) 10:58:25.30ID:K8EyKuVy IntelとAMDで使えるAVX命令がオワコンと思ってた人がいるみたいですね
さらにサーバー用CPUの存在も知らなかったのか?
無知って怖い
さらにサーバー用CPUの存在も知らなかったのか?
無知って怖い
786デフォルトの名無しさん
2023/06/27(火) 11:51:09.37ID:mlTtWB0R 多分win12か13でAVXの対応有り無しで足切りがあると思うわ
AVX使わない理由がない
AVX使わない理由がない
787デフォルトの名無しさん
2023/06/27(火) 11:57:06.05ID:mlTtWB0R 今までセレロンでAVXは無効化されてた
急にセレロンが無くなってそれ相当の後継CPUでAVX有効になってる
MSから通達があったんじゃないかな
次のOSでAVX必須にしますって
MSだってコードはAVXありで統一したほうがテストが楽になる
急にセレロンが無くなってそれ相当の後継CPUでAVX有効になってる
MSから通達があったんじゃないかな
次のOSでAVX必須にしますって
MSだってコードはAVXありで統一したほうがテストが楽になる
788デフォルトの名無しさん
2023/06/27(火) 12:01:56.73ID:mlTtWB0R 中途半端に新しいCPUも名前はセレロンのままにして
AVXで足切りすると一般ユーザーは自分のPCが足切り対象かどうかわかりづらい
それで名前を変えた
セレロンではwin12は使えませんと言えれば楽だから
AVXで足切りすると一般ユーザーは自分のPCが足切り対象かどうかわかりづらい
それで名前を変えた
セレロンではwin12は使えませんと言えれば楽だから
789デフォルトの名無しさん
2023/06/27(火) 12:06:05.20ID:HkbT9bs+ tokioとasync-stdはどちらが使いやすいの?
790デフォルトの名無しさん
2023/06/27(火) 12:29:11.86ID:0oaaTR6k791デフォルトの名無しさん
2023/06/27(火) 14:29:16.42ID:ne3dQxKH インテルの新しい仕様でAMXというのが搭載される模様
これはまさにディープラーニング用の命令セットで見る限りGPUの設計思想を持ってきた感じ
https://www.intel.com/content/dam/www/central-libraries/us/en/documents/2022-12/accelerate-ai-with-amx-sb.pdf
浮動小数点数の演算でAVX-512より16倍高速らしい
わかりやすいAVX/AMXの解説
https://zenn.dev/herumi/articles/granite-rapids-sierra-forest
今、CPUが熱い
これはまさにディープラーニング用の命令セットで見る限りGPUの設計思想を持ってきた感じ
https://www.intel.com/content/dam/www/central-libraries/us/en/documents/2022-12/accelerate-ai-with-amx-sb.pdf
浮動小数点数の演算でAVX-512より16倍高速らしい
わかりやすいAVX/AMXの解説
https://zenn.dev/herumi/articles/granite-rapids-sierra-forest
今、CPUが熱い
792デフォルトの名無しさん
2023/06/27(火) 14:47:05.10ID:YqE19yEm やめろPen4のおもいでが (その熱いじゃない
793デフォルトの名無しさん
2023/06/27(火) 19:28:14.66ID:rI3IIw+x ただ、12世代 Core i では、一時的であるにせよ、
AVX512が使えないような状態になるって事
だよね。
AVX512が使えないような状態になるって事
だよね。
794デフォルトの名無しさん
2023/06/27(火) 19:39:04.70ID:K8EyKuVy どうやらCPUが復権するみたいだな
AMXのレジスタ数を見るとまたまだGPUには及ばないが
GPUメモリへの転送がクソ遅いことを考えるとワンチャンあるのか?
https://fuse.wikichip.org/news/3600/the-x86-advanced-matrix-extension-amx-brings-matrix-operations-to-debut-with-sapphire-rapids/
とりあえず早く使ってみたい
AMXのレジスタ数を見るとまたまだGPUには及ばないが
GPUメモリへの転送がクソ遅いことを考えるとワンチャンあるのか?
https://fuse.wikichip.org/news/3600/the-x86-advanced-matrix-extension-amx-brings-matrix-operations-to-debut-with-sapphire-rapids/
とりあえず早く使ってみたい
795デフォルトの名無しさん
2023/06/27(火) 20:47:43.85ID:QS4FigDj GPUはCPUでは速度低下するような大量の計算に向いてる
少ないとCPUに完全に負けるパターンが多い
少ないとCPUに完全に負けるパターンが多い
796デフォルトの名無しさん
2023/06/27(火) 21:22:42.14ID:TelZeQpu Rustで数値型みたいのってないの?一々132,i64, f32, f64とか宣言しないとダメなの?
797デフォルトの名無しさん
2023/06/27(火) 21:55:33.15ID:VNkczs8u798デフォルトの名無しさん
2023/06/27(火) 22:39:39.33ID:TelZeQpu i32,i64, f32, f64, ...等を一纏めにした型が欲しいんですよ。
799デフォルトの名無しさん
2023/06/27(火) 22:44:54.00ID:K8EyKuVy その型のメリットがさっぱりわからん
800デフォルトの名無しさん
2023/06/27(火) 22:54:21.96ID:a1dgcBqa 数字に型があるなんてのはプログラマの発想だわな
麻痺してるけども
麻痺してるけども
801デフォルトの名無しさん
2023/06/27(火) 23:03:12.78ID:O6qN+Jcb haskell の (Num a) => a みたいなやつ?
どっかのblogでRustにはないって言ってたのみた記憶が
どっかのblogでRustにはないって言ってたのみた記憶が
802デフォルトの名無しさん
2023/06/27(火) 23:21:38.75ID:VNkczs8u Rustではtraitを用いたgenericで解決させることが多いが
具体的に何をしたいのかによっては別の方法になるかもしれない
何をしたいのか具体的な話を書くべき
具体的に何をしたいのかによっては別の方法になるかもしれない
何をしたいのか具体的な話を書くべき
803デフォルトの名無しさん
2023/06/27(火) 23:25:41.57ID:ne3dQxKH JSみたいになんでもnumberで扱いたいとかそんな程度の思いつきでしょ
804デフォルトの名無しさん
2023/06/27(火) 23:44:18.70ID:TelZeQpu Rustでrayonクレートを使ってみた。自分のやったコード大体素のRustのfor文の5倍くらいだった。
805デフォルトの名無しさん
2023/06/28(水) 00:03:59.57ID:RcKt4kwy 一挙に漂う小物臭
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 【高市速報】小野田キミ「中国依存はリスク」断交を示唆か [931948549]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 【んな専🏡】なんG 姫森ルーナ(・o・🍬)総合スレ🏰【ホロライブ▶】
- 【速報】中国、高市の発言撤回を改めて要求 [834922174]
- 【悲報】高市早苗周辺「支持層が離れるので今更発言を撤回できない」 [935793931]
