2008年5月31日土曜日

GMPからforkしたMPIR

GMPからfork(分岐)したMPIRというプロジェクトが立ち上がっている。まだ成果物は公開されていない。SAGEを率いるWill Steinさんのblogで知った。

GMP(GNU Multiple Precision Arithmetic Library)はGNUプロジェクトの一つで、多倍長の整数、有理数、浮動小数点数の演算を実現するためのライブラリを提供している。CPUに応じて、基盤となる演算をアセンブラで書いてあるなど、高性能であることもあって普及している。

幾つかの商用の数学ソフトウエア(Mathematica, Maple, Magma)などでも使われているし、例えばpari-gpのようなフリーの数学ソフトウエアにも組み込まれている。また、多倍長演算を言語の規格に組み込んでいるLisp/Scheme処理系でも多く使われているし、rubyやpythonなどにも使われている。

ところが、GMPの開発体制に次のような意見があった:
  • GMPはリリースの間隔が長く、不定期で、また間が空きがち
    • 新しいアーキテクチャのCPUが市場に出回っても(例えばcore2duoなど)、それに対応したバージョンがなかなか出てこない
  • Microsoft Windows上のネイティブな開発環境(Visual Studio)がサポートされていない
  • 同様に、MacOS Xのサポートも十分とはいえない
  • 公開されているcvs/svn/tracサーバなども無い
  • ライセンスがLGPLで、営利企業にとっては使用する敷居が高いことがある
これらを解消するために、新たなプロジェクトMPIRを立ち上げたとのことである。プロジェクトのフォークは、開発者の二分と、それによる進捗の遅れなど懸念されることも多い。うまく収束してくれることを願う。

なお、GMP4.2.2をCore 2 Duo環境でコンパイルするためのパッチが複数公開されている。

0 件のコメント: