Scientific ComputingおよびHPCのMac OSの状態


17

OS Xのd明期に戻って、少なくともMacの世界では(当時は科学計算には程遠い場所でした)、科学計算とHPCアプリケーションのプラットフォームとしてのMac OSについて、かなりの騒ぎがありました。

XGridは箱から出して、Virginia TechにはMacベースのコンピューティングクラスターがあり、Stanfordはクールなことなどをしていました。

しかし最近では、物事は静かになっています。Macresearch.orgのサイトは、本質的にスパマーゾンビで満たされたゴーストタウンであり、XServeは死んでおり、非常に多くのマーケティング資料などは、Intelプロセッサ以前の分野のものでさえあるようです。しかし、XGridはまだ存在し、* nix OS全体の基盤はそこにあり、プラットフォームはPython、R、およびいくつかの新しい言語の間で適切にサポートされているようです。

だから、私よりもこれについてもっと知っている人から... OS Xの運賃は?科学計算用の実行可能なクライアント側コンピューターですか?それらをサーバー/クラスター/などとして使用しています。XGridまたはそのような何かを介して単にノベルティアプリケーション?


ダウン投票者は、ダウン投票した理由についてコメントしてください。
ジェフオックスベリー

うん これは良い主観的で悪い主観的な販売では恐ろしいことではありませんが、それでも私には何もしません。私の知る限り、答えは次のとおりです。Unixはそのまま使用できますが、UIが重要ではない場所ではコストがかかりすぎます。
dmckee

@dmckee:ええ、私はそれを見ることができました。多くの人があなたに同意すると思います。私にとっては、ハードウェア障害にうんざりしていて、それでも仮想マシンでLinuxを実行しているため、問題はそれほど単純ではありませんでした。ワークフローの大部分がOS Xであることが好きな人に出会ったことがあるので、ニッチコミュニティにとって合理的な質問だと思います。また、計算科学ではさらにいくつかの質問を使用でき、複数の視点からの回答が、科学コンピューティングで使用するツールのアイデアを人々に提供するのに役立つと感じています。
ジェフオックスベリー

@dmckeeそして、有効な答えだと思います-Appleが焼き付けたもののいくつかは、OSを使用する本当に活気に満ちた説得力のある理由を生み出していません。
フォマイト

この質問は、ハードウェアの質問とServerFaultを区別する可能性のある「科学計算の実行」タイプの質問のいくつかを探求する試みでもあり、私は興味があり、本当に答えを知らない質問を使用しました。
フォマイト

回答:


12

サーバー側についてはコメントできません。

クライアント側では、私が毎年行っている計算科学会議で、Macユーザーの割合が増えているようです。私がMacに切り替えたのは、学校が提供するDellラップトップの故障に対処するのにうんざりしていたためです。主に、Consumer Reportsが耐久性の点でMacを高く評価していたため、ハードウェアをMacに切り替えました。Linuxを実行しない限り、Macが科学計算に適しているとは思いません。ハードウェアに対するLinuxサポートは遅れる傾向があります。通常、サポートされていないのはワイヤレスカードです(新しいモデルで変更されるたびに)。仮想マシンの実行に伴うリソースのペナルティを受け入れても構わない場合、それは魅力的なオプションです(そして私が個人的に使用するオプションです)。

Macでは、本格的な科学計算を行う前に、多くのライブラリとソフトウェアパッケージをインストールする必要があります。Macインストーラーを備えたものはすべて管理が容易であるため、Matlab、Mathematica、Maple、Pythonなどを使用して開発作業のほとんどを行う場合、OS Xにそのソフトウェアをネイティブで簡単にインストールして実行できます。Macインストーラーを備えたハードコア数値ソフトウェアを追跡するのは困難です(PETScやCLAWPACKなどを考えてください)。MacPortsFinkなどのパッケージマネージャーOS Xのみを使用する場合に状況を解決できます。また、ソースから多くのパッケージをコンパイルする必要があります。他の場所でコードを実行する場合は、互換性の問題に注意する必要があります。Linuxは科学計算で広く使用されているため、移植性の観点からLinuxでコードを開発する方が簡単です。

Macで開発環境をセットアップすることは、お尻に大きな苦痛があると、非常に意見の高い友人から逸話的に聞いたことがあります。あなたのマイレージは異なる場合があります。


1
私は反対票を投じました:Macに科学計算用の何かをインストールすることは、Linuxよりもどのように複雑ですか?確かにLinux CAEから起動する場合、そのほとんどは組み込みですが、他のほとんどのディストリビューションでは、パッケージをダウンロードするか、ソースからビルドする必要があります。とにかく、特定のニーズや最大のパフォーマンスに合わせてライブラリを微調整することができます。そうは言っても、Mac OSはハードウェアとは独立してOSのライセンスを取得しない限り(そうすべきではない)、大学で大規模に採用されるのに苦労します。追加費用を正当化する方法がわからない
...-FrenchKheldar

