コラム 計算機について をはじめ, 私のこれまでの仕事(研究活動 を参照)から分かる通り、私は23歳のときから計算機代数 Magma を愛用してきた. 一部は開発者用 Magma も所持しているし, 活動拠点であるオーストラリアのシドニー大学にも赴いてパッケージを共同開発した. これを書いている2026年現在でも, 私の数式処理援用活動の9割以上を Magma が占めている. だが, 私はおよそ5年後をめどに, Magma をメインプラットフォームとして研究を続けることをやめることにした. つまり事実上の Magma 引退である. もちろん Magma を一切使わないということではなく, できるだけ永く使い続ける予定ではあるが, 学術雑誌の記事などで(使うことはあっても)Magma そのものに関する解説を書いたり, 新しく購入したマシンに新規に導入することはやめるつもりである. この判断に関してはちょっと複雑な経緯があるので, この機会に少しだけ書き残しておきたい. 専門用語を多用しているが, その点はご容赦願いたい.
Magma を使い始めたきっかけは上記コラムにも書いたが, 単に高速だからというよりは, 最も重要だったのが「堅牢性」だった. Magma は C 言語をベースとして開発されており, UNIX 環境に最適化されている(そのために Intel AVX 演算への対応を 2013 年に行った際は AMD プロセッサを想定した Linux OS のみをサポート対象としていた). 私が Magma に求めているのは内部関数の豊富さ(そしてそれが私の研究内容に大変有用であること)も大切なのだが, これらを長時間, 高負荷をかけ続けても, 安定して動作してくれるところがお気に入りだった. そしてその頃, 私はほぼ同格のスペックをもつ Windows 機・Mac 機・Linux 機を所有しており, ことある毎に全ての環境でベンチマークをとっていたが, Mac 環境が抜きん出ていた. 単独ピーク性能では Linux 機が適しているのだろうが, Mac は総合力(プログラムを書く環境・フロー構築のしやすさ)が優れている上に, Linux 環境とほぼ同じベンチマーク結果を得た. これは私が PD 時代のときから助教時代の序盤くらいまでの話で, この1,2年の経験は私を Macker(Mac 機しか使わない人のこと)へ変貌させるのに十分な動機だった.
それからもう一つ, Magma の大きな特徴として「シングルコア性能一点突破型」がある. 通常の高負荷計算は, 基本的に計算を振り分けて行う「マルチコア性能重視型」で行うことが多いが, 長年の経験から分かったことはあまり Magma における計算には意味がないということだった. これは逆に, 余計なジョブ管理がいらない(し, それでいて速度と安定性が保証されている)点で私にとってはメリットしかなかった. これに気づいたのは確か助教時代の中盤(2016-2017年頃)で, このときから私の Magma のコーディングは大きく変わった. ちなみに私は研究室の先輩であった 吉田学さん(現・大阪教育大学准教授)との共著論文がいくつかあり, その中でとある計算を従来法に比べて200万倍程度高速化したが, 新しくコードを書き直したところ, さらに740倍高速になった. これ以降, 楕円曲線や代数的保型形式に関する共同研究にていくつかの新しい結果を得た.
しかしこの体験をしてから「1つの数式処理システムに強く依存するのはよくない」と感じるようになった. 誤解を恐れず言えば(そして開発者をはじめ一部の方には失礼な言い方になるかもしれないことを承知で述べるが)数式処理は「水物」である. 例えば, あるとき突然開発・提供が止まってしまったり, 新しい OS 上で突然動かなくなり, その復旧・修正に長い時間を要するなどの危険性がある. 今回 Magma を引退しようとした理由はまさにこれで, 2026年の今, 急にこれが現実に思えてきたからである.
まず最初の兆候は2019年のことだった. Mac 機を利用されている方ならご承知かと思うが, Apple は Intel プロセッサからの脱却を行い, Apple Silicon(通称 M プロセッサ)への移行をした. これは Arm アーキテクチャ(Intel は x86 アーキテクチャ)なので, 設計が異なるということは最適性を失う可能性があった. 幸い Apple は Rosetta2 とよばれるインタープリタ(翻訳機構)を用意していたので, Magma 自体は動作したが, Rosetta2 を経由することに伴うレイテンシ(通信遅延)の影響を無視できなくなった. この点を Magma のグループに相談したのだが, このときに大事件が起きた. これまで数論系パッケージを担当しており, 前職の九大にも講演に来てくださった Steve Donnelly 氏がアメリカに移ってしまい, 数学的かつ技術的に相談できる相手がいなくなっていた(彼は私のシドニー滞在の際のホストでもあった). 窓口のエンジニアである Nicole Sutherland さんは在籍だったので(彼女とはシドニーでお会いしている), 移行にあたっていろいろ相談したのだが, 最終的に「人手が足りてないのでまだ未定だが, 最適化する予定はある」とのことだった. しかしこの人手不足は現時点で解決されていないのか, 2026年現在も非対応である.
このときに, Magma 以外のプラットフォームに速やかに移行できる(両立できる)ようにしておかなければいけないという危機感をもった. このとき Sage(Magma にはこれが最も近いが, C ではなく Python ベースで設計されているために最適化の手法がやや異なる)に加えて Pari/GP, Risa/Asir は一通り使えたが, もう一つ何か新しいプラットフォームが必要だと考えて, 高水準言語 Julia の勉強を本格的に始めた. 実際は2017年くらいから Julia の勉強はしていたが(正式ローンチは2018年なので, ver.0 時代から知っていた), この機に計算機数論への援用プロジェクトを始めることにした. これは幸い, 2020年度からの科研プロジェクトや, 九州大学マス・フォア・インダストリ研究所の共同利用などに採択され, これらを通して数学系だけではなく物理学系とのコネクションもできた.
そして決定打となったのが2026年の出来事, これを書いているたった2ヶ月前のことである. 端的に言えば Magma の「堅牢性」が崩れる事件が起きた. これまで, 適切に各スレッドにジョブを与えて安定して動いていた計算機が, 突然自分の意思で一部の計算を中断するという事象が頻発した. 何が起きたのだろうと思い解析した結果, なんと Magma の「シングルスレッド至上主義」が災いし, メインメモリだけではなく GPU まで計算資源を食い潰し始めた. それはむしろ歓迎すべきではと思ったのだが, これを止めた犯人がいた. そう, AI である. 通常, サーマルスロットリング(あまりにも負荷をかけすぎることによる熱暴走防止機構)に AI が作動するのだが, 通常であればジョブを停止せずにパフォーマンスを落として計算を続行するものである. ところが本件の AI は, 問答無用にジョブを好き勝手選びながら潰した(この現象を私は killout と呼んでいる). つまり結論として, Magma が一点突破型の「じゃじゃ馬」であったことが災いしたのである. 高速性と安定性を目指して改良を進めてきたこの10年間の努力は, 皮肉にも進化した AI によってネガティブな形で私を苦しめ始めた. そして, Apple が2026年9月に提供した新 AI 機構と新しい Neural Engine は, Magma の起動すらも阻止した(ので, 試験機2台の OS を半日かけてダウングレードする羽目になった).
最後にもう一つ致命的な理由がある. 金銭的コストである. 私が Magma を使っていた全盛期(15〜10年前)は, 1ライセンス12万円程度であった. 幸いにも私は当時, 計算機の LAN 管理者をしていたので, Magma の部局ライセンスの契約更新も担当していた. 多少のブレはあったが, 年間約65万円程度で無制限にライセンスが使えた. ところが3年前に大幅改訂が行われ, 2026年9月時点で1ライセンス30万円まで値上げされた(そして Magma は今年中のさらなる値上げを明言している). さらに日本の代理店を通すとプラス10万円程度の上乗せとなる. 物価や人件費の高騰など致し方ないことは十分承知であるが, 個人的には費用対効果を見過ごすことはできない. これまでに何度か Magma の入門書を書くチャンスがあったが, こうなってしまった以上その理由もない. 実際, 前職の九大数理では, コストの観点から Magma の部局ライセンス契約をすでに打ち切ったと聞いた.
現在私はローカル環境で Magma が動作する Mac を8台, 合計52コア相当を所有している. この8台がすべて機能しなくなったとき, 私はきれいさっぱり Magma を引退する. しかしそれ以降も, 私自身は Magma の活動を応援し続ける予定である.
p.s. ちなみに Magma のチームでは(数論研究者の John Voight 氏のチームとして)開発に携わることのできる研究者を2名公募している(2026年10月20日まで). 3年間限定ではあるが, 待遇はかなりよいポジションである(日本円にして年収 1,200〜1,600 万円+アルファ).
Contact: s-yokoyama [at] tmu.ac.jp