利用 IPython 进行高性能计算:IPython 与 Fortran 的对比分析
1. 对速度的需求
计算机的速度似乎永远无法满足人们的需求。从古代的算盘到如今如建筑物般庞大的超级计算机,人们一直在抱怨计算耗时过长。这并非无意义的抱怨,人类掌控世界的能力依赖于对世界进行建模以及在模型中模拟不同行动方案的能力。
例如,中世纪的商人在开始贸易任务前,会拿出地图(世界模型)并规划路线(旅程模拟),否则就可能遭遇灾难。使用这些工具需要很长时间和专业技能,优秀的领航员是团队的重要成员,前往没有地图的地方是一场危险的旅程。
如今,情况依然如此,只是模型变得更大,模拟也更加复杂。例如,通过实际发射来测试新的核导弹是不明智的,而是在软件中构建导弹模型,并在计算机上进行发射模拟,这样可以在计算机中发现设计缺陷,而不会在现实中造成危害。导弹建模比船舶航线建模复杂得多,涉及更多运动部件、更复杂的物理定律和更低的误差容忍度等,这需要比中世纪领航员更先进的工具。
2. Fortran 解决的问题
计算机早期取得成功(如破解德国密码和计算对数)后,面临两个问题:一是机器本身速度慢,无法满足新问题的需求;二是编写机器执行的指令(代码)耗时过长。
提高机器速度主要是工程问题,计算机的底层架构从蒸汽和阀门发展到机电继电器、真空管,再到集成电路,每次变革都提高了指令执行速度,但这不在本文讨论范围内。
当计算机不再需要通过布线来编写程序后,程序员可以用编程语言以文本形式表达算法。虽然打字比布线快,但也有自身问题,Fortran 是最早成功解决这些问题的语言之一。
2.1 可读性
早期语言
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



