Twitter APIの仕様変更のため、「いいね」の新規取得を終了いたしました

黒木玄 Gen Kuroki

@genkuroki

  • いいね数 389,756/311,170
  • フォロー 995 フォロワー 14,556 ツイート 293,980
  • 現在地 (^-^)/
  • Web https://genkuroki.github.io/documents/
  • 自己紹介 私については https://twilog.org/genkuroki と https://genkuroki.github.io と https://github.com/genkuroki と https://github.com/genkuroki/public を見て下さい。
並び順 : 新→古 | 古→新

2020年10月02日(金)

積分定数 @sekibunnteisuu

20年10月2日

@1027stesc @Essence_sci @yamazaksv2 @sotasot42269265 ←この方、「専門は数学」だそうです。 pic.twitter.com/leyvtxYvGT

タグ:

posted at 23:58:22

黒木玄 Gen Kuroki @genkuroki

20年10月2日

「使用可能な道具の範囲内での手軽な高速化」のために「メモリの無駄遣いを気にせずに行列算化する」という話であれば実践的に合理的な場合もあると思うが、そういうやり方が普遍的に合理的であるかのように誤解する人を増やさないように注意した方がよいということもあると思う。

タグ:

posted at 23:46:19

ハガネの連勤術師 @hgn_no_otaku

20年10月2日

今日とある高卒生を見て「たった一つの解法しか正解としない超算数教員絶対許さん」と強く思った

タグ:

posted at 23:39:33

TaKu @takusansu

20年10月2日

@shiozawa_h #超算数 #掛算
「わり算でつまずいている」原因を分析調査している研究があるのかも疑問です。
他に原因の候補が無ければ、自動的に 「一つ分・いくつ分の考え方がきちんと身に付かなかったため」にされてしまいそうです。

タグ: 掛算 超算数

posted at 23:22:47

非公開

タグ:

posted at xx:xx:xx

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

A3)総合科学技術会議は、安倍内閣で総合科学技術・イノベーション会議と改名。日本社会の例えば学術論文の地盤低下?対応、ロボット社会化、数理・AI教育を年間100万人(大学必修化)、ムーンショット計画の話も出ていた。こういう話の報道は十分なのか。文系的な国民的議論も、必要だと私は思うが。

タグ:

posted at 23:09:07

十夜永Åソフィア @otomezachoginga

20年10月2日

@genkuroki 実用的な実行速度には大差ない、ですよね。JVMのオーバヘッドがー、と思ってた私の脳味噌古皮質もだいぶ昔に叩き割られてますし。

タグ:

posted at 23:04:55

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 「即時コンパイルで遅延が生じる場合もある」というのは事実。

しかし、依存が少ない小さなプログラムで実行時間が数秒以上かかるものについては、その遅延はほぼ無視できます。

ネイティブコードにコンパイル後であってもJuliaよりC++が速いと強く信じられる理由が私には分からない。

タグ: Julia言語

posted at 23:01:43

竜田一人 @TatsutaKazuto

20年10月2日

日本学術会議を「学者の国会」とか言っちゃって今騒いでるメディアの皆さんは、この報告が出た時、ちゃんと全国で報道してくれたんですかね?
玉石混交で、まともな報告からイデオロギーまみれの提言まで色々あるとこを、今更変に権威っぽく使うなら、3年前からやってくれよ。
twitter.com/TatsutaKazuto/...

タグ:

posted at 22:59:34

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 さすがに「C++はコンパイラでJuliaはインタープリタなので、C++の方がJuliaより速いのは当然である」とか思っている人はもういないよね? 😭

Juliaは函数を実行しようとしたときに、引数の型に合わせて、LLVM経由でネイティブコードに即時コンパイルして実行する仕組み。

タグ: Julia言語

posted at 22:52:45

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

A2)総合科学技術会議のメンバー政治家(各大臣)以外に、学術会議の会長もいるという構造。科技基本法は総合科技会議が担当。予算規模は、第1期17兆円、第2期24兆円、第3期25兆円という具合。このレベルでは形骸化が心配だと私は思う(単なる予算読み替えになる)。「やってる感」の光景が心配だ。

タグ:

posted at 22:50:21

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

A1)補足。科学技術会議のこと。科学技術会議は1960年頃に出来た、科技庁の調整機関。予算は別枠で、学術会議と共存した。しかし2000年の省庁再編で合併、文部科学省になる段階で、学術会議はさらに骨抜き(改革され)、科学技術会議は総合科学技術会議に昇格。首相と各大臣がメンバーの調整機関に。

タグ:

posted at 22:25:47

まついしょうた @1027stesc

20年10月2日

自信のある先生ほど変に知識を持ってしまっているので、「同じもの」を細かく分類して「違うもの」に見せたがるんだよね。『増加・合併』『求残・求差・求補』『包含除・等分除』『掛け算順序』…。
小学校の教科担任制で危惧するところ。

タグ:

posted at 22:22:07

ゆじ / Yuji @yujikawa_py

20年10月2日

買っちまっただ
1から始める Juliaプログラミング
amzn.to/34glvDS

タグ:

posted at 22:15:22

Jarred Barber @MyNameIsTooLon

20年10月2日

@StefanKarpinski @Viral_B_Shah @quinn_jacobd how can the compiler throw away an infinite loop? isn't that incorrect behavior?

タグ:

posted at 22:02:20

ヒカルリ(ハイパー都内勤務エンジニア) @hika_ruriruri

20年10月2日

FORTRAN教材を全てJuliaに書き換えるTA業務

タグ:

posted at 22:01:29

dc1394 @dc1394

20年10月2日

黒木玄( @genkuroki )さんの微分積分学のノート、Juliaによる数値計算例が載っていて、とても良い。
genkuroki.github.io/documents/Calc...

タグ:

posted at 22:00:06

ゆじ / Yuji @yujikawa_py

20年10月2日

juliaの本ポチってしまった

タグ:

posted at 21:47:31

非公開

タグ:

posted at xx:xx:xx

kashi @mkashi

20年10月2日

自分はMATLABの、「for文を書かずに行列の計算に直せば速くなる」という謎文化がヘドが出るほど嫌い。数学的な計算量は何も変わっていないかむしろ増えているのに速くなるなんていう変な言語を使ってスピードの肌感覚を狂わせてはいけない。JuliaがMATLABを駆逐してくれたら大変嬉しい。

タグ:

posted at 21:41:06

kashi @mkashi

20年10月2日

JuliaとC++で区間演算。1+1/2+1/3+...で16を超えるのがいつか調べる簡単なプログラム。C++で0.067秒、Juliaは0.239秒。これはJuliaで丸めの向きが変えられず方向付き丸めをエミュレートしてるのが原因と分かってるので、C++も公平にエミュレートにしたら0.151秒。よく頑張ってる。 pic.twitter.com/36ooGWV3QD

タグ:

posted at 21:16:06

Stefan Karpinski @StefanKarpinski

20年10月2日

@Viral_B_Shah @quinn_jacobd But as soon as you throw compiler optimizations in there, the compiler will just remove the loop altogether

タグ:

posted at 21:13:47

Ryo IGARASHI @rigarash

20年10月2日

@dc1394 @genkuroki @Hishinuma_t 疎行列を密行列に入れているなとは思っていました。疎行列の一般化固有値問題は…大変ですね…

タグ:

posted at 21:03:37

非公開

タグ:

posted at xx:xx:xx

Yuki Nagai @cometscome_phys

20年10月2日

Juliaでのスレッド並列を調べてみた on @Qiita qiita.com/cometscome_phy...

タグ:

posted at 21:02:26

kashi @mkashi

20年10月2日

JuliaとC++のスピード比べ、個人的には、結局BLAS/LAPACKに丸投げになってしまう倍精度の数値計算の速度にはあんまり興味なくて、4倍精度とか自動微分みたいな変な型を突っ込んだときの速度に興味がある。

