黒木玄 Gen Kuroki
- いいね数 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 を見て下さい。
2021年03月15日(月)
#Julia言語
②バックスペースを押して
julia> using Pluto; Pluto.run()
すると、ブラウザにPlutoノートブックのタブが開く。
③以下のリンク先のURLを貼り付ける。
gist.github.com/genkuroki/9013...
④OKボタンを押す。 pic.twitter.com/ZVc7SwBX6l
タグ: Julia言語
posted at 00:02:54
#Julia言語
⑤すると、Plutoノートブックがダウンロードされて実行される!しばらく待つ。
⑥⑦⑧添付画像を参照。
Juliaを使ったことがない人であってもトラブらなければ10分もあればここまでたどり付けると思います! pic.twitter.com/jCA1YfTOvk
タグ: Julia言語
posted at 00:02:55
@_joaogui1 @blelbach @ClaymorePT @datametrician I'm not going to tell nvidia what to do with its money, but I just want to say that a dollar spent on Julia goes much further in engineering output than a dollar spent on Python and c++. With a solid foundation, composability, compiler support etc already there, one or two FTEs..
タグ:
posted at 01:10:25
@_joaogui1 @blelbach @ClaymorePT @datametrician Would go a really really long way. Also just a quality of life thing for programmers. So much fun to use Julia. Everything is integrated and no worrying about 5 different types systems...
タグ:
posted at 01:12:09
@_joaogui1 @blelbach @datametrician I don't think anyone is going to be trapped in python. Julia is getting grants, attracting passionate devs and making strides regardless of large commercial investment. Community doubles 18 months and tech grows exponentially faster since compounds more than python tools that..
タグ:
posted at 01:15:18
@_joaogui1 @blelbach @datametrician Are mostly just wrappers over other compiled libs, or limited DSLs. Also more of these devs will be contributing to core infra, which is in the same language they use to script. It will happen, but just take longer without big corporate help..which will come in time
タグ:
posted at 01:18:05
@datametrician @_joaogui1 @blelbach I don't know because a. I'm not going to extrapolate from one survey. O'reilly has way more python books so it's going to attract more queries about those books..b. there are some technological shifts coming up in the Julia ecosystem that will change growth dynamics
タグ:
posted at 01:26:41
@datametrician @_joaogui1 @blelbach Also while Julia is a general purpose language and has webservers etc, it's growing slower there . (That will change with static compilation to .so and web assembly imo.). For the purposes of NVIDIA GPU use should be looking at DS/ML segment
タグ:
posted at 01:31:16
@attila_f_feher @_joaogui1 @blelbach @ClaymorePT @datametrician Yes that's the subtext of this discussion
タグ:
posted at 01:33:52
Amazonが自社出版の書籍、オーディオブックを図書館から引き上げた。主要な出版社でこれを行ったのはAmazonだけ。AmazonのMikyla Bruderは現状の図書館によるデジタル書籍の貸出は著者と図書館のパトロンの利益のみを考慮と主張。Amazonの本は図書館で読めない事態に。 twitter.com/verge/status/1...
タグ:
posted at 01:57:33
日本のファミコンの人気作品、Motherの英語化のプロトタイプが任天堂から漏れて、後にWiiUの時代になってやっと任天堂から公式にEarthbound beginningsとしてリリースされるまでを克明に追ったドキュメンタリーとのこと。 twitter.com/arstechnica/st...
タグ:
posted at 02:14:22
@blelbach @AriKatz20 @attila_f_feher @_joaogui1 @ClaymorePT @datametrician I was summoned here, but it's a Sunday, so I'll probably keep it brief. I think probably the primary reason people like writing GPU code in Julia is that everything is in the same system.
タグ:
posted at 02:21:16
@blelbach @AriKatz20 @attila_f_feher @_joaogui1 @ClaymorePT @datametrician So you can start by just prototyping some new OFE solver or whatever on the CPU in Julia and immediately turn it into a custom GPU kernel without much of a learning curve at all.
タグ:
posted at 02:22:16
@blelbach @AriKatz20 @attila_f_feher @_joaogui1 @ClaymorePT @datametrician If you have a two language system, people frequently just give up when they hit the language barrier - as a result I think we see a lot of people use GPUs in Julia who wouldn't otherwise consider it.
タグ:
posted at 02:23:48
@blelbach @AriKatz20 @attila_f_feher @_joaogui1 @ClaymorePT @datametrician I should also say though that contrary to what may have been expressed in the thread, we have a fine relationship with NVIDIA. NVIDIA GPUs are one of our primary hardware platforms these days and the stack is very mature.
タグ:
posted at 02:25:19
@blelbach @AriKatz20 @attila_f_feher @_joaogui1 @ClaymorePT @datametrician NVIDIA has sponsored JuliaCon in the past and IIRC, NVIDIA application engineers are helping out on the tuning of CliMa. We also regularly speak and collaborate with NVIDIA engineers on a wide range of issues.
タグ:
posted at 02:27:28
@blelbach @AriKatz20 @attila_f_feher @_joaogui1 @ClaymorePT @datametrician I find these language games kinda silly. Use whatever tool fits best. If you're trying something new or doing scientific machine learning, that's probably Julia these days. I haven't tried many of the C++ tools referenced, but I'm sure they're excellent in their domain.
タグ:
posted at 02:28:50
Hideki Kawahara: WAS @hidekikawahara
危険物が開いた。最初にChromeの「URLをコピー」でコピーしたものを貼り付けると二枚目のようにエラーが出て戸惑ったが,そのまま文字列としてコピーして貼り付けると動いた。すごい。しかし,まだ目の前の締切が片付いていないし,他の緊急の仕事もある。 twitter.com/genkuroki/stat... pic.twitter.com/U2a0ix0a9w
タグ:
posted at 02:42:31
Pablo Saavedra Garfi @_DunkleWolke
Happy #PiDay2021 , celebrating with @JuliaLanguage that is the one with the actual (π) Greek letter assigned to the constant #Pi which is lovely #geek ;)
#JuliaLang #PiDay #HappyPiDay #GNU #emacs #Linux #Lenovo #ThinkPad pic.twitter.com/bUIRf8ZTQH
タグ: emacs geek GNU HappyPiDay JuliaLang Lenovo Linux Pi PiDay PiDay2021 ThinkPad
posted at 05:36:40
3連覇を達成した渡辺明王将に対するスポニチ恒例の「勝者の罰ゲーム」は、おろち退治でした。石見神楽の八岐大蛇(ヤマタノオロチ)を切りつけた渡辺王将は「切ってる感じがしない。こちらが食われているようで」と笑顔でした。 pic.twitter.com/uMh7mK4uv7
タグ:
posted at 08:46:05
そうなんです。#Julia言語 のPlots.jlの@ gifや@ animateによる動画作成は非常にシンプルで簡単で便利です。
以前はPython matplotlib.animationで動画を作っていたのですが(JuliaからPythonライブラリを使える)、Plots.jlの@ animateの方が便利なので引っ越しました。
mp4ファイルも作れます。 twitter.com/piy0_gadget/st...
タグ: Julia言語
posted at 09:12:18
Hiroyuki Chihara @HiroyukiChihara
Using the random function of the #julialang I got three 20 by 20 matrices whose elements are integers between 80 and 255, and combined them to be an RGB image which will be used as an example of the application of matrices in my course on linear algebra. pic.twitter.com/kUg6CMenXC
タグ: julialang
posted at 09:43:23
@Captured_Alien ランダムウォークについても、交差検証によって、そこそこ適切に下降トレンドを予測できる! #ビジネス数学 twitter.com/genkuroki/stat...
タグ: ビジネス数学
posted at 09:53:21
#数楽 ランダムウォークの話なので、ランダムウォークの数え上げの図をシンプルに描けば簡単です。
(1)は二項係数の問題。
(2)はCを通らない経路を数えて二項係数から引けばよい。
続く twitter.com/hgn_no_otaku/s... pic.twitter.com/Qha8y2oOC4
タグ: 数楽
posted at 11:11:45
#数楽 「Cにいる状態から出発して云々」という発想で最後までやり切るのは苦しいです。
Cを通る経路の個数を数え上げた青の数字をじっと眺めれば色々複雑なことになっていることが分かります。
添付画像の緑の部分はCを経由してAに達する経路の本数(全部で8本になる)の正しい数え方の例。
続く twitter.com/hgn_no_otaku/s... pic.twitter.com/nSEBYCzuZz
タグ: 数楽
posted at 11:11:47
#数楽 移動禁止点があるランダムウォークの経路の数え方に習熟すれば、公平なギャンブルを繰り返すと、勝ちまたは負けに偏っている時間の割合が長くなる確率が高くなることを意味する逆正弦法則を証明できます。以下のリンク先を参照。
この話題は「大学入試問題」という枠で見ない方がお得です。 twitter.com/genkuroki/stat...
タグ: 数楽
posted at 11:11:47
@j_v_66 @JuliaLanguage Type stability is a short hand for two properties, (1) The return type of a function can be inferred from it's arguments, (2) the type of variables within a function is not control flow dependent.
タグ:
posted at 12:19:09
@j_v_66 @JuliaLanguage This allows for devirtualization of function calls, inlining, and unboxing of variables, all especially important for loop heavy code.
タグ:
posted at 12:28:52
@j_v_66 @JuliaLanguage Union splitting is an important optimization, if a variable is know to be a small set of possible types we can split the set at a callsite and devirtualize the function for each member of the set. Especially important for Union{Nothing, T} where T
タグ:
posted at 12:36:09
@j_v_66 @JuliaLanguage Another neat effect is that if the code is type stable the compiler can discover a static subgraph of your program and perform IPO over it, or offload it to an accelerator where we need to know all possible call targets (and embedding method tables is a challenge)
タグ:
posted at 12:39:33
そういえばマージされたにも関わらず書き忘れていたのでこれを加筆修正(Travisを使ったGitHubPagesへのドキュメントのデプロイ方法など)しました。#Julia言語
abap34.github.io/my-website/jul...
タグ: Julia言語
posted at 13:27:50
@j_v_66 @JuliaLanguage Originally it meant the return type depends only on argument types. That was useful because it was a pretty accurate mental model of what the compiler could optimize. Now it's more complex and you basically just use code_typed.
タグ:
posted at 13:37:47
Stefan Karpinski @StefanKarpinski
@JeffBezanson @j_v_66 @JuliaLanguage I don’t think of type stability as having changed, I just think of stability as having become less important for performance — the compiler can now tolerate small instabilities
For type checking we’d want a notion that includes common patterns, so it would have to be less strict
タグ:
posted at 13:57:34
Julia 1.5.4をダウンロードしたら、julialang.org/downloads/ Nvidia PTX(64-bit)Tier 1、AMD GPUs(64-bit)Tier 3とあり、JuliaGPU juliagpu.org によって、CUDAやROCmがサポートされている模様。Flux.jl github.com/FluxML/Flux.jl などの他にも、CuArrays.jlやROCArrays.jlによって‥
タグ:
posted at 14:26:47
非公開
タグ:
posted at xx:xx:xx
CuArrays.jlやROCArrays.jlによって、既存のJulia arrayインターフェースをそのまま置き換えることができる場合もけっこうある模様。と思ったら、CuArray.jl github.com/JuliaGPU/CuArr... は deprecatedになっていて、CUDA.jl github.com/JuliaGPU/CUDA.jl になっていた。
タグ:
posted at 14:33:05
今どきのプログラミング言語なら、名前にユニコード文字を大抵使えるようになっている。しかし、それだけだとまったく実用的ではない。どこでも使える入力方法が必要。
#Julia言語 の特徴はσ²やΔtなどの入力方法までREPLなどが面倒を見てくれるところ。絵文字にも対応!😊
docs.julialang.org/en/v1/manual/u... twitter.com/eeic17_soblin/...
タグ: Julia言語
posted at 14:56:56
#Julia言語 絵文字入力対応のためのコードは
github.com/JuliaLang/juli...
にある。数式関係は
github.com/JuliaLang/juli... pic.twitter.com/wD6i6TtntA
タグ: Julia言語
posted at 15:03:54
①と③は、初学者がよくやってしまう勘違い・良くない勉強法の類いなので、掛け算順序やビジネス数学よりは遥かにマシかな
②は、残念ながら指導者として終わっていると思います(僕のような青二才に言われてちゃアウト)
タグ:
posted at 15:30:05
公)女流名人戦プレーオフは上野愛咲美女流棋聖が鈴木歩七段を破り、藤沢里菜女流名人への挑戦権を獲得しました。「挑戦できると思ってなかったので、運よく挑戦できるだけでめちゃくちゃうれしい。しかも相手は里菜先生。勉強になりそうだなと思います。でもサラッと負けて後悔しないようにしたい」 pic.twitter.com/jK1ofXqFzC
タグ:
posted at 15:39:28
「まるで魔法に感じられる」
ほんとなんですかね。
私はJulia書けないので読んだ感想ですが、にわかには信じられないほどすばらしい話です。
4月1日じゃないし。 twitter.com/genkuroki/stat...
タグ:
posted at 15:58:20
非公開
タグ:
posted at xx:xx:xx
@StefanKarpinski @JeffBezanson @JuliaLanguage The notion of *type stability* is original to Julia and remains important even if today's compiler technology has improved. Type stability allows a dialogue between the compiler and the programmer. It is a step towards a *predictable* performance models. 1/2
タグ:
posted at 16:42:17
@StefanKarpinski @JeffBezanson @JuliaLanguage JITs make performance engineering a dark art, practitioners wave incantations over source code to make it fast, then a change in a seemingly unrelated part takes you program into the performance abyss. 2/n
タグ:
posted at 16:44:29
@StefanKarpinski @JeffBezanson @JuliaLanguage In my mind, type stability is this guarantee that you won't compiler generated performance cliffs due to dispatch and boxing. 3/3
タグ:
posted at 16:45:49
64 cores of #julialang for 0$. twitter.com/sahilchinoy/st... pic.twitter.com/DZIHbmITfs
タグ: julialang
posted at 16:55:50
#Julia言語 3.0 ± 0.1 のような「不定性を持った数」を実装しておき、Plots.jl用のレシピも実装することによって「魔法」が実現されています。
添付画像
① sin(3x)のプロット
② sin((3±0.1)x)のプロット
①と②の違いはパッケージの読み込みと a = 3.0 と a = 3.0 ± 0.1 の違いだけ! twitter.com/sarkov28/statu... pic.twitter.com/dxWA0gmGmN
タグ: Julia言語
posted at 17:53:30
JET.jl is a code analyzer that combines both concrete and abstract interpretations. Now it allows us to customize its "concretization strategy" using expression pattern matching (so we can configure it w/o any modification to the analyzed code itself !):
aviatesk.github.io/JET.jl/dev/con...
タグ:
posted at 19:39:17
See attached documentation for more details if interested.
---
Being able to configure how your code should be concretized/abstracted means that JET can analyze your code efficiently whatever your code is reflection heavy or relies on outside configurations, which are typical
タグ:
posted at 19:39:17
which are typical obstacles to a static code analyzer for a program that involves complex/advanced language features.
(needless to say there are so many useful and complex features in #julialang)
The idea is heavily inspired by this paper: dl.acm.org/doi/10.1145/32...
タグ: julialang
posted at 19:39:17
(To. 界隈) 抽象解釈ベースでコード解析する時に、どれだけコードを具体化/抽象化するかを、コードに対するパターンマッチを使用して調整できるようにしてみました。これによってmacroだのframeworkの外部設定ファイルだのがどれだけあったとしても、設定次第で効率的な解析を行うことができます。 twitter.com/kdwkshh/status...
タグ:
posted at 19:45:40
抽象解釈ベースの解析器について、抽象・具体のバランスをメタレベルでカスタマイズ出来るべきとかねがね考えていたが、それが実装されたようだ。とても興味深い「 twitter.com/kdwkshh/status...
タグ:
posted at 19:50:49
#Julia言語
①質点の質量m=1、バネ定数k=3の調和振動子をDifferentialEquations.jlでYoshida6()法を使って数値的に解いている。
②MonteCarloMeasurements.jlを使ってバネ定数を k = 3.0 ± 0.03 とした場合。
この2つのコードの違いはほんの少ししかない❗️
gist.github.com/genkuroki/5230... pic.twitter.com/Vl5lt3YL34
タグ: Julia言語
posted at 19:53:39
#Julia言語 このように、微分方程式をシンプレクティック法の1つであるYoshida6()法で数値的に解いて、パラメータを変化させたときの挙動を視覚化することを、空行を除けばたったの9行で実行できている!
こういう便利なものをNASAの宇宙開発で使っているわけです。
gist.github.com/genkuroki/5230... pic.twitter.com/W1vITm2Q4v
タグ: Julia言語
posted at 19:53:41
#Julia言語
しかも、パラメータを変化させたときの挙動を視覚化を行うためには、本質的に、3.0に設定していたパラメータの値を 3.0 ± 0.03 に書き換えるだけで良い!
NASAの人もその点を強調しています。
この辺はこのスレッドのトップに貼り付けたYouTubeの動画を見ても認識し難い点だと思った。 pic.twitter.com/vCAYjzD388
タグ: Julia言語
posted at 20:02:55
その通りかと思います。一方で、日々のリアルタイム計算(例えば、河川水位の予測変換など)にjuliaを利用したい場合は、julia foo.jlで実行せざるを得ないといった理解であっていますでしょうか。こういった用途にもjuliaを利用したいと考えています。 twitter.com/genkuroki/stat...
タグ:
posted at 21:05:32
@ichigo73161160 使用するパッケージ達のバージョンを固定して、それらのパッケージを使って foo.jl を書いて、julia foo.jl の形式で繰り返し使う場合には、PackageCompiler.jl を使えば良いと思います。 #Julia言語
github.com/JuliaLang/Pack...
タグ: Julia言語
posted at 21:36:22
@umairdurrani87 I'm biased, but perhaps this comment from an R power user is more useful twitter.com/adamhsparks/st...
タグ:
posted at 23:43:45
【17桁】Mac Pro 2009 6スレッド mod 4290 seiveで実行している 17桁の第1種カニンガム鎖の処理は、2.5e16を超えた。1e16〜2.5e16まで1.5e16の区間で7.5時間なので、1e16あたり5時間(6スレッド)。 twitter.com/kazmuzik/statu... pic.twitter.com/Pu0dYujjVL
タグ:
posted at 23:45:58