科学计算和HPC中Mac OS的状态


17

回顾OS X的曙光,至少在Mac世界中(当时我还远远没有到达科学计算领域),似乎有很多关于Mac OS作为科学计算和HPC应用程序平台的喧嚣。

XGrid开箱即用,Virginia Tech有他们花哨的基于Mac的计算集群,Stanford在做很棒的事情,等等。

但是最近,情况一直很安静。Macresearch.org网站本质上是一个充满垃圾邮件僵尸的幽灵小镇,XServe已死,而且大量的营销文献等似乎都来自英特尔之前的处理器领域。但是XGrid仍然存在,整个* nix OS的基础就在那里,并且该平台似乎在Python,R和某些更新的语言中得到了不错的支持。

那么,从比我更了解这件事的人那里... OS X的价格如何?它们是可行的用于科学计算的客户端计算机吗?正在将它们用作服务器/集群/等。通过XGrid或类似的东西仅仅是一个新颖的应用程序?


不赞成投票的人请问您为什么不赞成投票?
Geoff Oxberry 2012年

嗯 这在主观上好,主观不好的销售上并不可怕,但对我而言仍然无能为力。就我而言,答案是:开箱即用的Unix,但对于UI并不严格的地方来说,它的成本太高了。
dmckee'1

@dmckee:是的,我可以看到。我想很多人都会同意你的看法。对我来说,问题并不是那么直接,因为我已经厌倦了硬件故障,即使那样,我仍然在虚拟机中运行Linux。我遇到了一些人,他们喜欢他们的工作流程主要是OS X,因此对于小众社区来说,这是一个合理的问题。我还认为计算科学可以使用更多的问题,并且从多个角度进行回答将有助于使人们了解我们在科学计算中使用哪些工具。
Geoff Oxberry 2012年

@dmckee我认为这是一个有效的答案-苹果公司提供的一些东西并没有产生一个真正充满活力和令人信服的理由来使用他们的操作系统。
Fomite 2012年

这个问题也是尝试探索一些“科学计算”类型的问题,这些问题可能将硬件问题与ServerFault区别开来,使用我既感兴趣又真正不知道答案的问题。
Fomite 2012年

Answers:


12

我无法在服务器端发表评论。

在客户端,在我每年参加的一次计算科学会议上,Mac用户的比例似乎有所增加。我之所以改用Mac,是因为我厌倦了处理学校提供的戴尔笔记本电脑掉下来的麻烦。我之所以改用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 2012年

4
FrenchKheldar:在构建软件时,必须在Mac上安装很多辅助设备(我在Macbook Pro上写这些东西)-许多库和工具-只是在apt-get或yum上安装即可在linux机器上,更不用说较大的项目了,例如较新的编译器,较新的python等。这就是为什么有端口和自酿的原因,但是这些东西仍然不能始终干净地安装,并且并非所有软件包都同时存在。根据您在开发环境中的需求,在Mac上可能会变得更困难,而实际上会更难。OTOH,您会得到Xcode ...

2
这是相当容易,它是编译从头相同代码的软件包管理器安装的东西。充其量,这是一个简单的过程./configure && make && make install,但最糟糕的是,它可能是一个整理脚本,标志和库位置的迷宫。从Debian软件包安装PETSc 3.2花费了我5秒钟的时间(我什至在某些开发人员的要求下完成了此操作)。在Linux上从源代码安装它花了整整一天的时间,并带有各种选项。关键是,当Mac用于Linux时,软件包和安装程序不一定适用于Mac(它们使Linux易于使用)。
Geoff Oxberry 2012年

另外还有一个巨大的 “唯一稳定的”挂在Mac计算机中的空气,至少我已经与它打几次的烦恼。我个人遇到的一个好例子是一个GCC错误,如果您在从pthread调用的代码中包含OpenMP编译指示,则该应用会使应用彻底崩溃并烧毁。实际上,我最终仅使用并支持ICC,因为它比在Mac上更改GCC更容易。我在Mac上看到过很多其他的具有史前版本的库(嗯,至少有几年的历史了)。
TC1 2012年

13

@Geoff给出了一个很好的答案,但我认为值得提供其他观点。

我在Mac上(在OS X,而不是Linux VM)上做所有事情,包括许多科学代码开发。我主要在Fortran和Python中工作。对我来说,方便

  • 能够在一个OS上完成所有工作,
  • 几乎永远不会处理硬件故障或驱动程序问题

值得Mac引起的头痛。

三个主要的头痛是:

  1. 缺少操作系统标准的软件包管理器。曾几何时,我使用Fink,但最终导致更多的头痛,现在已经过时了。我听说过有关Macports和Homebrew的好消息,但是我在Fink的经历使我相信“​​自己动手”。

  2. 一些内置软件非常过时。特别是Python和gcc。这意味着您需要安装自己的更新版本,这可能很麻烦。

  3. 苹果不包括Fortran编译器!