タグ:

posted at 20:47:25

dc1394 @dc1394

20年10月2日

@rigarash @genkuroki @Hishinuma_t 有限要素法なので、行列は密行列ではなく疎行列(三重対角行列)になっていますね(コード上では、C++でもJuliaでも、密行列に要素を格納していますが)。

タグ:

posted at 20:42:41

黒木玄 Gen Kuroki @genkuroki

20年10月2日

@hayabusa_0613 #Julia言語 しかし、実用的には函数版のprintfもないと不便です。そういう人は

github.com/JuliaIO/Format...
Formatting.jl

のsprintf1函数を使えということのようです(最近知った!)。マクロ版より2~3割遅いと書いてある。

タグ: Julia言語

posted at 20:36:50

黒木玄 Gen Kuroki @genkuroki

20年10月2日

@hayabusa_0613 #Julia言語 だから、@ printf の実行時にはフォーマットの文字列を解釈するための律速段階が無くなり、速くなるわけです。

以下のリンク先の質問の回答者はJuliaを始めた人たちのうちの一人です。

stackoverflow.com/questions/1978...

タグ: Julia言語

posted at 20:34:21

黒木玄 Gen Kuroki @genkuroki

20年10月2日

@hayabusa_0613 #Julia言語 Juliaの開発者はJuliaの @ printf がマクロになっているおかげで、Cのprintf函数よりも速いことを自慢しています。

printf函数はフォーマットの文字列を函数が解釈して表示を整形します。

マクロのprintfはフォーマットの文字列から整形して表示する函数のコードを自動生成します。

タグ: Julia言語

posted at 20:33:10

PAW @akhdhys

20年10月2日

よく考えたらJuliaのコンパイル時間ってEigenくらいかも

タグ:

posted at 20:21:02

まえこっかくのSUZUKIさん @create_clock

20年10月2日

Maker Faire Tokyo 2020で展示する「オリガミ人工筋肉」 ハガキよりちょっと薄い紙を折っています。紙なのであまり力が出ないと思われるかもしれませんが、動画のように500mLのペットボトルを軽々と持ち上げます。ブースではもっと重いものをもちあけるかも? #MFTokyo2020 #mft2020 pic.twitter.com/i5zvB7yhx5

タグ: mft2020 MFTokyo2020

posted at 20:20:57

黒木玄 Gen Kuroki @genkuroki

20年10月2日

@hayabusa_0613 #Julia言語 端末に直接大量表示させてしまうのは、どちらかと言えば「失敗した場合」なので、そのissueについて優先順位は多分低く設定されていると思います。

タグ: Julia言語

posted at 20:19:28

PAW @akhdhys

20年10月2日

Eigenってインクルードするだけでコンパイル時間が伸びるよな

タグ:

posted at 20:19:06

黒木玄 Gen Kuroki @genkuroki

20年10月2日

@hayabusa_0613 #Julia言語 は open issues を3.1k個も抱えていて(←これちょっとすごいと思う)、改善の優先順位が極めて重要な世界になっています。

端末でのprint速度の問題は以下のリンク先のissueと関係があるかもしれません。

github.com/JuliaLang/juli...

タグ: Julia言語

posted at 20:18:07

竹渕瑛一 @GRGSIBERIA

20年10月2日

カリッカリにチューニングすればJuliaとgccの速度はそんな変わらないと思う

タグ:

posted at 20:10:41

黒木玄 Gen Kuroki @genkuroki

20年10月2日

@tomoak1n ええと誰も「普通だ」などとは言っていません。

円周率のモンテカルロ計算は以前にやったネタの繰り返しで、検索して頂ければ、具体的にどのようにすればgccの方を速くできるかについての詳細を、私自身が情報発信していることを確認できるはずです。 #Julia言語

タグ: Julia言語

posted at 20:09:26

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 あと個人的に非常に不思議なのは「C++の方がJuliaより速いのは当然である」と思っているように見受けられる人達がいること。

実証とは別にどういう理由でそう信じているかについても詳しく説明して頂けると嬉しいです。

どういう理由でC++の方が速くなると思っているかを知りたい。

タグ: Julia言語

posted at 20:05:57

Izuku / いずくね @izukunKK

20年10月2日

機械学習って言ったらRかPythonだと思ってたけどJuliaで開発してる人結構いるんだねー。

タグ:

posted at 20:04:38

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 あともう一つ不思議なのは、JuliaのOpenBLAS版とMKL版で実行速度に倍以上の違いが出たことです。

以前、私が2つを比較するベンチマークをやったときには(かなり以前なので情報が古い!)、OpenBLASとMKLのあいだで大きな違いがあるようには見えませんでした。

どこで差がついたのか?

タグ: Julia言語

posted at 20:03:31

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 C++の側が本当にJuliaよりも速いならばIntel compilerを使わなくてもJuliaよりも速く計算できないとおかしいのですが、そういうことが可能なことを実証できた人がいたら、是非ともその方法の詳細を公開して欲しいと思います。

こういうネタではそういう技術情報も広まるとおいしい。

タグ: Julia言語

posted at 19:57:11

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 iccの公式サポートをやめているJuliaにIntel compilerを使っても速度的に勝てていないというのは、個人的には非常に驚きです。

Juliaも頑張ればiccでコンパイルできるらしいので(少し上で紹介した情報)、それとの比較にも興味がわきますが、私のスキルでは無理。

twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 19:55:24

黒木玄 Gen Kuroki @genkuroki

20年10月2日

@dc1394 @Hishinuma_t @rigarash 私の最近の発言集は【C++より速かったら手放しで喜ばず,少し考えた方がいい】と言いたいがために書かれたのではなく、以上ではあからさまに書いたように、「私はあきれている」という気持ちを婉曲に表現するために書かれています。

タグ:

posted at 19:45:51

Yuki Nagai @cometscome_phys

20年10月2日

面白そうな記事を見つけたのであとで試してみよう。
Thread Parallelism in Julia www.oxinabox.net/2017/11/20/Thr...

タグ:

posted at 19:44:41

黒木玄 Gen Kuroki @genkuroki

20年10月2日

@dc1394 @Hishinuma_t @rigarash この手の話題であきれるのは、Juliaを何も試していなさそうに見えるのに、dc1394さんのようにC++とJuliaの両方のソースコードを全公開して自分がやれたことの範囲内で意見を述べている人に、ごちゃごちゃ余計なことを言いまくる人達が出て来ること。

自分でもJuliaを試していればフェアだと思います。

タグ:

posted at 19:44:03

黒木玄 Gen Kuroki @genkuroki

20年10月2日

@dc1394 @Hishinuma_t @rigarash C++の側が速いと信じている人も「私のプログラミング能力では、Juliaを使ってもC++より速く計算することはできない」のように意見を述べていれば角が立たないと思います。

もちろん、そういうことを言う前にJuliaを試していないとダメなのですが。

試していないなら、もっと別の言い方をするべき。

タグ:

posted at 19:40:28

黒木玄 Gen Kuroki @genkuroki

20年10月2日

@dc1394 @Hishinuma_t @rigarash 私はいつも「私のプログラミング能力では、gccを使うより、Juliaを使った方が楽にしかも速く計算できる場合が多い」のように言うように気を付けています。

gccの側でも色々面倒なことをすれば速くなることを知っているのですが、私自身は全くそうする気になれない。 #Julia言語

タグ: Julia言語

posted at 19:37:40

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

21)科学技術基本法は、一議員の議員立法で成立した。学術会議は何をしているのか。教育も研究も理系と文系が分かれたまま、全く異なる文化が孤立して議論をしている現状はないか。それでいいか。基本法で人文系が振興策から排除されていいのか。学術会議の理想主義の原点が問われていると私は思う。