4
FrenchKheldar:Macにインストールする必要のある補助的なものがたくさんあります(私はこれをMacbook Proで作成します)。ソフトウェアと多くのライブラリとツールは、apt-getまたはyumをインストールするだけです。 linux box、新しいコンパイラ、新しいpythonなどの大きなアイテムは言うまでもありません。そのため、portsやhomebrewがありますが、これらは常にきれいにインストールされるわけではなく、すべてのパッケージが両方にあるわけではありません。開発環境で何を望んでいるかに応じて、Macでは難しくなる可能性があり、実際は難しいです。OTOH、Xcodeを取得

2
それはだ、かなりそれは最初から同じコードをコンパイルするよりも、パッケージマネージャから何かをインストールする方が簡単。せいぜい単純./configure && make && make installですが、最悪の場合、スクリプト、フラグ、およびライブラリの場所を整理する迷路になる可能性があります。DebianパッケージからPETSc 3.2をインストールするのに5秒かかりました(一部の開発者からの依頼でこれを行いました)。Linuxのソースからインストールするためには、さまざまなオプションが必要でした。ポイントは、Linux用のパッケージとインストーラーは必ずしもMac用には存在しないということです(そしてLinuxを使いやすくします)。
ジェフオックスベリー

また、Macで空中にぶら下がっている「安定している」という大きな煩わしさもあります。少なくとも、私は何度か戦わなければなりませんでした。私が個人的に持っている良い例は、pthreadから呼び出されるコード内にOpenMPプラグマがあった場合、アプリをまったくクラッシュして焼き付けるGCCのバグです。実際、そのMacでGCCを変更するよりも簡単だったので、ICCが利用可能になったので、実際にICCを使用してサポートすることになりました。私がMacで見た先史時代のバージョン(まあ、少なくとも2、3歳)のライブラリはたくさんあります。
TC1

13

@Geoffは良い答えを出しますが、別の視点を提供する価値があると思います。

Linux VMではなく、OS XでMacですべてを行います。多くの科学的コード開発も含まれます。私は主にFortranとPythonで働いています。私にとって、利便性

  • 1つのOSですべての作業を行うことができ、
  • ハードウェア障害やドライバーの問題にほとんど対処しない

Mac固有の頭痛の種の費用に見合う価値があります。

3つの主な頭痛は次のとおりです。

  1. OS標準パッケージマネージャーの欠如。昔々、Finkを使用していましたが、やがて頭痛の種になり、現在では使用されていません。私はMacportsとHomebrewについて良いことを聞いたことがありますが、Finkでの経験から、「自分で転がす」ように確信しました。

  2. 組み込みソフトウェアの一部は非常に古いものです。特に、Pythonとgcc。これは、更新された独自のバージョンをインストールする必要があることを意味し、面倒な場合があります。

  3. AppleにはFortranコンパイラは含まれていません!

Appleは彼らのUnixベースのパワーユーザーにますます注意を払っていないように思えます。その間、Linuxは改善を続けています。最終的には、おそらくLinuxに押し戻されるでしょう。しかし、他の誰かがまともなバッテリーを作る方法を学ぶまで、私は私のMacbookを保持します。


1
Mac上の科学計算環境(コンパイラ、ライブラリ)は、MacPortsによって99%提供されています。完璧ではありませんが、手動インストールよりも簡単です。もちろん、作業を完了するためにどれだけインストールする必要があるかに大きく依存します。
-khinsen

9

私はMacは、計算のためのより良い環境であることを主張したいの科学者、それは計算のためであるよりも、科学。私は、コモディティコンピューティング環境でMacを使いたくありません。ハードウェアは、相対的に言えば、そのためにはあまりにも高価です。ソフトウェア環境を特定のパッケージに必要な条件に合わせるのは苦痛かもしれませんが、通常、最初にそれを理解すると、同等のWindowsインストールよりも保守がはるかに簡単になります。(そして、パッケージマネージャーによっては、Linuxと同じくらい簡単になります。MacPortsはOS Xのマネージャーとしてかなりうまくいきます!)

しかし、忙しい計算科学者の作業プラットフォームとして、Macは「深刻な」作業のためにLinuxボックスを維持しなくても、単一のコンピューティング環境で作業および維持できるという追加のボーナスを提供すると信じています。他の分野で作業している同僚がマークアップを必要とする(たとえば)Officeファイルを送信するとき、またはLibreOfficeを使用して適切にフォーマットしないRTFテンプレートとしてのみ利用可能な大学のフォームに記入する必要がある場合、別のマシンが必要ですLaTeXで再現するための首の痛み。(以前の仕事では、Linux所有者は、企業環境にアクセスするために多かれ少なかれ要求するため、Linux以外のマシンを追加で持っていなければなりませんでした。Mac所有者は2番目のマシンを必要としませんでした。)

さらに、MacをPCやLinuxよりもはるかに快適な環境にするためのMac 専用プログラム(TextMateScrivenerPapersThingsOmniFocusBibDeskなど)が多数あります。ソフトウェア環境に必要な(または必要な!)ことをさせるために何をする必要があるかよりも、物事を成し遂げることにより多くの時間を費やしています。


5

HPCおよび科学計算でのOS Xの使用は低く、OS Xの長所と短所を他の方法で十分に活用する必要があります(Linux)

