1

我正在从事科学计算并为多 CPU 系统开发基于 petsc 的应用程序。

出于调试目的,我想在我自己的电脑上安装那个软件,这是一个运行 Ubuntu (Karmic Koala) 的双核系统。

但我不知道该使用哪些资源。有 debian 软件包,以及网络上的源档案。我知道在编译和链接这些包的时候会出现各种各样的问题,所以这个麻烦是我最想避免的!

我不关心性能(至少不是太多),因为我只会将这个软件用于调试,因此可用性对我来说是最重要的。

有人可以给建议吗?

4

3 回答 3

2

如果存在本地(即 Ubuntu)软件包并且您没有任何特定理由不这样做,请使用它们。

于 2010-09-20T22:02:52.700 回答
1

试试 CentOS。它基于 Red Hat Linux 并且是免费的。我们开发了科学的软件包,找到了方便调试和开发的环境。

于 2010-09-20T21:39:46.393 回答
1

使用 Open MPI 或 MPICH2(从包管理器中获取),我更喜欢前者。如果你确定这个第三方项目的代码是坚如磐石的,那么你可以使用 Ubuntu 包,但是如果它大量使用 PETSc 并且你打算调试那个库,那么你应该在调试模式下构建你自己的 PETSc (打包版本仅优化)。

PETSc 仅在调试模式下进行大量完整性检查,包括

  • 放置哨兵以检测客户端内存错误。
  • 检查索引集是否已排序或不相交或排列。
  • 跟踪堆栈,以便它可以file:line function()在错误或信号(如 SEGV)上打印正确的堆栈跟踪 ( )。
  • 记录内存,以便在程序退出时在摘要中打印泄漏内存的分配堆栈快照(类似于 valgrind,但速度快 1000 倍)。

如果您正在调试客户端代码,这将节省大量时间。现在构建 PETSc 非常简单,但如果您有问题,请咨询 petsc-maint@mcs.anl.gov(无需订阅)或发送至 petsc-users@mcs.anl.gov 的列表。

于 2010-09-27T20:38:25.150 回答