タグ:

posted at 19:33:53

黒木玄 Gen Kuroki @genkuroki

20年10月2日

@dc1394 @Hishinuma_t @rigarash 私の発言集を

【黒木さんも仰ってるように,C++より速かったら手放しで喜ばず,少し考えた方がいいと思います】

と解釈するのは誤り。

dc1394さんのようにC++とJuliaの双方についてソースコードを全公開して発言している人は偉いと思います!

主観的に意見を述べることに委縮する必要は全然ない。

タグ:

posted at 19:30:30

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

20)失礼、今は第5期科学技術基本計画の最終年度。しかし科学技術基本法の議論も報道も少ない気がする。実際、同法第2条は「自然科学と人文科学との相互のかかわり合いが科学技術の進歩にとって重要であることにかんがみ、両者の調和のとれた発展について留意」とされる。それをどう考えるのか。

タグ:

posted at 19:26:34

電タク❖ @o_loAol_o

20年10月2日

本当はOCamlよりもJuliaとかPythonやる方がコスパはいいんだよなぁ

タグ:

posted at 19:23:14

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

19)科学技術基本法は、1995年成立、1996年施行。今、基本法で検索すると52本の基本法がある。基本法の特徴は①事務局が付き、②予算が付き、③基本計画がセットであること。つまり国家官僚が推進するので、絶対に進むことだ。かくして、第1期の科学技術基本計画1996-2000年以降、第5期を終えた。

タグ:

posted at 19:10:03

Yuki Nagai @cometscome_phys

20年10月2日

Juliaでスレッド並列をfor文ごとに起動せずにやりたい。openmpでできるのだけれどJuliaだとどうやるんだろ...。まだできないのだろうか...

タグ:

posted at 19:07:52

dc1394 @dc1394

20年10月2日

だいたい、「ヘッダオンリーで気軽に使える」のが、Eigenの「売り」の一つだったわけだから、外部のLAPACK/BLASを呼ぶことは、Eigenの「売り」を捨てていることになると思う。結局は、パッケージマネージャーがないC++の欠陥。あと関係ないけど、EigenはC++20対応も頑張って。

タグ:

posted at 19:07:36

dc1394 @dc1394

20年10月2日

Eigenは、LAPACK/BLASを呼ばないとJuliaに比べて異常に遅いし、OpenBLASのLAPACK/BLASを呼ぶ方法もよく分からないしで、速度を求めるならC++とEigenの組み合わせよりJuliaを使った方が良いと思う。MKLが使える環境の人なら別だけど。 twitter.com/dc1394/status/...

タグ:

posted at 18:36:46

非公開

タグ:

posted at xx:xx:xx

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

18)なぜなら1995年の法案(「科学研究」基本法ではなく「科学技術」基本法)の成立直後に、当時の伊藤正男会長が会長談話を出しただけで、結局、認めてしまったからだ。それは勿論、一種の政府機関として仕方がなかったし、理研に脳科学研究センターが直後にできる等、タダでは起きない面もあった。

タグ:

posted at 18:18:30

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 最近発見した「『Juliaは遅いぞ!』と言われてちょーラッキー❤️」だった件は以下のリンク先で紹介した。

biojulia.net/post/seq-lang/ を直接見に行っても良いです。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 18:03:29

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

17)「科学技術基本法」は、当然、日本学術会議の理想「科学研究基本法」を意識した。その冒頭で、わざわざ「この法律は、科学技術(人文科学のみに係るものを除く。)の振興」と明記する。これをどう扱うか、1995年当時の学術会議でも問題になった。結局、魂を売り渡して妥協したと私には思われた。

タグ:

posted at 18:02:07

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 Julia開発者側が「速さ」を宣伝文句に使ったことには、「〇〇の場合にJuliaは遅いぞ!」という報告をしてくれる開発者側にとってとてもありがたい人達が次々に出て来るという効果があったと思う。

そのおかげでJulia側の最適化が進んだ場面を何度も繰り返し見て来た。

タグ: Julia言語

posted at 17:59:50

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 現状のまとめ

① 6.89秒 Julia MKL
② 7.44秒 icpc (icc) EIGEN_USE_MKL_ALL
②13.08秒 g++ (gcc) EIGEN_USE_MKL_ALL
③14.24秒 Julia OpenBLAS

特定の計算についてのいつものパターンではJulia帝国を連合軍が撃破する流れになるのだが今回はどうか?(笑) twitter.com/dc1394/status/...

タグ: Julia言語

posted at 17:54:54

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

16)最初の方で紹介した1950年代の日本学術会議の「科学研究基本法」案。これこそ日本の、学術会議の分野横断的な学問精神の体現となるはずだった。しかしそれは1960年頃に審議未了廃案となったと述べた。それが何と1995年に蘇った。それが今に繋がる科学技術基本法だ。「科学技術」だけに限定した。

タグ:

posted at 17:51:09

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

15)理想主義的な分野横断的価値観は、実現が難しいことは誰でも分かる。しかし日本の科学アカデミーはそこが特徴だ。つまり本気で科学=学問だと捉えた上で、科学研究=人文科学+社会科学+自然科学だと考えてきた。それが形骸化しやすいことも分かる。しかしそれを諦めるわけにはいかない。

タグ:

posted at 17:44:38

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

14)私個人の価値観をいうと、学問は元々、アリストテレスの自然哲学みたいに、分野分けは便宜的なことであり、そもそもの社会問題、解決したい問題自体は、文系・理系の分類など関係がない。だかこそ、問題が問題になる。そう考えている。だから若い頃から、日本学術会議の理念に共感してきた。

タグ:

posted at 17:40:24

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 関連

Juliaをiccでコンパイルすることに挑戦する話↓
github.com/JuliaLang/juli...

タグ: Julia言語

posted at 17:36:55

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 現在のJuliaはIntel compilerでのコンパイルをサポートしていません。優先順位が高い問題ではないという認識らしい。(誰かがやってくれるなら歓迎するということらしい。)

1つ前のツイートで紹介した結果を見ると優先順位が低くなっているのも納得できる。

github.com/JuliaLang/juli...

タグ: Julia言語

posted at 17:35:23

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

話を戻す。素粒子研究所1/4縮小案から(1968年頃)。
13)結局、学術会議は縮小案を受け入れ、できたのが高エネルギー物理学研と阪大核物理研究センターだった(東大核研の将来計画を二分した)。このため発足時の高エネ研の加速器は1/4の陽子8GeVだったし、阪大核物理研は関西核研とも呼ばれた。

タグ:

posted at 17:29:08

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 情報更新 Part 2

色々注意しても、スクリプト言語のように気楽に書けるJuliaと同じ程度の速さしか出ないようだと、普通はすごく落胆しますよね。

誰か「Juliaでの普通」よりも真に速くする方法を説明するべきだと思う。

そして、そのために必要な手間の分量が重要な因子になる。 twitter.com/dc1394/status/...

タグ: Julia言語

posted at 17:24:42

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

12)何回かの学術会議の改革を経て、その報告が、今は学会(学術会議登録の学協会約2000団体)にしか配信されなくなったと思う。各学会事務局は各学会員に再配布しないことが多い。これが学術会議の骨抜きでなくて何なのか。そもそも研究者は学術会議をあまり知らない。一般マスメディアはどうか。

タグ:

posted at 17:19:10

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 計算に使われるあらゆる部品が最新の研究に基いたベストに近いものであるかどうかは、その部品の専門知識がないとわかりません。

各分野の科学技術の専門家が全てに精通するのは困難。

以上でまだ出て来ていない専門知識が必要な部品として「自動微分」や「GPUの利用」などもある。

タグ: Julia言語

posted at 17:09:27

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