OS Xの長所:

  • 洗練されたUI。まだ* nix
  • MS Officeなどのデスクトップ/デザインアプリ、よくサポートされているAdobeプログラム
  • 非常によくサポートされているマルチメディア
  • Appleエコシステム(iPhone、iTunesなど)が好きな人

OS Xの短所:

  • 高価なハードウェアで動作し、誰もがMacbookを好むわけではありません。特に人々はThinkpadに慣れています(キーボード+トラックポイント)
  • デスクトップ/クラスターのハードウェアをアップグレードできない(CUDAアプリで最新のNVIDIAカードを試す場合など)
  • カスタマイズできない肥大化したGUI(Linuxではミニマリストのウィンドウマネージャーを使用できます)
  • Macports / Finkのパッケージmgmtは、Linux(Debian)ディストリビューションと比較して劣っています。ほとんどのパッケージは積極的に保守されていないか、孤立しています
  • いくつかの便利なツール/プログラムは、伝統的にOS Xで実行されなかったか、まだ実行されませんでした。例えば...

    1. Sun Studioはまだ動作しません
    2. Valgrindは最近機能し始めたばかりで、すべての機能がサポートされているわけではありません
    3. インテルコンパイラーも近年利用可能です
    4. AppleはFortranコンパイラもパッケージ化せず、特定のOS Xバージョン(個人が所有している)でのみ動作するバイナリを構築するために、サードパーティ(主に個人)に依存する必要があります。そのような場合、サポートはまれまたは存在しない
    5. 商用の科学アプリ(ABAQUS、ANSYS、FLUENT、および石油/金融/工学などの業界のその他多数)は、OS Xで(ネイティブに)実行されません。

Linux(Debian)の長所:

  • ファーストクラスのパッケージ管理、すなわち、コンパイラ、ほとんどの数値/科学ライブラリなどのインストールは、離れたコマンドです
  • Fink / Macportsとは異なり、パッケージのサポートが向上しています(Debianでは、最新版/テスト版/安定版を使用するオプションがあります)
  • ほとんどのクラスターはDebian / Red Hatのバージョンを実行するため、コードの移植の手間が少なくなります

Linux(Debian)の短所:

  • 標準UIなし
  • デスクトップ/ラップトップ上のLinuxでは、すべての機能(サスペンド/レジューム、3Dビデオアクセラレーション、サウンドなど)を機能させるために微調整が必​​要になる場合がありますが、これは近年大幅に改善されています

いくつかの例外を除いて、ほとんどのユーザーとクラスター/システム管理者は、OS Xがデスクトップの生産性を向上させ、科学計算(コンパイル、使用、開発)を容易にしないと感じています。

OTOHのほとんどのLinuxユーザーは、後者の方が前者よりも簡単であり、これはHPC /科学コンピューティングエコシステム全体に反映されています。


OS Xで動作しない便利なツールのリストにgprofを追加します。
デビッドケッチャソン

ThinkPadの参考文献は私をくすくす笑わせました。現時点では、私たちはApple / Lenovoの分割世帯であり、私は彼女がトラックパッドを嫌っています:)
Fomite

@DavidKetcheson、これはOS XにInstruments(以前のShark)があるためです。
アロンアーマディア

3

私は長年デスクトップ(およびラップトップ)でMac以外を使用せず、科学計算や科学ソフトウェア開発などを行ってきました。他の人が指摘したように、ハードウェアの品質、多くのMac固有のソフトウェアの高品質、および必要に応じてWordとExcelを処理する機能により、Macは日常使用に非常に優れたプラットフォームになります。

また、しばらくの間、実験としてMacベースの計算クラスターを実行しています。それは私が再びやろうとは思わない実験です。Linuxクラスターと比較して、デスクトップにMacを持っている場合(同じものをインストールするだけ)にソフトウェアを簡単にインストールできること以外、大きな利点は見当たりません。不利な点は明白であり、ほとんどすべてが適切なマルチユーザーGUIサポートの欠如です。Macでは、1台のマシンが1つの画面に相当し、ログインしているユーザーは最大1人です。そのため、GUIベースのツールを使用するのが面倒です。それと比較して、Linuxでの単純なX-windowsでさえも使用するのが楽しいです。さらに、VNCとNoMachine NXを使用してさらに改善することができます。

はい、MacはXウィンドウをサポートしていますが、Mac用のほとんどのGUIプログラムはネイティブインターフェイスを使用しています。


Macベースのクラスターの実行に関する洞察に感謝します。どのようなGUIツールが不足していると思いますか?
フォマイト

科学用のほとんどのGUIツールを入手するには、MacPortsを介してX-windowベースのソフトウェアをインストールしますが、それは大変な作業です。もう一方の極端な場合、Mac GUIの1ユーザー= 1台のマシン= 1画面という基本的な制限を受け入れない限り、プロプライエタリなソフトウェア(Mathematicaなど)を遠くから操作する機会はありません。Mac固有のソフトウェアが必要になるほど、GUIの問題に悩まされます。
khinsen
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.