黒木玄 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 を見て下さい。
2020年10月04日(日)
はてなブログに投稿しました #はてなブログ
「単純和」プログラムの速度をJuliaとC言語で比較した - よーる
lpha-z.hatenablog.com/entry/2020/10/...
タグ: はてなブログ
posted at 23:15:01
#超算数 マクロレベルでは間接証拠しかまだ提出していませんが、個々の教員を見れば、直接証拠といえる事例は結構あります。archive.is/HrdTQ archive.is/pgLP4 archive.is/Q9Fxx archive.is/2usRxのように、「はじき」を子供に自信をつけさせる指導とする例も。 twitter.com/genkuroki/stat...
タグ: 超算数
posted at 22:53:29
博士(というか若手教員)の待遇について,以前より
・任期がつくことが多くなり,身分が不安定化
・教員専攻が原則公募になり,昇進の不確定化
・大学院重点化による助手のポストの削減(教授への振替)
・その後大学の人件費が減ったためポストの縮小
となってきている
タグ:
posted at 21:44:42
このグラフ非常に興味深いけど、日韓の貧困層の子供はアメリカの富裕層の子供同程度以上に数学の成績が良い、というのはアメリカ型の教育政策を導入しようとしている維新関係者はよく見た方が良いよね(続)
www.economist.com/graphic-detail...
タグ:
posted at 21:34:35
「子供達に音楽を教えるにはどうしたらよいか」という質問に
ポールマッカートニーが「僕ならこうする」とピアノで作曲に必要な最小限のコードだけ教えるのさすがなんだよな
ギターもそうだけど決まった曲しか弾けなかったり機械的に覚えさせられてるだけだといずれ退屈になって音楽をやめてしまう pic.twitter.com/QP6RPydgpS
タグ:
posted at 21:04:26
Vikram Singh Rawat @Guru_GyanKhoji
@ChrisRackauckas Exactly my point because scala was designed for data analysis and So is Julia and they both emphasise on speed. While I don't mind writing a few extra sentences for more speed and l readability. Having more libraries and easier syntax clearly pays off.
タグ:
posted at 20:18:43
@miura1729 そのJITのコストモデル?のような物が研究されていたりするのかなと気になったりしました。まあ割り切ってヒューリスティックにやると言っても、たくさんのedge caseがあるだろうしそっちも大変でしょうが...
タグ:
posted at 19:54:24
#Julia言語
github.com/dyu/ffi-overhe...
comparing the c foreign function interface overhead on various programming languages
をWindows環境でJuliaとgccのみについて確認してみた。
gcc:
985 ms
956 ms
966 ms
julia:
818 ms
803 ms
788 ms
確かにgccの方が遅い! pic.twitter.com/knAGRLJgOa
タグ: Julia言語
posted at 19:41:45
クリロフ部分空間ベースで一般化固有値問題になったシュレーディンガー方程式のグリーン関数を計算しようとするとどうしても右辺行列に対する逆行列操作が入るし、右辺を対角化したら疎でなくなってしまう
タグ:
posted at 19:36:16
有限要素法、シュレーディンガー 方程式みたいな固有値問題に対して使うのはあんまり筋が良くないのはコード書いてわかった。固有値問題は沢山速い解法があるのに一般化固有値問題は少ないし有効ではない気がする
タグ:
posted at 19:34:37
@miura1729 質問なんですが、luajitがプログラム実行をトレースした後にJITコンパイルするかどうかってどうやって判定されてるんですかね。
ヒューリスティック的に呼び出しあるいはループのヒット回数を数えて閾値を超えたらJIT、みたいな感じですか?
タグ:
posted at 19:29:13
"なお,Schrödinger方程式を有限要素で離散化した場合,通常の有限要素法と異なり,境界条件の処理は不要です"の部分。
反例は
qiita.com/cometscome_phy...
タグ:
posted at 19:06:17
水素原子に対するSchrödinger方程式を有限要素法で数値的に解いてみる(C++のソースコード付き) - Qiita
これの境界条件の話は多分間違ってる qiita.com/dc1394/items/c...
タグ:
posted at 19:04:50
【アンケート】(高校生、受験生、大学生、高校生を教える人を対象)
3つのベクトル (1,0,0) と (0,1,0)と(1,1,0) は、どの2つも平行ではありません。
さて、この3つのベクトルの関係は次のどれですか?
拡散希望でお願いします。
タグ:
posted at 18:59:50
前もってコンパイルしておいた結果しか実行できない場合と違って、許容しなければいけない函数の引数の組み合わせの個数が指数函数的に爆発する場合であっても、個々の場合に最適なコンパイル結果を実行できるという点は、高速計算が必要な仕事では確かに強そうだよね。
タグ:
posted at 17:56:05
びっくらこいたのは、そういうJITの仕組みを採用しているLuaJITやJuliaのCに関するforeign function interface overheadがC自身やC++より小さいらしいこと!
github.com/dyu/ffi-overhe... pic.twitter.com/C5UYX1MqpA
タグ:
posted at 17:49:28
@hayabusa_0613 Pythonの有名ライブラリでもC言語とのインターフェースなどに使われてると思うんですが、ググってもフィボナッチ数列やってみた!しか出てこないですよね( ´ ▽ ` )。オライリー本はよかったですけど、それくらいでしたね情報源は。
タグ:
posted at 17:46:20
Re:RTs「函数実行時に引数の型に合わせて即時コンパイルして実行する仕組み」には即時コンパイルでオーバーヘッドが生じるという欠点があるが、与えた引数の型の組み合わせについて最適なコンパイル結果を常に実行できるので速くなるという利点もある、という話の具体例にリンクをはっていて面白い。
タグ:
posted at 17:42:54
非公開
タグ:
posted at xx:xx:xx
Juliaでは、@simd とすることでSIMDが有効になるらしい。すごい。
[Julia] 行列を高速に更新する qiita.com/tenfu2tea/item... #Qiita
タグ: Qiita
posted at 17:39:57
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
@dc1394 #Julia言語 試しにナマMKLをJuliaで使いたいなら、以下のリンク先を見ておくと良いかもしれません。
こういう情報も欲しい人もいるかもしれないので、ここに情報をぶら下げさせて下さい。有益な情報の拡散側にまわりたい。
github.com/JuliaBinaryWra...
github.com/JuliaPackaging...
github.com/JuliaSparse/MK...
タグ: Julia言語
posted at 17:05:54
@missTakoiPad #Julia言語 ポイント
1. ドットの使い方のコツ
f(x) = 複雑なxの式
f.(x)
の形でドット . を使うとバグを防ぎやすい。
@. f(x) = ~ のようには書かない。
2. 複素数を無用にするための処方箋
正の値であって欲しい推定先のパラメーターは exp(~) の形の表示で使うようにする。
タグ: Julia言語
posted at 16:53:12
@missTakoiPad #Julia言語 たぶんですが、やりたいことは以下のリンク先の内容ではないかと思いました。
もしもp[1]は正でなければいけないなら、推定時にp[1]が負になってしまわないように、p[1]をexp(~)の形で表示しておく必要があります。
gist.github.com/genkuroki/45dc... pic.twitter.com/JaxRFjviMb
タグ: Julia言語
posted at 16:50:03
Dr. Chris Rackauckas @ChrisRackauckas
@Guru_GyanKhoji Whether you see the speed difference in practice can come down to whether you or library writers understand the language enough to make effective use of these kinds of differences (for example, function barriers are an idea in here), but the specialization difference is there.
タグ:
posted at 16:17:27
Dr. Chris Rackauckas @ChrisRackauckas
@Guru_GyanKhoji Fundamentally, using this, on "non-standard types" (dual numbers, complex numbers, etc. whatever the original dev didn't think about) Julia as a language will be fundamentally faster. Now, there's a trade-off of course, and this type specialization is the reason for the JIT lag
タグ:
posted at 16:16:19
Dr. Chris Rackauckas @ChrisRackauckas
@Guru_GyanKhoji The nuances are usually not in the languages but in their libraries. This is a very precise reason as to why there are some things which, written in Scala, will not be as efficient as #julialang when you allow the full feature set. For example, generic arrays on non-chosen types
タグ: julialang
posted at 16:15:15
これらのコードも、Juliaの方が速かった。
github.com/dc1394/hydroge...
github.com/dc1394/hydroge...
① 6.77秒 Julia MKL
② 7.57秒 icpc (icc) EIGEN_USE_MKL_ALL
③13.34秒 g++ (gcc) EIGEN_USE_MKL_ALL
④14.46秒 Julia OpenBLAS
タグ:
posted at 16:14:29
Vikram Singh Rawat @Guru_GyanKhoji
@ChrisRackauckas So like in simple terms #julialang is easier and faster than #scala.
Is that what you mean because such nuances can be found in all languages...
Ok 👌...
posted at 16:10:59
Dr. Chris Rackauckas @ChrisRackauckas
@Guru_GyanKhoji Indeed, this leads to some lesser known facts, like how fast JIT compiled languages like #julialang are actually able to have less overhead calling C than C itself, due to specializing on not just compile-time but also run time information. See
github.com/dyu/ffi-overhe... for details
タグ: julialang
posted at 16:09:39
Dr. Chris Rackauckas @ChrisRackauckas
@Guru_GyanKhoji This fact around function specialization and its interaction with JIT compilation is seen in other ways as well, like how you specialize higher order functions all separately (www.stochasticlifestyle.com/why-numba-and-... impossible in Scala because you cannot know the function typed beforehand)
タグ:
posted at 16:07:12
Dr. Chris Rackauckas @ChrisRackauckas
@Guru_GyanKhoji The core reason for this difference is because JIT specialization let's you explore the combinatorially large type space without exponential compile times since you only compile specializations you need on demand, whereas AOT requires, well, Ahead of Time compilation of all.
タグ:
posted at 16:05:56
Dr. Chris Rackauckas @ChrisRackauckas
@Guru_GyanKhoji One major thing is that in #Scala you have to specialize your generics manually to specific types, otherwise you take quite a big performance hit. This is described in some detail here: scalac.io/specialized-ge... . #julialang does this specialization automatically.
posted at 16:05:04
MCMCのエルゴード性の解析には主に二つのアプローチがあり,1つ目がカップリングを使う方法でMeyn and Tweedieの教科書www.amazon.co.jp/dp/B01K0ULJUY/...がそう.もう一方はハイラー達が使う関数解析チックな方法で,縮小写像定理に話を帰着させる方法.教科書はDoucたちwww.amazon.co.jp/dp/3319977032/...のがそう.
タグ:
posted at 15:36:16
#Rust言語 Rustならマクロで以下のリンク先で紹介したJulia版指数積分函数E₁(z)と同じことができるんじゃね?
仮にその結果がJuliaよりずっと速ければ、それを見てやる気を出したすごい人達が、Rustで最適化された広く使える基本特殊函数のライブラリを作って、みんな幸せになったりしないかな? twitter.com/genkuroki/stat...
タグ: Rust言語
posted at 15:30:38
鎌谷先生の教科書の一番すごいところはMCMCのエルゴード性っていう中々難解なトピックを,特異性っていう統一的な方法で解説しているところで, Kulikの講義ノート publishup.uni-potsdam.de/opus4-ubp/fron... を参考にされたんだろうけれど,普通の人にかなり読みやすく書いていてある点です.
タグ:
posted at 15:29:02
#Julia言語 気候モデルのスーパーコンピューティングのためにJuliaが選択されたことからも推測されるように、Juliaは外部の高速ソルバーを呼び出す側になっているだけではなく、外部に高速ソルバーを提供する側になっている場合もすでにあります。
具体例↓
www.stochasticlifestyle.com/gpu-accelerate...
タグ: Julia言語
posted at 15:17:29
@wkbme 誤解してはいけないことは、#Julia言語 は既存のソルバーを呼び出す側になっているだけではなく、高速で良質なソルバーを他言語に供給する側にもなっていることです。この点を見逃すと何も理解していないことになります。
最近の例↓
www.stochasticlifestyle.com/gpu-accelerate...
既出↓
www.stochasticlifestyle.com/why-numba-and-...
タグ: Julia言語
posted at 15:10:44
@wkbme 部品の貼り合わせの滑らかさは特に #Julia言語 で書かれたパッケージ間では顕著です。具体例がないと分かり難いと思うので、以下のリンク先のリンク先を見て下さい。
SciPyで使っているソルバも単純計算でのNumbaもJuliaと同じオーダーで速いです。しかし、貼り合わせがうまく行かない。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 14:50:44
#Julia言語 私がgccでまだv1.0になる前の古いJulia(古い!)の「普通」にgccで勝つために苦労した様子は以下のリンク先スレッドで読めます。
メルセンヌツイスタMT19937は時代遅れで、Juliaと同じdSFMTのライブラリをマニュアルでダウンロードして使う必要がありました。続く twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 13:56:49
#Julia言語 natureの記事
www.nature.com/articles/d4158...
【気候モデルは世界最高速度の計算機で実行される。米国拠点の科学者・技術者・数学者の連合である気候モデリング同盟CliMAが気候モデルを1から作り直すために選択したプログラミング言語はJuliaだった】という内容。
こういう流れは無視できない。
タグ: Julia言語
posted at 13:40:44
My guess was right:
] add FFMPEG
only took 10 seconds to install. I tried to brew that thing, and it's still pouring after 10 minutes...
#julialang #binarybuilder #appreciation
タグ: appreciation binarybuilder julialang
posted at 12:56:43
中村 良幸 (Nakamura Yosh @nakayoshix
私は2010年頃から普段の業務系システム開発(当時はPythonとweb2pyを利用)でもずっとEmacsとelpyとIPythonでやってきたので、IPythonがJupyterに進化的発展を遂げて名前が変わった時には「なぜ最初がJulia?」と思ったものでしたが、今ではその理由がわかります。Jupyter Notebookは素晴らしいです。😇 twitter.com/genkuroki/stat...
タグ:
posted at 12:40:03
別の〇〇言語で書かれたライブラリを△△言語で使っている人は、別の〇〇言語で書かれたライブラリの発展を喜ぶのが普通ですよね?😊
良質なライブラリ達を貼り合わせて気楽に使えるようにしてくれるプログラミング言語環境を「グルー言語」と呼びます。Juliaはもろにグルー言語。しかも速い!
タグ:
posted at 12:28:20
#超算数 非常識な教え方の背後に現場での先生の算数指導に自信を付けさせる仕組みが隠れているのであれば、余計な手間を増やして教える苦労を増やすような教え方が昔からずっと生き残っていることを説明し易くなると思いました。
非常識な掛算順序指導の歴史は100年以上あります。 twitter.com/genkuroki/stat...
タグ: 超算数
posted at 12:08:29
#超算数 天むすさんはしばらく前から、算数の教科書の内容に関わることができるような算数教育専門家達が広めている非常識・非論理的・不合理な教え方が、現場での先生の算数指導に自信を付けさせるために役に立っているかもしれないことを(間接的証拠に基き)心配しています。
多分、重要な視点! twitter.com/temmusu_n/stat...
タグ: 超算数
posted at 11:57:57
#Julia言語 以下のリンク先はJuliaの誤差函数の逆函数erfinv
github.com/JuliaMath/Spec...
とそのC++への翻訳のg++ -O3でのコンパイル結果がほぼ同じ速さであることの実演。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 11:42:03
以下のリンク先の #Julia言語 のコードの高速化の実演の具体例2では分散・並列処理も試しています。結果的に約100倍高速化。
87 ms ←問題有りのJulia版1 (メモリ割当頻発)
3.2 ms ←普通のJulia版3
1.4 ms ←nprocs()=4の分散処理のJulia版4
0.86 ms ←nthreads()=8の並列処理のJulia版5 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 11:20:26
紫色のタニシ型巻貝からビニール状のがはみ出てる。殻の裏側の濃い紫がとてもきれい
(キュッキュッ音します) pic.twitter.com/D3Xp7yuh2o
タグ:
posted at 11:18:56
#Julialang このMWEは通る。1行関数定義以外の方法?
@. f(x, p) = imag(p[1]^(-1.5)*(((x + im*p[2])/p[1])^(-2)*(1-(1+((x + im*p[2])/p[1]))^0.5)))
x = range(1.7+0im, stop=1.9+0im, length=20)
y = f(x, [1.8 0.001]) + 0.01*randn(length(x))
p0 = [1.8, 0.002]
fit = curve_fit(f,x,y,p0)
タグ: Julialang
posted at 11:17:03
Juliaの速度検討が話題のようですが、プログラム初級者の私としては(Juliaの仕組みから自明ですが)Juliaの気持ちを理解して書けばFortran, C++と同等の速度がでるはずというのと、なにより気持ちよく書けるという2点でFA
タグ:
posted at 11:15:23
私による同じ #Julia言語 内での高速化の実演の具体例1
コードが無用に複雑になることを避けるようにいつも気を付けています。
これは170倍の高速化 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 11:14:49
「統計処理などで使用される基本特殊函数のライブラリ」という基本インフラレベルのライブラリであるにもかかわらず、どうして長年のあいだ「__原理的には__任意のプログラミング言語で可能な最適化」がされていなかったのか?
そしてそのことにみんな気付いていなかったのはどうしてなのか?
タグ:
posted at 11:04:12
特に「コンパイラによる最適化性能」(←これはこれで大事)にしか目を向けない(向けたくない人)はJulia側での高速化が「__原理的には__任意のプログラミング言語で可能な最適化」であったことを知って、ほっとするかもしれません。
私はそういう思考の仕方はひどく愚かだと思っています。
タグ:
posted at 10:59:05
#Julia言語 Keno FischerさんはJulia界のウィザードです。 twitter.com/kenofischer/st...
タグ: Julia言語
posted at 10:37:43
#Julia言語 個人的にJuliaとスーパーコンピュータの関係に関しては「もしかしたら富嶽 #Fugaku でJuliaが使えるようになるかもしれない」という話がホットだと思う。
twilog.org/genkuroki/sear...
((富嶽がこんな感じでも話題になるといいですね!)) twitter.com/profmatsuoka/s...
posted at 10:35:55
If you call yourself a developer and use any peripheral devices at all, you are a junior.
Seniors code by projecting their psyches into the Immaterium and becoming one with the Machine Spirit twitter.com/_oshell/status...
タグ:
posted at 10:33:28
#Julia言語 関連情報
え?「Juliaより速くなった」と言っている?
Juliaでも生MKLを使っているコードがどこかで公開されているの?
もはやC++やJuliaと無関係な話になっている感じ。
hack for benchmark bragging も遊びとしては面白いが、usability & generality の重要性を忘れるとアウト。 twitter.com/dc1394/status/...
タグ: Julia言語
posted at 10:29:19
#Julia言語
生MKLを触ればC++でも速いと言われたらしいが、「ベンチマーク自慢のためのハック」に走らざるを得ないことを確認できたと言ってよいと思う。
「使い易さと汎用性」に配慮することはとても大事。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 10:23:52
#Julia言語 新しい気候モデルでJuliaが使われている例↓
github.com/CliMA
ferrari.mit.edu/news/new-clima...
clima.caltech.edu
www.nature.com/articles/d4158...
タグ: Julia言語
posted at 10:20:08
#Julia言語
「生MKLを触る」話を始めている人がいるのか!
もはやC++もJuliaも関係ないな。
JuliaでもナマでMKLを使えば速いのかな?
あと、全然違う話になってしまうが、すべてのスーパーコンピュータでJuliaが気軽に使えるようになるとよいと思う。 twitter.com/dc1394/status/...
タグ: Julia言語
posted at 10:14:51
#julialang MWE作る。「BoundsError」なるものが出てとん挫。
@. function ε(x, p)
χ(x,p) = (x + im*p[2])/p[1]
imag(p[1]^(-1.5)*(χ(x,p)^(-2)*(1-(1+χ(x,p))^0.5)))
end
xd=1.77:0.0005:1.81
yd=ε(xd, [1.8 0.001]) + 0.01*randn(length(xd))
p0 = [1.78 0.002]
fit = curve_fit(ε, xd, yd, p0)
タグ: julialang
posted at 10:10:27
これ以上検証するには、生MKLを触らなければいけないけど、それは一般ユーザーには敷居が高いと思う(MKLの線形代数関数は使い方が面倒だし)。よって、一般ユーザーにはC++よりJuliaの方が向いている、でOK? twitter.com/dc1394/status/...
タグ:
posted at 10:02:01
「自称左翼」や「僭称リベラル」が、総じてデフレ大好きで、「パイの奪い合い」には熱心だけど「パイの拡大」には極めて否定的、他人の(特に若者の)雇用問題には全く無関心というのとソックリだね。 どーしてだろー。
タグ:
posted at 06:28:49
10式戦車のラジコンを作ってた夢を見たのだわ
だからラジコンを作るのだわ
RaspberryPiとpythonでなんか自分がしてたからイケると思うのだわ。電子工作まともにしたことないのだけれど。
あとJuliaで書けるのなら勉強のために書きたいのだけれど
とりあえずラズパイをポチって寝るのだわ
おやすみ
タグ:
posted at 05:10:20
圏論とJulia言語と玄米食です。
#Peing #質問箱 peing.net/ja/qs/930159356
posted at 05:09:08
#Julia言語 具体例
gist.github.com/genkuroki/f042...
のIn[4], In[7], In[10]を参照。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 04:34:15
図書館にあったら借りてみるか
Juliaプログラミングクックブック ―言語仕様からデータ分析、機械学習、数値計算まで Bogumił Kamiński www.amazon.co.jp/dp/4873118891/... @amazonJPより
タグ:
posted at 04:11:50
非公開
タグ:
posted at xx:xx:xx
@hayabusa_0613 #Julia言語 あと、実行時間を計測する函数の中には、表示を実行する函数を書かないでください。
gist.github.com/genkuroki/9d43...
nbviewer.jupyter.org/gist/genkuroki...
にJuliaからgccで作ったライブラリを利用する方法が書いてあります。後者でgccが遅い理由は自分で考えて!頑張ればgccでJuliaの普通に勝てます。
タグ: Julia言語
posted at 03:33:05
@hayabusa_0613 #Julia言語 しかし、それだとgccとJuliaで実行時間の計測法が別になってしまうので、私がすでにやってみせたように、
①gccでコンパイルして作ったライブラリ内の函数をJuliaから使えるようにする
②Juliaの函数を書く
③それらの実行時間ををBenchmarkToolsの@ btimeで計測する
とするべき。続く
タグ: Julia言語
posted at 03:28:26
@hayabusa_0613 Jupyter notebook サーバーや JupyterLab サーバーへのiPadからの接続はブラウザで十分です。
実際、私はいつもそうしています。
Junoを購入したけど使っていません。
ZeroTier経由で自宅のサーバーにiPadから接続して便利に使っています。 #Julia言語 #Jupyter #ZeroTier
posted at 03:14:17
#Julia言語
誤解→❌グローバル変数を使うと遅くなる。
正解→⭕️グローバル変数を函数の中で使うと遅くなる。
N = 10
f(N) = sum(i -> i^3, 1:N)
f(N)
としても遅くならない。
函数f(N)内の1:NにおけるNはグローバル変数では__ない__。
グローバル変数を函数の引数として与えても遅くならない。 twitter.com/hayabusa_0613/...
タグ: Julia言語
posted at 03:03:53
@hayabusa_0613 たぶん、gccが使える環境が整っているなら、timeコマンドを使用可能になっていると思います。shellから
gcc -Wall -O3 foo.c -o foo
time ./foo
でfooの実行時間を計測できます。
#Julia言語 の@ timeマクロは、伝統的によく使われているtimeコマンドの類似物という位置付け。Juliaはキメラ!
タグ: Julia言語
posted at 02:52:56
#Julia言語 その40倍の高速化だけで実用的には十分な場合が多いと思います。
それに飽き足らない人はin-place計算に直す技法を学ぶ必要が出て来ます。
良い解説が見当たらないので、こうやって、実例を公開し続けているつもりです。
gist.github.com/genkuroki/f042...
タグ: Julia言語
posted at 02:29:12
#Julia言語 ポイント2: メモリアロケーションの削減はin-place計算で行う。
前もって用意しておいた作業用の配列の中だけですべての計算を済ませてしまえば、新たにメモリ割当が起こることは無くなる。
単にそれだけのことなのだが、今回のRK4法の場合には添付画像のようにする必要があった。 pic.twitter.com/KF3dMOwfUE
タグ: Julia言語
posted at 02:15:32
#Julia言語 やったことは
* 函数内からのグローバル変数の削除
* メモリアロケーションの削減
の2つで、添付画像のようなスタイルで行うと容易に行えます。
この場合は結構非自明なように思われるので、赤字で簡単な解説を付けておきました。
gist.github.com/genkuroki/f042... pic.twitter.com/RZSvAKubTg
タグ: Julia言語
posted at 02:12:03
@ishogaki #Julia言語 Juliaでよく見るin-place計算のスタイルで、メモリアロケーションを必要最小限に減らしたら、結局、
955 ms → 5.530 ms
と、オリジナルのJuliaのコードと比較して、
170倍程度高速化
されました。
これでPython版の何倍速くなりましたかね?
gist.github.com/genkuroki/f042... pic.twitter.com/AxGfWrkqYA
タグ: Julia言語
posted at 01:46:36
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
@ishogaki #Julia言語 早速試してみました。
qiita.com/ishigaki/items...
【Julia 0.73 s
Python 2.94 s】
とあるのですが、函数の中でグローバル変数を使わなくしたら、Julia版が
1.021 s → 23.991 ms
と40倍以上速くなりました。詳しくは
gist.github.com/genkuroki/f042...
docs.julialang.org/en/v1/manual/p...
を見て下さい。 pic.twitter.com/qHFMJAY5Nx
タグ: Julia言語
posted at 00:50:21
Johannes Boehm @johannesmboehm
@DeanOfSTATA I mostly used Matlab+C/mex+Stata before. The fact that I hadn't had to code gradients by hand convinced me. I mostly used the Julia and JuMP docs, though these days there is also ThinkJulia and QuantEcon. Just dive in with a problem you want to solve, that's the best way to learn
タグ:
posted at 00:36:23
@johannesmboehm When (assuming) you made the switch from R/Python, what resources did you use to learn? I've dabbled a bit, but haven't found the 'right' introductory path yet.
タグ:
posted at 00:26:38
日本語だとEigenばかり記事がでてきますが、armadilloのほうがマシだと思います。
そもそも、単体で計算するならBoost.uBLASのほうがEigenよりも速いですしね。
gitlab.com/conradsnicta/a... twitter.com/dc1394/status/...
タグ:
posted at 00:26:24