11)「総合事務局報」とは、日本学術会議の事務局が出していた事務局報告という意味の印刷物。白い表紙が今も目に浮かぶ。ググると例えば物理学者の坂田昌一記念館にある。私はその時以来、学術会議に興味を持ち、その重要性に驚愕した。
話を戻すと、その情報そのものが出なくなってしまったのだ。

タグ:

posted at 17:08:50

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

10)学術会議の勧告通りに出来れば、世界最先端の陽子加速器。それを1/4縮小案!学術会議が認めて1/4のエネルギーの加速器でも(我慢して)建設するか、あるいはそれでは意味がないとして拒否するか。当時の記録は「総合事務局報」という雑誌に出ていた。私は1974年、大学3年頃に読んで知った。

タグ:

posted at 16:53:58

カールパパ@Wellcat応援隊 @nekoesamakio

20年10月2日

【社員研修2日目】
昨日拾った仔猫は検診の結果♂と判明しました。

よく鳴き、よくミルクを飲み、ひたすら寝るという仕事の出来る男の子です

これからが楽しみ😸

#ねこ #ネコ #猫 #ニャンコ #猫動画 #地域猫 #街猫 #町猫 #保護猫 #里親募集 #迷い猫 #TNR #猫好きさんと繋がりたい #ねこのきもち pic.twitter.com/fzw7O43gpl

タグ: TNR ねこ ねこのきもち ニャンコ ネコ 保護猫 地域猫 猫動画 猫好きさんと繋がりたい 町猫 街猫 迷い猫 里親募集

posted at 16:52:56

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

9)本論と離れるが、学術会議の理解に有用なので、紹介したい。1960年代には、欧州CERNや米国LBL、BNL、あとコーネルやSLACでの電子加速器の大活躍で、素粒子物理学は大発展。日本でも東大原子核研究所の次期加速器に素粒子研究所を、学術会議が提案する段階で政府は1/4縮小案を提案。これが大混乱。

タグ:

posted at 16:40:15

黒木玄 Gen Kuroki @genkuroki

20年10月2日

技術に関する話題は「それを現実に実現した具体例」を含む話にしなければいけないのでJuliaが具体例として出て来るのは仕方がないことだと思うのですが、以上の話題は #Julia言語 に限定されない普遍的に重要な話題を含んでいると思います。

だから誰かが紹介する必要があると思いました。

タグ: Julia言語

posted at 16:37:03

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 以下のリンク先で紹介したFFTW.jlは高速フーリエ変換のライブラリのFFTWをJuliaで使うためのパッケージです。

FFTWはJuliaで書かれていないのですが、OCamlで最適なCのコードを自動生成する仕組みになっているそうです。そういう仕組みの専門家がJuliaに参入して来たのは自然に見える! twitter.com/genkuroki/stat... pic.twitter.com/szHu4ico2Q

タグ: Julia言語

posted at 16:33:11

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

8)私がその後、1990年から所属した大阪大学核物理研究センターも、日本学術会議の政府勧告で誕生した、国立大学共同利用機関の一つだった。設置は1970年でいわゆるKEK(高エネルギー物理学研究所)と同じ年の誕生だ。なぜ同年だったか。それは1960年代に素粒子研究所という提案があったから。

タグ:

posted at 16:31:18

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 添付画像1は既出の www.stochasticlifestyle.com/why-numba-and-... より。

そこで言及されているFFTWの開発者の1人はS.G.Johnsonさんで既出の動画

www.youtube.com/watch?t=1798s&...

でFFTWの開発の裏話を聴けます。既出のMITの宿題の答えもS.G.Johnsonさんが書いたものです。コードの自動生成による高速化の専門家。 twitter.com/genkuroki/stat... pic.twitter.com/8q9iE3WwC8

タグ: Julia言語

posted at 16:28:03

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

*)その辺りからは、私は京都女子大学での授業(学術情報総論という科目名)の中で、学術会議の重要性を強調してきた。しかしその問題については、全く触れなかったなぁ。当時、学術会議という名前を聞いても、全く知らないという学生は多かったと思う。無反応だった感じ。感想にも無登場だった記憶…

タグ:

posted at 16:26:39

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

7)学術会議は選挙制度の中で、党派性の形骸化だと私は理解したが、1983年代に選挙制度を廃止。学協会による推薦制として蘇った。それでしばらく続いていると思ったが、1990年代の旧ソ連・東欧崩壊とバブル崩壊の混迷の中、1990年代の末、とうとう廃止論も出て、再改革を吉川弘之会長の委員会で議論。

タグ:

posted at 15:58:44

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

6)戦前には、学者・研究者の代表機関は2つあった。1つは帝国学士院で権威の象徴、もう一つが学術研究会議で会長は長岡半太郎(世界的物理学者)だった。それが戦後、解体され、学士院は単なる名誉機関化。1949年に発足した日本学術会議は「学者の国会」と呼ばれ、選挙制度を導入、期待の星だった。

タグ:

posted at 15:33:17

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

5)学術会議の解説を続ける。1960年代には日本物理学会(後援:学術会議)も巻き込んで半導体国際会議での米軍闇資金が大問題となり、学会の反対決議(決議三)。当時は米ソ冷戦が激越で、学術会議の会員の選挙になると、政党の党派性を代表するような応援支援の葉書がよく研究室に届いていたものだ。

タグ:

posted at 15:26:45

kokiya @kokiya

20年10月2日

日本学術会議。何をしているのか知らないが、経済学委員会数量的経済・政策分析分科会議とやらには復興増税賛同者が5人も参加してたりするので、ろくでもないという感想しか出ない。

経済学委員会数量的経済・政策分析分科会議事録
www.scj.go.jp/ja/member/iink...

復興増税賛同者
www3.grips.ac.jp/~t-ito/j_fukko...

タグ:

posted at 15:25:31

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 そのおかげで、仮に高速化に役に立つ「予想外の別の部品」が得られたときに、単にその部品を使うようにもとのコードをほんの少し変更しただけで、即時高速化の恩恵を享受できるわけです。

既出に添付画像の例ではStaticArraysパッケージで高速化しています(Juliaではむしろ普通の書き方)。 pic.twitter.com/WnOnKDx3vy

タグ: Julia言語

posted at 14:53:31

ゆー @Yd_yuzu

20年10月2日

juliaよくわからんままMKLを入れたら行列計算めっちゃはやくなったっぽい。X::1000*1000のランダム行列で、eigen(X)だと20倍弱速くなってビビった。

タグ:

posted at 14:51:46

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 前もって函数が適用される場合を制限して、その制限された場合にのみ使用できる静的にコンパイルされたバイナリをライブラリとして使用するのとは、全然違うことをJuliaはやっているわけです。

タグ: Julia言語

posted at 14:50:08

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語

Juliaではすべての函数がテンプレートになります。

その函数が適用される先が変わるごとに、自動的かつ即時的に異なるネイティブコードにコンパイルされて実行されます。

しかもダイナミックにそれが行われる。

こういう仕組みなので部品どうしの貼り合わせはJuliaでは常に滑らか。

タグ: Julia言語

posted at 14:47:40

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 Juliaで書かれた部品どうしの貼り合わせの場合には、貼り合わせによって律速段階が生じることは起こりません。

なぜならば、部品Aの函数を部品Bで計算するオブジェクトxに適用する場合にはxに合わせて部品Aがネイティブコードにコンパイルされて実行されるからです。

タグ: Julia言語

posted at 14:43:15

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 そこでは、CやFortranで書かれた高速ライブラリ単体やNumbaのようなJITでの高速化単体に関する単純なベンチマークテストを行なっても、仕事の全体でどうなるかは分からないという事実が強調されています。

www.stochasticlifestyle.com/why-numba-and-...

タグ: Julia言語

posted at 14:40:19

津田和俊/急激に進行した網膜剥離と闘って @kaztsuda

20年10月2日

