@ 2017.05.06 , 14:00
28

NASA:Fortran程序员快来帮忙改代码

NASA正在举办一场比赛,需要把自家的 FUN3D 软件加速10000倍。成绩最好的两名选手将分得总额达55000美元的奖金。

FUN3D 是NASA在超算“昴宿星”上用来模拟飞行器周围气流情况的一个软件,在上世纪八十年代由Fortran语言编写。

软件中运用了计算流体动力学,使用了大量复杂的数学公式和数据结构。航天技术的研究经常被称为“三腿凳”:首先在计算机中分析、解决问题,然后在风洞中测试比利模型,最后用原型机进行实地测试。

NASA:Fortran程序员快来帮忙改代码
credit: 123RF

“这就是极客界的圣杯啊。”NASA变革性航空概念项目的头头 Doug Rohn 如是说,这个项目大量使用这套软件来测试新式飞行器的早期设计。

NASA官网上举了个例子:只需简化 FUN3D 中一个常用的子程序,使之运行时间缩短几毫秒,就能大幅提高整个软件的性能(如果这个子程序在一次模拟中会被调用上百万次的话)。

NASA会向所有参赛者提供软件代码,以便他们进行分析、找出性能瓶颈并作出改进。结果的最低要求是提速十倍,当然能做到上千倍就最好了,同时不能降低模拟的准确度。

自己没有一台超算?没关系,想要挑战的勇士只需点击https://herox.com/HPFCC,即可参加比赛。

由于代码的敏感性,这场比赛只允许18岁以上的美国公民参加。

本文译自 BBC,由译者 VC 基于创作共用协议(BY-NC)发布。


给这篇稿打赏,让译者更有动力
支付宝打赏 [x]
您的大名: 打赏金额:
已打赏蛋友(0):
4.0
赞一个 (11)