在我看来,Apple对基于Unix的高级用户的关注越来越少。同时,Linux不断改进。最终,我可能会被推回到Linux。但是我会保留我的Macbook,直到其他人学习如何制作体面的电池为止。


1
MacPorts提供了我在Mac(编译器,库)上的科学计算环境的99%。它不是完美的,但是容易击败手动安装。当然,这很大程度上取决于您需要安装多少才能完成工作。
khinsen 2012年

9

我认为,相对于计算科学,Mac对于计算科学家而言是一个更好的环境。我不想在商品计算环境中使用Mac。相对而言,硬件太昂贵了。要使软件环境符合特定软件包所需的条件可能会很痛苦,但是通常,一旦您第一次发现它,它就比同等的Windows安装要容易得多。(而且,根据软件包管理器的不同,它可能像Linux一样容易。MacPorts作为OS X的管理器确实做得很好!)

但是,作为繁忙的计算科学家的工作平台,我相信Mac能够提供额外的好处,即能够在单个计算环境中工作和维护,而不必为“严肃的”工作而维护Linux系统,并且需要其他学科的同事向我发送(例如)需要标记的Office文件时需要另一台计算机,或者我必须填写大学表格,该表格只能作为RTF模板使用,不会正确使用LibreOffice进行格式化,并且在LaTeX中重现颈部疼痛。(在以前的工作中,Linux所有者几乎还必须有一台非Linux机器,因为访问公司环境或多或少地需要它。Mac所有者实际上并不需要第二台机器。)

此外,还有许多Mac专用程序(如TextMateScrivenerPapersThingsOmniFocusBibDesk)使Mac成为比PC或Linux更加舒适的工作环境。我发现自己花更多的时间专注于完成事情,而不是花时间让软件环境去完成我想要(或需要!)做的事情。


5

OS X在HPC和科学计算中的使用率很低,并且与OS X的优缺点有很大关系,而替代方案(Linux)

OS X优点:

  • 优美的用户界面;还是* nix
  • 桌面/设计应用程序,例如MS Office,Adobe程序均受良好支持
  • 多媒体支持得很好
  • 有些人喜欢Apple生态系统(iPhone,iTunes等)

OS X缺点:

  • 在昂贵的硬件上运行,并非所有人都喜欢Macbook,特别是习惯于Thinkpads(键盘和Trackpoint)的人
  • 无法在台式机/群集上升级硬件(例如,如果要使用CUDA应用程序尝试最新的NVIDIA卡)
  • 无法自定义的膨胀的GUI(在Linux中,您可以使用极简主义的窗口管理器)
  • 与Linux(Debian)发行版相比,Macports / Fink中的mgmt软件包差强人意。大多数软件包甚至没有得到积极维护或孤立
  • 传统上,某些有用的工具/程序无法在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。
David Ketcheson,2012年

ThinkPad参考使我笑了起来。目前,我们是Apple / Lenovo的分裂家庭,我的但她确实不喜欢触控板:)
Fomite 2012年

@DavidKetcheson,这是因为OS X具有仪器(以前称为Shark)。
阿隆·艾玛迪亚

3

多年来,我一直只在台式机(和笔记本电脑)上使用Mac,从事科学计算和科学软件开发等工作。正如其他人指出的那样,硬件的质量,许多Mac专用软件的高质量以及必要时能够处理Word和Excel的能力,使Mac成为日常使用的非常不错的平台。

一段时间以来,我也一直在运行基于Mac的计算集群。这是我不愿意再次尝试的实验。与Linux群集相比,除了可以轻松安装软件(如果您始终在台式机上安装Mac)的情况下,我没有看到其他任何显着优势(只需安装相同的东西)。缺点很明显,主要是缺少适当的多用户GUI支持。在Mac上,一台机器等于一个屏幕,最多一个登录用户。这使得基于GUI的工具难以使用。相比之下,即使在Linux下使用普通的X-windows也很容易使用,然后还有VNC和NoMachine NX可以做得更好。

是的,我知道Mac支持X窗口,但是Mac的大多数GUI程序都使用本机界面。


感谢您对运行基于Mac的群集的见解。您发现缺少哪种GUI工具?
Fomite 2012年

通过MacPorts安装基于X窗口的软件,可以获得大多数科学的GUI工具,但这是很多工作。在另一个极端,除非您接受Mac GUI的基本限制,即一个用户=一台机器=一个屏幕,否则您将没有机会远距离运行专有软件(例如Mathematica)。您需要的Mac专用软件越多,GUI问题就给您带来的障碍就越大。
khinsen 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.