@TatsutaKazuto いわゆる「学者」と呼ばれている人々の間でも実は「政治活動」はあり、例えば学長、学会の長、など、猿山のボス猿になりたがる人は一定の割合でいるのです。学術会議も、その一つ。自分の研究で忙しい人らにとっては、あまり興味のない世界で(だから、反応も冷淡)。

タグ:

posted at 14:38:57

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 SciPyの微分方程式の数値解を求める函数は速いです。Numbaも単純な函数ならJuliaと同じ仕組みによって同じように速いです。

しかし、ローレンツ方程式の数値解を求める仕事全体では、Juliaの普通の速さよりも22倍も遅くなっていることが紹介されているわけです。

タグ: Julia言語

posted at 14:37:48

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語

添付画像は既出の www.stochasticlifestyle.com/why-numba-and-... のスクショ。

44 ms ← Python SciPy + Numba
3.3 ms ← Python からJuliaを使った場合
2.0 ms ← Juliaの普通の使い方の場合(StaticArraysも使う)

Juliaでの普通の速さより、SciPy + Numba によるローレンツ方程式の数値解法は22倍も遅い。 pic.twitter.com/VbdxUoZzF3

タグ: Julia言語

posted at 14:35:18

Viral B. Shah @Viral_B_Shah

20年10月2日

@StefanKarpinski @quinn_jacobd Perhaps faster with simd!

タグ:

posted at 14:32:45

非公開

タグ:

posted at xx:xx:xx

竜田一人 @TatsutaKazuto

20年10月2日

日本学術会議さん理系の冷静なとこがまとめた報告書
twitter.com/TatsutaKazuto/...

タグ:

posted at 14:28:54

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 訂正版

Juliaで書かれた誤差函数の逆函数erfinv(x)はCやFortranで書かれたライブラリよりも数倍速い‼️

erfinv(x)は正規分布に関する統計処理において使われる基本特殊函数であり、そういうインフラレベルのライブラリでこういうことが起こっている‼️

www.youtube.com/watch?v=mSgXWp... pic.twitter.com/TAFbrv2GrL

タグ: Julia言語

posted at 14:09:01

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 以上における「エラー函数」「誤差函数」をそれらの「逆函数」に訂正します!文字数制限のプレッシャーに負けてケアレスミスを犯してしまいました。ごめんなさい。

与えられた確率αに対して「正規分布で値がx以上になる確率がちょうどαになるx」を求めるために使われる基本特殊函数。 pic.twitter.com/lK89Lk1dM0

タグ: Julia言語

posted at 14:05:20

dc1394 @dc1394

20年10月2日

EigenからMKLのLAPACK/BLASを呼び出す方法はわかったけど、OpenBLASのLAPACK/BLASを呼び出す方法がわからない。

タグ:

posted at 13:50:09

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語

Juliaをあまり使うつもりがない人であっても、正規分布関連の計算で必須の誤差函数のような基本インフラのライブラリのレベルで新しいことが起こっていることを知っておいた方が人生が少し楽しくなるものと思われます。

タグ: Julia言語

posted at 13:49:16

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 ただしその失敗を「失敗」と呼ぶには厳しすぎるかもしれません。なぜならば、そのCやFortranで書かれたライブラリが作られたときには、現代のようにコードの自動生成の技術が普通ではなかったと思われるからです。

タグ: Julia言語

posted at 13:46:49

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 昔から使われているCやFortranで書かれた誤差函数などの基本特殊函数のライブラリを使っている人達は

 カリッカリに最適化されたすごいライブラリ

を使っているつもりなのでしょうが、Juliaの登場によって

 最適化が不十分な失敗しているライブラリ

であることが判明したわけです。

タグ: Julia言語

posted at 13:44:20

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語

Juliaは決まり切った単純計算ではCやFortranよりも速くはない(遅いわけでもない)のですが、実用的に使われる函数の実装では高速化されている場合が少なくない。

こういうことは、単純なマイクロベンチマークでコンパイラごとの最適化能力の違いを比較するという発想では見えて来ない。

タグ: Julia言語

posted at 13:40:03

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 最初からJuliaの誤差函数erf(x)がCやFortranで書かれたライブラリの2~3倍以上の速さであることをネタにした方がよかった。

E₁(z)の方が数学的に面白いので、そういう方向に流れる誘惑に抗し切れなかった。

誤差函数のような超基本的な所で速度に違いが生じているんです! twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 13:35:14

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 続き。そこには、単純な単一の計算による速度比較は、パッケージ全体の実効的な速度を知る上ではあんまり役に立たないという話が書いてあります。

部品どうしが滑らかに貼り合わさっているかが計算速度において本質的な問題になる場合があるという話。

www.stochasticlifestyle.com/why-numba-and-...

タグ: Julia言語

posted at 13:30:18

てぃむ @Ounier0202

20年10月2日

これみて Julia 最高って言いながら癒されてる

www.youtube.com/playlist?list=...

タグ:

posted at 13:28:50

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 以上とは別の因子も実践的・実効的な計算速度に大きく影響することについては

www.stochasticlifestyle.com/why-numba-and-...
Why Numba and Cython are not substitutes for Julia
August 6 2018
Christopher Rackauckas

を参照。Point 1,2,3に分かれており、Point 1のタイトルを読むだけでも価値がある。

タグ: Julia言語

posted at 13:20:57

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 「えっ!Juliaのコンパイラの最適化はそんなにすごいのか!→そんなはずはない!」のような思慮に欠けた短絡志向を行なってしまう人達がどれだけ劣った考え方をしているかをわかって頂ければ、以上のスレッドを苦労して書いた甲斐があります。

そういう劣った反応はそろそろやめるべき。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 13:13:54

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 もちろん、Juliaのerf(x)で使用されている自動生成されたコードを移植すればCやFortranの側も速くなります(笑)

Julia側の普通の速度に負けている側はこんな感じで「不十分な最適化しか行なっていない」という「失敗」を犯しているのです(笑)

「(笑)」を付けずに済ますのは無理(笑)

タグ: Julia言語

posted at 13:09:29

Hiroshi Shinaoka @HShinaoka

20年10月2日

@drmaruyama @Hishinuma_t C++やPython (+Cython)もまだメインで使っていますが、新しいプロジェクトはできるだけJuliaに移行したいという段階です。

タグ:

posted at 13:05:57

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 E₁(z)ではなく、エラー函数

erf(x) = (1/√π)∫_0^x exp(-t²) dt

なら知っている人は多いでしょう。正規分布のcdfの計算に使われる函数なので、毎日みんなが使っている(笑)

Juliaのerf(x)は実際に使われているCやFortranで書かれたライブラリより速いです。

www.youtube.com/watch?v=mSgXWp... pic.twitter.com/6idIGjKoFw

タグ: Julia言語

posted at 13:05:36

Stefan Karpinski @StefanKarpinski

20年10月2日

@quinn_jacobd Assuming you didn’t mean to write an infinite loop

タグ:

posted at 12:56:33

Stefan Karpinski @StefanKarpinski

20年10月2日

@quinn_jacobd 272 years: 2^63 additions to overflow an Int64, an add is about a nanosecond ≈ 2^-30 seconds; so 2^33 seconds / 60*60*24*365 (seconds/year) = 272 years

タグ:

posted at 12:56:02

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 CやFortranなどでJuliaと同じ__普通の速さ__を実現するためには、擬似乱数発生器、スレッド並列化、SIMDに関する知識だけではなく、

* 人間が直接書くにはバカげているほど複雑なコードの使用

に関する知識も必要だと分かりました。

必要な予備知識はこれだけで済むと思う? twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 12:52:52

dc1394 @dc1394

20年10月2日

@uncorrelated コンパイラに、g++ (gcc)の代わりに、icpc (icc)を使うようにすると、計算時間は7.444秒となって、ようやくJulia (with MKL)と同等になりました。

