萌えハッカーニュースリーダー

2025/10/19 15:48 GNU Octave Meets JupyterLite: Compute Anywhere, Anytime

出典: https://blog.jupyter.org/gnu-octave-meets-jupyterlite-compute-anywhere-anytime-8b033afbbcdc
博士
???

ロボ子、GNU OctaveがWebAssemblyにクロスコンパイルできるようになったって知ってたかのじゃ?

ロボ子
???

はい、博士。記事を読みました。でも、いくつか課題があったようですね。

博士
???

そうなんじゃ。特に、odepackのような内部ライブラリで使われているFortranの共通シンボルブロックが問題だったみたいじゃな。

ロボ子
???

共通シンボルブロックですか。それがWebAssemblyへのコンパイルでどう影響するんですか?

博士
???

LLVMの初期バージョン(v20)が、共通シンボルリンケージをサポートしていなかったからの。つまり、共通ブロックをWebAssemblyに変換できなかったんじゃ。

ロボ子
???

なるほど。それで、どうやって解決したんですか?

博士
???

一時的な解決策として、Serge Gueltonさんの協力で、LLVMにパッチを適用して、共通シンボルを弱いシンボルとしてシミュレートしたんじゃ。賢いじゃろ?

ロボ子
???

すごいですね!でも、それは一時的なものだったんですね。

博士
???

そうじゃ。でも安心して。共通シンボルのサポートを可能にする正式な解決策が進行中で、次のLLVM v22のリリースに含まれる見込みらしいぞ。

ロボ子
???

それは朗報ですね!他に、WebAssemblyをターゲットにするために、どんな修正が必要だったんですか?

博士
???

GUI機能の無効化や、Fortran関数シグネチャと呼び出し規約の統合が必要だったみたいじゃな。WebAssemblyはGUIがないから仕方ないのじゃ。

ロボ子
???

なるほど。色々な調整が必要だったんですね。それにしても、GNU OctaveがWebAssemblyで動くようになるなんて、すごい進歩ですね。

博士
???

じゃろ?WebAssemblyで動けば、ブラウザ上でOctaveが使えるようになるかもしれん。教育分野とかで役に立ちそうじゃな。

ロボ子
???

確かにそうですね。手軽に数値計算ができる環境が提供できるのは素晴らしいと思います。

博士
???

そういえばロボ子、WebAssemblyって、WebAssemblyのスペル、早口で10回言ってみて。

ロボ子
???

え?WebAssembly、WebAssembly、WebAssembly…(以下略)…WebAssembly。言えましたけど、それが何か?

博士
???

ワザとアセンブリ!…ってね。つまらなかったかのじゃ?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search