我正在从事科学计算并为多 CPU 系统开发基于 petsc 的应用程序。
出于调试目的,我想在我自己的电脑上安装那个软件,这是一个运行 Ubuntu (Karmic Koala) 的双核系统。
但我不知道该使用哪些资源。有 debian 软件包,以及网络上的源档案。我知道在编译和链接这些包的时候会出现各种各样的问题,所以这个麻烦是我最想避免的!
我不关心性能(至少不是太多),因为我只会将这个软件用于调试,因此可用性对我来说是最重要的。
有人可以给建议吗?
我正在从事科学计算并为多 CPU 系统开发基于 petsc 的应用程序。
出于调试目的,我想在我自己的电脑上安装那个软件,这是一个运行 Ubuntu (Karmic Koala) 的双核系统。
但我不知道该使用哪些资源。有 debian 软件包,以及网络上的源档案。我知道在编译和链接这些包的时候会出现各种各样的问题,所以这个麻烦是我最想避免的!
我不关心性能(至少不是太多),因为我只会将这个软件用于调试,因此可用性对我来说是最重要的。
有人可以给建议吗?
如果存在本地(即 Ubuntu)软件包并且您没有任何特定理由不这样做,请使用它们。
试试 CentOS。它基于 Red Hat Linux 并且是免费的。我们开发了科学的软件包,找到了方便调试和开发的环境。
使用 Open MPI 或 MPICH2(从包管理器中获取),我更喜欢前者。如果你确定这个第三方项目的代码是坚如磐石的,那么你可以使用 Ubuntu 包,但是如果它大量使用 PETSc 并且你打算调试那个库,那么你应该在调试模式下构建你自己的 PETSc (打包版本仅优化)。
PETSc 仅在调试模式下进行大量完整性检查,包括
file:line function()
在错误或信号(如 SEGV)上打印正确的堆栈跟踪 ( )。如果您正在调试客户端代码,这将节省大量时间。现在构建 PETSc 非常简单,但如果您有问题,请咨询 petsc-maint@mcs.anl.gov(无需订阅)或发送至 petsc-users@mcs.anl.gov 的列表。