タグ:

posted at 12:52:36

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 要するに、E₁(z)の計算速度でJuliaに負けたFortranライブラリの側の

 失敗



 人間が直接書くにはバカげたコードを使った最適化

を行なっていないことだと推測されるわけです。

Juliaの普通の速度に負けた側は__このように(笑)__何か失敗しているわけです。

タグ: Julia言語

posted at 12:49:07

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 言うまでもないことだと思いますが、多項式函数の評価を、配列に係数を格納しておいてforループを回して行うと遅くなる。

高次のルンゲ・クッタ法でも同様なことをすると遅くなる。

べた書きがベスト。しかし、コンピュータを使っているのに、人間がべた書きがするのはバカげています。

タグ: Julia言語

posted at 12:45:51

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 補足

nbviewer.jupyter.org/gist/genkuroki...
のIn[2]に引用されたコードの解説

右複素半平面を幾つかの領域に分割し、各領域ごとにE₁(z)を十分な精度で近似するために使える多項式または有理函数(多項式分の多項式)を用意し、Horner法のべた書きで計算する。

やっているのはこれだけです。 pic.twitter.com/34JXKpVcMr

タグ: Julia言語

posted at 12:40:59

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 MITでの宿題の答えとして公開されたサンプルコードなみの最適化を試行錯誤によって得るためには、コードの自動生成を使うことは必須だと考えられます。

現代的なプログラミング言語であれば完全なマクロくらいは常識かもしれませんが、そうでない場合には大変になります。

タグ: Julia言語

posted at 12:34:50

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 マクロが自動生成したコードの一部は添付画像のような感じ。

この程度であれば確かに他言語への移植も大したことがないかもしれませんが、この場合にはこの程度で済んだだけ。

あと、コードの最適化には試行錯誤が伴います。添付画像のコードをコピペした側では試行錯誤できなくなる‼️ pic.twitter.com/mnKhjKc9BD

タグ: Julia言語

posted at 12:31:44

電子計算機の沼 @Hishinuma_t

20年10月2日

というかそもそもBLAS自体も並列化はオプションだしな...
BLASをリンクしていれば速いというのも実は嘘で適切に並列化を有効にしてビルドしたBLASをリンクしないといけない... twitter.com/Hishinuma_t/st...

タグ:

posted at 12:30:35

電子計算機の沼 @Hishinuma_t

20年10月2日

「有名なライブラリを適当に入れれば並列化されているはず」
「BLASやLAPACKを適当に呼んでくれているはず」
というのは大体しくじるパターンで,古いライブラリだとマルチスレッドやMPIは大体オプションだし,C++はリンク周りが難しいのでBLASもオプション
make一発では絶対に遅い設定と思っていい

タグ:

posted at 12:12:29

MIZUNO Yoshiyuki 水野義 @y_mizuno

20年10月2日

4)例えば1950年代に学術会議は、科学研究基法を提出して努力した。しかし「科学研究」に人文科学、社会科学を含めたため政府から反対され(今と似てる?)、国会で審議未了廃案。代わりに出来たのが科技庁の科学技術会議だった。当然、これにも反対決議。総理府の一行政機関なのに煙たがられ続けた。

タグ:

posted at 12:10:46

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 だから、Juliaのマクロが自動生成したコードと同等のアルゴリズムでFortran側の最適化を行えば、Fortranで書かれたライブラリも何倍も速くなるはずなのです。

しかし、上の段落を見たら本当は笑うべき!

「マクロが自動生成したコードを他言語に移植しろ?!?!」(笑)

タグ: Julia言語

posted at 12:08:34

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 宿題の答えはJulia v0.5時代のもので、現在のJuliaで動くようにしたものが

nbviewer.jupyter.org/gist/genkuroki...

のIn[2]にあります(添付画像に引用)。

純粋にアルゴリズムの最適化による高速化になっていることが分かります。ただしマクロ(コードの自動生成)を使っている。続く pic.twitter.com/vCLIoITZ0N

タグ: Julia言語

posted at 12:05:29

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 Juliaで書かれた指数積分函数E₁(z)がFortranで書かれたライブラリの5〜6倍の速さになるという事実を知って

えっ!Juliaのコンパイラの最適化はそんなにすごいのか!

そんなはずはない!

のように考える多くの人達は__単なるおバカさん扱い__で問題ないと、私個人は思っています。

タグ: Julia言語

posted at 11:58:36

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語

nbviewer.jupyter.org/github/steveng...
MITでの宿題の答え

では指数積分函数E₁(z)をJuliaで実装し、SciPyで採用されているFortranで書かれたライブラリの5〜6倍の早さを実現しています。

これは人工的な問題での比較ではなく、実際に使われているライブラリとの比較。続く twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 11:55:00

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 再度強調。

 Julia側の普通の速度に負けた側は何か失敗をしている!

これは幸運なケース。Juliaのような話題の言語との比較になったおかげで失敗に気付けているだけ。

あなたが書いたC, C++, Fortranのコードは失敗していて、Juliaの普通の速度より何倍も遅くなっているかもしれない!

タグ: Julia言語

posted at 11:44:38

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 Cの側でJuliaと同じ__普通の速さ__を実現するためには、

* 擬似乱数発生器に関する知識
* スレッド並列化の知識
* SIMDの知識

は最低でも必要であることが分かりました。

必要な予備知識がこれだけで済むと思う?

予備知識に自信がある人はどれだけいるでしょうか?

タグ: Julia言語

posted at 11:37:54

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 Juliaのsumは丸め誤差にも配慮していている分だけ微小に遅くなっているのですが、丸め誤差を気にしないgccによるsimdを使わない単純和より1桁速いです。

もちろん、simdを使えばgcc側も速くなります。

しかし、それをやらずにgcc側のコードを固定した時点でgcc側で失敗しているのです。

タグ: Julia言語

posted at 11:33:13

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 単純な和なのにsimdを使わずに比較するという不適切な速度比較をしている場合。

Julia側でのsimdを使わないforループによる和はJuliaユーザーが通常使うビルトインsum函数より一桁遅いです。

さらに前から順番に足す方法だと丸め誤差が増え易い。Juliaのsumはそこまで配慮している。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 11:28:35

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 すでに、Juliaは普通の速さ(=C, C++, Fortranでの普通の速さ)で計算してくれることが分かっています。

Juliaがインタラクティブに使われる環境であることを理由にその点を疑う人がいるようだが、ひどい誤解だと思う。

型宣言やテンプレートの類を一切書かなくても__普通に__速いです。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 11:17:47

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 あと、擬似乱数発生器の速度は擬似乱数の質を落とせば速くなる場合があるので、質にも気を配る必要がある。現時点ではdSFMTは質と速さの両面で素晴らしい選択。(Xoroshiro128+も良い選択)

擬似乱数を使った単純なシミュレーションでさえ、こういう知識がないとgccでは失敗する。

タグ: Julia言語

posted at 11:08:15

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 1つ前のツイートで紹介した件は、gccで使っているデフォルトのrandがひどかったことが原因。

ちなみに、メルセンヌツイスター(C++ではstd::mt19937)を使ってもJuliaの普通版に速度で負けます。

Juliaの普通程度の速さにするには、Juliaがデフォルトで採用しているdSFMTを使う必要がある。

タグ: Julia言語

posted at 11:03:42

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語

【πのモンテカルロ計算での
N=10⁶回ループにかかる時間のまとめ

25 ms ←問題有りのgcc版
3.2 ms ←普通のJulia版3
0.86 ms ←nthreads()=8の並列処理のJulia版5】

以下のリンク先スレッドでは、gcc側で失敗していたせいで、gcc側が普通のJulia版より8倍近く遅くなっている話。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 10:57:52

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 すでに何度か言っていることだが、Juliaは普通の速さで計算してくれる場合が多いので、

 Juliaとのスピード競走で負けた側が何か失敗をしている

