写在HPC之前

如果有任何保证正确推导的算法和精心设计的数据结构可以立即转变为正确的程序,这就是你需要知道的全部内容。不幸的是,编程远不止于此。这组教程将为你提供工具帮你成为一个高效的科学程序员。

绝大多数科学编程都是在Unix平台上完成的,所以我们从一个教程开始第 20 章中的Unix,然后在第 21 章会解释编译器和连接器如何处理你的代码等等。

接下来,你将了解一些可以提高生产力和效率的工具:

  • 实用的 Make 用于管理项目的构建;在第22章。
  • 源代码控制系统以一种你可以撤消更改或维护多个版本的方式存储代码;第23章中,你将看到subversion软件。
  • 一旦您的程序开始运行产生结果,科学数据的存储和交换就变得很重要;在第24章你将学习HDF5的使用。
  • 程序数据的可视化输出很重要,但这个话题太宽泛,无法在此详细讨论;第25章教你gnuplot包的基础知识,适用于简单的数据绘图。

我们还考虑了程序开发本身的活动:第 26 章考虑了如何编码以避免错误,第27章教你使用gdb调试代码。第 28 章包含一些关于如何编写使用多种编程语言的程序。

最后,第 30 章教你有关 $LaTeX$ 文档系统的知识,以便你在你的工作报告中排版出精美的文章。

许多教程都非常实用,坐在电脑前学习他们吧!