TOTAL COMMENTS: 28+1

  1. 3443308

    外面的世界是程序员的 国内一半是程序员 另一半是武林流氓的

    [13] XX [27] 回复 [0]
  2. 双黄蛋
    @4 months ago
    3443310

    谁能解决一下领导视察照片中的悬空问题,悬赏十个政府采购U盘

    [96] XX [5] 回复 [0]
  3. coldmozefckr
    @4 months ago
    3443312

    想起大一时候的fortran功课,写代码给一只潜水艇算重心位置等数据,全班差不多两百人,交上去一百八十多份作业,代码能正常跑起来的不到一百人,用教授自己的测试模型能求出正确结果的不到三十人。

    [50] XX [6] 回复 [0]
  4. 3443320

    為什麼要用比利模型?為什麼不用比利模型!

  5. 3443322

    然后在风洞中测试比♂利模型

  6. 3443344

    Pleiades是昴星团,是一个星团(cluster),不是一颗“昴宿星”(BTW没有一颗星叫这个的)
    可以想象NASA那台超算应该是集群计算(cluster computing)

    [25] XX [0] 回复 [0]
  7. 3443350

    比利模型

  8. Tentacle
    @4 months ago
    3443392

    @jb: 作为一个学代码比学自行车还早的人,我认为总有一天,不能写某种逻辑代码的人会如同现在不会用手机的老年人一样被社会边缘化。

    [10] XX [39] 回复 [0]
  9. 3443420

    我点开网站,准备碰碰运气时,才看到:
    “由于代码的敏感性,这场比赛只允许18岁以上的美国公民参加。”

    [22] XX [0] 回复 [0]
  10. 防潮生生世世
    @4 months ago
    3443429

    @Tentacle 20年前说不会电工被社会边缘化,40年前说不会木工被社会边缘化

    [21] XX [2] 回复 [0]
  11. 3443441

    貌似需要计算机和流体物理两方面都精通才行,有这样能力的人就很少了

  12. 3443444

    一个字母1万美元

  13. 3443451

    @Tentacle:
    目测会代码的你会更早被淘汰掉,因为从你发言来看,你人生绝大多数时间都浪费在工程细节的实现上……..
    因为第五代编程语言已经出现了,譬如watson那样的以自然语言为编程语言的,在五年以内就能普及……..
    只有懂数学的,才是真的会存活下去,这个职业已经延续了几千年,从来没有落伍过。

    [53] XX [13] 回复 [0]
  14. 3443512

    @saw: 深有感触, 现在在找工作, 跟google/facebook/indeed/line之类的接触感觉就是, 你跟人家说你懂xx语言oo语言, 人家根本不鸟, 上来就直接问你算法问题, 如果简单的过了, 后面就是各种数学推导.

    最近互联网公司的都开始跑去数学系招人了, 会不会写代码都可以, 可以进公司再培训, 数学底子好就行.

    [15] XX [1] 回复 [0]
  15. Kog2cOm
    @4 months ago
    3443521

    @saw:

    在軟件業界,對這種學術分代理論是冷眼旁觀的,這種學術理論只是講給對程式完全沒有概念的初學者。事實上程式語言約略來說就是「寫給機器懂以操控機器」,或是「寫給人使用」。更正確的來說,程式語言就分二件事:『能做到的事』和『不能做到的事』。那些搞語言分代的在課堂上聽聽就好。在業界千萬別講出來。

    By wiki

    Source : https://zh.m.wikipedia.org/zh-hk/程式語言世代

  16. 3443534

    当年fortran交作业,全班唯一能跑的只有我的程序。
    结果你们也能够想得到,这么差的班级,怎么会培养出一名牛逼的程序员呢?

  17. 3443601

    @saw: 别傻了。先学会VBA,再谈工作吧

  18. 3443676

    @saw: 记得当年UML火的时候,一帮子头衔NB的不得了的“系统架构师”在那里讲,未来只用画出UML图,然后导入到某个程序中,就能自动编写出完美映射UML图的软件程序。迄今为止过去十来年了,这个愿景到现在好像没啥人再提了。现在又在炒的是:再过多少年教会AI来写程序,从而取代掉程序员。虽然我也不看好那种只会用某个框架,写得全是CRUD这种原子操作的子函数的初级程序员的未来,但不管科技如何发展,最终能把人类现实世界的非结构化业务逻辑翻译成计算机代码的工种,始终会存在,除非人类不再需要把自己那些非结构化的业务逻辑用软件来实现。

  19. 3443835

    @saw: Watson 不是个问答智能系统么,什么时候变成编程语言了?另外专业名词首字母大写是常识吧?还有楼上想表达的是逻辑思维,代码只是表现形式。

  20. 3444317

    @Kog2cOm:
    我不是学术界的…….
    是的,我不写程序,我写编译器……..
    在煎蛋上,有资格跟我谈语言的,不超过5个人,目测没有一个人在这个帖子里面留言,所以只有你们这些人蹦出来呱噪了。
    而上面说watson只能做到智力问答的,
    呵 呵 呵。
    我就在IBM工作。
    我也没有兴趣跟半桶水谈论。
    呆在目前被你们称为“工业界”的井里,祝你们玩的开心。

    [3] XX [12] 回复 [0]
  21. 3444439

    @saw: 不知道为什么你这么想暴露自己的水平。
    1. 编译器本身也是一个程序;
    2. 某人只是说 Waston 是智能问答系统,但是没有说它只能做智能问答;
    3. 专业名词你怎么还是用小写开头;
    4. 既然你能说出不超过五个人,那么你肯定知道那五个人是谁,可以说出来涨下见识吗?

    SHUT UP AND SHOW ME THE CODE.

    [10] XX [2] 回复 [0]
  22. 3444691

    @T:
    1.从13年开始,我处理的底层已不属于冯诺依曼架构。主流认为的程序含有stored-program的控制流的概念,“程序”的中文含有秩序行动的概念,控制流的范畴是我在一直解脱的,信息也是无序并发的。不过我承认,这是范畴论的分类,写Haskell的程序员会知道我这么分的理由,我不强求别人同意我的terminology,花时间在什么该叫什么这些低层次的争论上是无意义的。
    2.watson也不是“智力问答系统”。
    3.watson是一个instance,小写开头。学生时期面向对象编程命名习惯导致的日常使用英语名词的习惯,即使我已经有快8年不再使用名词逻辑,但有些衍生的习惯还是体现在日常生活上。
    4.抱歉,我不想无故侵犯别人的隐私,如果他们不主动说,我也不会说。

  23. 3444710

    100个人学CS,可能90个人只学会了软件工程,剩下的10个人学了计算机科学。
    90个人在网上聒噪着什么框架什么库,剩下一些人谈着什么什么算法,最后极少数人延续了计算机科学作为纯数学分支的血统。
    可怕不是无知,而是无知傲慢还互相把彼此的无脑聒噪奉为圭臬,败坏行业风气。
    譬如出生在塔的某一层里要往上盖,既不知道你们要建筑的这个建筑的蓝图,也因为自己生来就在这个层次而不知自己是怎么上来的,终日只看着前面一群黑压压的屁股。你们听到你们底下传来一些砖块,捡起来怎么用,议论纷纷寻思揣摩,终于磨练之下感觉用的流畅了 ,得意洋洋自认高手。可能你捡起来的只是在你底下的人很多年前无意拉的一个屎而已。
    既然知道编程势不可挡的普及,自然也会明白作为程序员即将迅速贬值,也明白工业volatility会急剧上升,也就明白你们的抽象层次之下和之上也会发生快速的变动,你所掌握的技能,花费光阴debug的细节,蹉跎岁月琢磨的结构。过去三五月又能价值几何?什么是有价值而什么没有,难道还不明显么?始终半桶水,庸碌浑噩,只在用户上找些“怀技术者”的优越感安慰自己空虚的精神。这种浮躁的态度,不会让你们有所寸进。

  24. 3444817

    @saw:我还是一个计算机学生,平时总会有一些疑惑,希望你能够告诉我学习路径,除了堆叠工程代码和逻辑之外该如何学习?时下热门的技术又如何看待。

  25. 3444977

    @saw:比较好奇“第五代编程语言“现在有哪些成熟的产品,现在有哪些客户在使用,五年内普及的结论有哪些依据?

  26. 看头发结婚
    @3 months ago
    3445003

    @DIO: 不知怎的,看完你的评论内容再看见那18个赞,就不忍心再赞你了(´ー`)y━~~

  27. 3447495

    为什么 不用 FBASIC

发表评论


24H最赞