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

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