と考えた方がよい。

そして、Juliaでコードを書いて比較すれば失敗していることが判明するはずの事例は沢山埋もれていると推測される!

タグ: Julia言語

posted at 10:48:33

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 色々あったようだが、現時点では

①6.89秒 Julia MKL
②13.08秒 C++ EIGEN_USE_MKL_ALL
③14.24秒 Julia OpenBLAS(デフォルト)

②と③は同じ程度。①はそれらより倍以上速い。

C++ EIGENでMKLを使ってもC++版をほぼ忠実にJuliaに翻訳したもの(のOpenBLASデフォルト版)と同じ程度なのか。 twitter.com/dc1394/status/...

タグ: Julia言語

posted at 10:42:27

dc1394 @dc1394

20年10月2日

@rigarash @Hishinuma_t Eigenのヘッダファイルで、「#define EIGEN_USE_MKL_ALL」して、EigenからMKLを呼ぶようにすれば、計算時間が13.08秒くらいになって、Juliaより多少速くなりました。しかし、まだMKLを使用したときのJuliaの速度には及びません。
twitter.com/dc1394/status/...

タグ:

posted at 10:29:34

ytb @ytb_at_twt

20年10月2日

学術会議の件、このニュースだけ聞くと、学術会議ってものすごい影響力の大きい機関で多額の予算を左右して日頃から政府批判に道義的裏付けを与える存在だから委員任命が政治問題になるんだとか思っちゃいますよね…。

タグ:

posted at 09:26:23

江添亮@足首靭帯の手術から14週間 @EzoeRyou

20年10月2日

自分が何を行っているのか理解できていない人間の典型例。 twitter.com/tamakiyuichiro...

タグ:

posted at 08:43:15

jiccho @Jiccho96

20年10月2日

Julia言語が優秀なんじゃなくて、C++のパッケージ周りが難しいだけ

タグ:

posted at 08:29:15

1T @1T0T

20年10月2日

日本学術会議の任命見送りのインタビュー、「仕事が一つ減った」「別になりたいと思ってたわけでない」というTwitterでしか書かないような本音から入ってて噴きそうになった

タグ:

posted at 08:15:21

Hiroshi Shinaoka @HShinaoka

20年10月2日

物理学者の生産性向上の点でJuliaは推しているけど、C++と絶対的性能を比較する際に気をつけた方がいいと思う。プログラムのどこがボトルネックで、なぜ性能が変わったのかを理解するのが重要。

タグ:

posted at 08:14:10

あおじるPPPP @kale_aojiru

20年10月2日

「早く英語が抜けるといいですよね」の悍ましさたるや twitter.com/zubattored/sta...

タグ:

posted at 07:55:11

Ryo IGARASHI @rigarash

20年10月2日

@dc1394 @Hishinuma_t この速度差はEigenだと自前のルーチンが使われて、JuliaだとLAPACKのものが呼ばれる、ということだけのはずです。
Eigenできちんと外部ライブラリ呼ぶには、EIGEN_USE_LAPACKEマクロを有効にしないといけないですね。
eigen.tuxfamily.org/dox/TopicUsing...

タグ:

posted at 07:21:46

dc1394 @dc1394

20年10月2日

@Hishinuma_t 残念ながら、Makefileでコンパイルオプションに-fopenmpを指定しても、計算時間は変わらず、全く速くなりませんでした。プロファイラの解析によると、律速になっているのは、Eigenで一般化固有値問題の解を求める箇所でした。従って、EigenがJuliaが呼び出しているBLASに比べて遅いのが原因のようです

タグ:

posted at 06:03:45

Keno Fischer @KenoFischer

20年10月2日

@SimonPJByrne I wonder if there was a "how to Hacktoberfest" article or document somewhere that gave bad instructions and had a hardcoded list of potential repos that then got overrun.

タグ:

posted at 03:51:55

Keno Fischer @KenoFischer

20年10月2日

To go against the stream, I always thought Hacktoberfest was good fun and pushed new contributors over the edge to actually submit a PR. Sounds like this year is particularly spammy, but I have no problem with the program as a whole.

タグ:

posted at 03:43:18

なべさん @nabesan_go

20年10月2日

Juliaすごい!最高の言語です

タグ:

posted at 02:14:04

江添亮@足首靭帯の手術から14週間 @EzoeRyou

20年10月2日

判子の廃止、むしろ法律を理由にしたらいいのでは。尺貫法を廃止してメートル法を普及させるのに計量法を作って使用自体を違法化したよね?
news.yahoo.co.jp/articles/68de0...

タグ:

posted at 02:07:55

GroupeCalcul ⌨️ @GroupeCalcul

20年10月2日

Lettre mensuelle en français sur le langage Julia

pnavaro.github.io/NouvellesJulia...

#julialang

タグ: julialang

posted at 02:05:02

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#数楽 #Julia言語 あとは以上の繰り返し。

練習問題:X, Yが同じ平均と分散を持つ正規分布に従う確率変数(=乱数発生器)である場合について、Juliaで遊んでみよ。

遊んでみることが大事。

タグ: Julia言語 数楽

posted at 01:47:52

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 サイコロの例

X = rand(DiscreteUniform(1, 6), 10^5)
Y = rand(DiscreteUniform(1, 6), 10^5)

bin = 1.5:12.5
plot(legend=:outertopright, xtick=2:12)
histogram!(X+Y; norm=true, alpha=0.3, bin, label="X+Y")
histogram!(2X; norm=true, alpha=0.3, bin, label="2X") pic.twitter.com/DSZniiZrbc

タグ: Julia言語

posted at 01:45:22

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 プロットは

julia> ]
pkg> add StatsPlots
pkg> precompile
pkg> バックスペース
julia> using Distributions, StatsPlots
julia> X = rand(Gamma(10, 0.2), 10^5)
julia> histogram(X; norm=true, alpha=0.3, label="")
julia> plot!(Gamma(10, 0.2); label="")

のような感じ。 pic.twitter.com/syrXd3o9lf

タグ: Julia言語

posted at 01:36:35

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 では

julia> ]
pkg> add Distributions
pkg> バックスペース
julia> using Distributions
julia> rand(DiscreteUniform(1,6), 10)
julia> rand(Gamma(10, 0.2), 10)

のように、rand(確率分布, 個数)で沢山の種類の乱数を生成できます。 pic.twitter.com/SgqCOa2g7i

タグ: Julia言語

posted at 01:30:43

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#数楽 サイコロの例だけだと、様々な確率分布が登場する統計学の理解に繋げにくい。しかし、そこの部分はコンピュータを使った「〇〇分布」の擬似乱数生成とヒストグラムのプロットを繰り返すことができれば、楽に経験値を稼ぐことができます。

簡単なことの理解にも経験値の積み重ねがかなり大事。

タグ: 数楽

posted at 01:24:09

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#数楽 独立で同分布な確率変数X, Yに対するX+Yと2Xが全然違うことは、サイコロの例を知っていればあまりにも明らかなのですが、初学者は

* 抽象的でわかりにくい説明



* 適切な具体例で先に遊んでみた経験の欠落

の2つの原因によって、X+Yと2Xの区別が曖昧になりがち。

タグ: 数楽

posted at 01:21:19

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#数楽 X+Yと2Xの違いは、XとYが独立な通常のサイコロの目の場合を考えるとわかりやすいです。

2Xの値は2,4,6,8,10,12のどれかになり、等確率でどれかの値になる。

X+Yの値は2,3,…,12のどれかになり、7になる確率は高く、2や12になる確率は低い。

これらは全然違う。しかもどう違うかも明瞭です。

タグ: 数楽

posted at 01:17:38

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#数楽 14~20行目はプロット用のコード。一般にコンピュータでのグラフの描き方の学習コストは非常に高いです。

X+Yと2Xのそれぞれが生成した10万個の乱数のヒストグラムと、数学的に予想される結果の確率密度函数のグラフを重ねて描いています。ぴったり予想通りになっている! pic.twitter.com/hOVRm4IL3A

タグ: 数楽

posted at 01:11:23

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#数楽

10~12行目:X+Y と 2X についてそれぞれ10万個の乱数を発生させている。乱数の配列は統計学用語でサンプルとよばれているので、そういう変数名を付けています。 pic.twitter.com/Sizwm7Jf7B

タグ: 数楽

posted at 01:07:52

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#数楽 独立な乱数を発生させる函数 X() と Y() から函数 (X+Y)() と (2X)() をそれぞれ

(X+Y)()= X() + Y()
(2X)() = 2X()

と定義するとき、この2つが発生させる乱数の分布にどのような違いがあるかが問題。

それを確認したのが添付画像のコードとプロットです。 pic.twitter.com/2gHfKBwdzv

タグ: 数楽

posted at 01:05:02

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#数楽 なぜかツイッターでは妙に「測度論的確率論に基く確率変数の定義」の「権威」が無用に高い。そういう「権威」の無用な高まりは、「分かっていない人達だけが気にすればよいこと」であり、確率論の初心者はもっと気楽にJuliaとかで遊んでみることによって概念を直観的に把握してしまえばよい。 pic.twitter.com/X33P1chqQ9

タグ: 数楽

posted at 01:02:04

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#数楽 コードの解説

3~8行目:パラメータα=10, θ=0.2のガンマ分布に従って独立に乱数を発生させる函数X, Yとそれらから作られる乱数発生函数X+Y, 2Xを定義。

このX, Yは「独立な確率変数」のJuliaによる1つの実現だと考えられます。続く pic.twitter.com/mEHhhW6XDf

タグ: 数楽

posted at 00:58:27

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 を使いこなしまくるためには、どこかの段階でマクロ(より一般にコードの自動生成)の書き方について学ぶ必要が出て来ます。以上で紹介した3つの方法

expr = :(2sin(y))

dump(expr)

Meta. show_sexpr(expr)

でJuliaの式=文がどのように構文木に変換されるかを見ておけば易しくなります。

タグ: Julia言語

posted at 00:50:11

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 例えば、

x + 0.1

の構文木への変換で、x と + はシンボルになり、0.1はFloat64型の0.1になります。

そして、+は演算子(函数)扱いなので、ヘッドが函数呼び出しを意味するcallシンボルになっている。

シンボルは構文木を構成するときに使われる「文字列」(Stringとは別扱い)です。 pic.twitter.com/x5IhPGSs98

タグ: Julia言語

posted at 00:47:16

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 Juliaでのパースの仕方の概略は

:(どのようにパースされるかを知りたいコード)

のように :( ~ ) で囲んだ結果の表示を見れば分かります。概略ではなく詳細を知りたければ、

Meta.@ dump どのようにパースされるかを知りたいコード

を実行。Meta. show_sexprも便利。 pic.twitter.com/FpXOKnIvM5

タグ: Julia言語

posted at 00:43:47

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 スレッドの最初の話題に戻る。Juliaは

var"sample of X+Y"



Symbol("sample of X+Y")

だと解釈する。そのことは

:(var"sample of X+Y")

を実行すればわかる。Juliaにおけるシンボルは函数名や変数名や演算子名などに使われる「文字列」(カギ括弧付注意、Stringとは異なる)です。

タグ: Julia言語

posted at 00:33:03

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 の非常に面白いところは、過学習が進んでしまって頭が硬くなった人達のみが嫌がる合理的な改善を多数しているところだと思う。開発者の純合理性が非常によい。

例:ユニコードによって数式的な名前を使える。

例:f(x) = 2x^2 - 3x + 1 とか、g(x) = 3sin(2x) のように * を略せる。

タグ: Julia言語

posted at 00:22:20

黒木玄 Gen Kuroki @genkuroki

20年10月2日

ユニコード対応程度のことであれば現代では常識的で新しい話にはならないと思う。

#Julia言語 の新しいところは全世界のユーザーが同じように数式に見えるユニコード文字を使えるようなインターフェースをREPLや他の対応環境で提供するようにしたことだと思う。

タグ: Julia言語

posted at 00:18:21

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 Julia対応環境におけるユニコード文字の入力法に関する公式ドキュメント↓

docs.julialang.org/en/v1/manual/u...

σ² や Δt のような変数名を使えるのは確かに便利で、変数名の選択に悩む場合が大幅に減る。

さらに、教科書に書いてある数式と同じ記号にしておけば、アルゴリズムを解読し易くなる。

タグ: Julia言語

posted at 00:16:19

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語 現代のプログラミング言語であれば函数名・変数名や演算子記号にユニコード文字を使用できることぐらいは常識になっていると思う。

しかし、問題はその入力法で、全世界のユーザーが同じインターフェースでユニコード文字を入力できないと、広まらないだろう。Juliaでは広まった!

タグ: Julia言語

posted at 00:13:20

黒木玄 Gen Kuroki @genkuroki

20年10月2日

#Julia言語

Juliaでは

X+Y
2X
sample of X+Y

などを函数名や変数名に使える。正確に言えば、

var"X+Y"
var"2X"
var"sample of X+Y"

などを函数名や変数名に使える。

適切な変数名に悩む時間がもったいない人は利用すればよいと思う。添付画像は例。

nbviewer.jupyter.org/gist/genkuroki... pic.twitter.com/yljiny6osP

タグ: Julia言語

posted at 00:10:45

Ben Lorica 罗瑞卡 @bigdata

20年10月2日

4/ We also discussed Viral’s 2016 book - Rebooting India: Realizing a Billion Aspirations - which he co-wrote with @NandanNilekani, co-founder of @Infosys Technologies. End/ thedataexchange.media/a-programming-...

タグ:

posted at 00:00:55

Ben Lorica 罗瑞卡 @bigdata

20年10月2日

3/ Should more data scientists take another look at #Julialang? In this short excerpt, @Viral_B_Shah makes a strong case for @JuliaLanguage for data processing, data visualization, and data science www.youtube.com/watch?v=PECuRJ...

タグ: Julialang

posted at 00:00:55

Ben Lorica 罗瑞卡 @bigdata

20年10月2日

2/ I first came across Julia at the beginning of March 2012 after seeing @JeffBezanson give a talk at Stanford. Over the past few years, Julia has continued to add packages at a steady pace and its core packages & package manager are now really quite impressive and solid.

タグ:

posted at 00:00:54

Ben Lorica 罗瑞卡 @bigdata

20年10月2日

1/ In this episode of #TheDataExchangePod I speak with @Viral_B_Shah, co-founder and CEO @JuliaComputing, and co-creator of @JuliaLanguage. We discussed state of #Julialang, Julia 1.5, and the Julia ecosystem and community. thedataexchange.media/a-programming-...

タグ: Julialang TheDataExchangePod

posted at 00:00:54

ごまふあざらし(GomahuAzaras @MathSorcerer

20年10月2日

こんな感じで配信できそうではある.(そんな元気は今ないけれど)

#Julia言語 pic.twitter.com/iTyxyHIOKD

タグ: Julia言語

posted at 00:00:27

@genkurokiホーム
スポンサーリンク
▲ページの先頭に戻る
ツイート  タグ  ユーザー

User

» More...

Tag

» More...

Recent

Archive

» More...

タグの編集

掛算 統計 超算数 Julia言語 数楽 JuliaLang 十分 と教 モルグリコ 掛け算

※タグはスペースで区切ってください

送信中

送信に失敗しました

タグを編集しました