问题标签 [petsc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 仅在 Valgrind 中使用 Petsc 运行问题时出现 Seg Fault/Error
我做了一个不幸的决定,卸载了我为 petsc/gcc/macports/brew/ 等工作的东西,因为 Valgrind 不适合我。我让 Valgrind 为我工作,重新安装了 Petsc 和 slepc 等,但是在我成功创建可执行文件 ./hello 之后,我遇到了这个问题:
我的程序是一个简单的程序:
当我通过 Valgrind 执行我的程序时,我遇到了分段错误,但是当我在没有 Valgrind 的情况下运行它时,我没有遇到任何问题或分段错误。瓦尔格林问题?添加时出现段错误 11
我该如何解决这个问题?
c++ - 我可以写入关闭的套接字并强制纠正损坏的管道错误吗?
我有一个在大量处理器上运行的应用程序。在处理器 0 上,我有一个函数可以在套接字打开时将数据写入套接字。此函数在处理器 0 上的单独线程中循环运行,即处理器 0 负责自己的工作负载,并有一个额外的线程在套接字上运行通信。
当客户端套接字关闭时,程序应该忽略错误,据我所知,这是标准行为。
但是,我正在使用一个外部库 (PETSc),它以某种方式检测管道损坏错误并关闭整个并行 (MPI) 环境:
如果可能的话,我想完全不改变这个库的配置。对任何可能的强大解决方法持开放态度。
c - 并行计算在 C 中使用 Petsc
我学习如何在 C 中使用 Petsc,我想在 Petsc 中用 KSP 求解线性系统(在 Ax=b 中找到 x,A 是矩阵(nxn),b 是向量(n))。该库提供了一些在 C 中计算并行的工具。但是,我遇到了麻烦并找到了答案,希望得到您的解释。
如果我使用大小为 5000x5000 的 A(A 是对角占优矩阵),当我在没有并行的情况下解决问题时,需要更长的时间来解决。我不明白这个问题。你能给我解释一下,以及如何做一些事情来跑得更快吗?
我在 test.c 中的代码如上所示:
我用命令运行程序:
python - 使用 pip 在 Anaconda 中安装 petsc4py 以指示外部 PETSc 目录
一)问题
我无法petsc4py
在我的 Anaconda 环境中使用pip
.
安装conda
不起作用,因为它不会在安装过程中检查我预定义的 PETSC_DIR 和 PETSC_ARCH 环境变量。numpy
并cython
安装。
错误输出pip install
显示在下面的第IV节中。
二)版本
我有 Ananconda 2020.02,安装了 Python 3.7。我的操作系统是 Ubuntu 18.04。
III) 重现问题
1) 用户安装OpenMPI 4.0.3
配置使用
然后make
和make install
。
将.openmpi/bin
文件添加到 PATH 并添加.openmpi/lib
到 LD_LIBRARY_PATH:
2) 安装PETSc 3.13
配置指示mpicc
和下载 blas/ mpifort
lapack /home/$USER/.openmpi/bin
、scalapack、MUMPS、METIS、PARMETIS 和 PTSCOTCH,使用 -O2 编译器优化(注意:我将 MKL 用于 blas/lapack 和 scalapack)。还要在 中指明PETSC_DIR
文件夹位置和PETSC_ARCH
名称./configure
。我选择了没有 C++ 编译器的选项。
然后make all
和make check
。我也做了一个make test
,花了很长时间。没有失败,只有成功,跳过和去做。
export
PETSC_DIR
和PETSC_ARCH
(对 很重要pets4py
)。
3)mpi4py
使用安装pip
根据 Iliev在 Stack Overflow 的此链接中提供的对我的问题的回答,我使用 安装了这个pip
,因为在指示自定义 mpicc 路径时mpi4py
无法安装使用。conda
4)尝试petsc4py
使用安装pip
我使用 --no-cache-dir 编写:
构建失败。终端中显示的信息将在下一节中显示。
四)错误
错误如下所示。
(额外的元问题:有没有办法在 Stack Overflow 的代码围栏中设置自动换行符?)
linux - 安装petcs时出现错误。如何解决?
电脑配置:我的电脑是maosx系统,在虚拟机安装ubuntu,原系统安装天梯(VPN),Linux没有安装成功天梯(VPN)。
环境配置:在虚拟机中安装petsc,下载petsc软件包解压,安装GCC,gfortran,之前分别下载MPI和BLAS/LAPACK,但是安装MPI的时候出现错误。.
命令行执行,结果显示无法从网站下载MPI(我试过下载url,安装梯子(VPN)后可以下载。下面是输入命令和结果:
按照提示:提前下载mpich包。我了解存放mpich包的位置,但结果显示我的下载位置无效。是不是我选的位置不对?下面是我的第二条输入命令和结果,请大家帮我看看哪里有问题。
相反,我直接进入配置命令行。/configure 阶段完成。现在构建 PETSc 库
我尝试将 GCC 升级到最新版本,但没有任何改变
python - 在 Windows 上安装 Petsc
我用 python、make 和 diffutils 安装了 cygwin。
当我使用命令时:
我收到错误“检测到 Windows Python。请使用 cygwin-python 重新运行 ./configure ”。
如果我在 cygwin 命令行中使用该命令
我收到以下运行时错误:
欢迎任何帮助。
openmdao - 使用带有 OpenMDAO 的 pyoptsparse 驱动程序访问 NSGA2 种群大小
我正在尝试通过 OpenMDAO 的 pyoptsparse 驱动程序使用 NSGA2 优化器来修改 GA 人口大小。
我尝试使用字典进行访问PopSize
,如下所示:pyNSGA2.py
opt_settings
但是,这会导致分段错误,消息如下:
是否有不同的方法来访问应该使用而不是opt_settings
字典的 NSGA2 优化器的选项?我对 Python 比较陌生,所以我也怀疑我的语法也可能不正确。
更新:
对于更多的上下文,我尝试在没有 PETSC 的情况下运行。优化在没有尝试更改的情况下成功PopSize
,但是Segmentation fault
在尝试更改时它崩溃了PopSize
。跟踪错误,我相信分段错误的根源在pyoptsparse/pyNSGA2/source/crossover.c
,根据下面的消息
我还尝试在新机器上全新安装 PETSC,但这让我又回到了同样的错误。
macos - 尝试通过 MacOS 终端编译:“没有这样的文件或目录”
我正在尝试从 DTU 编译这个项目。该项目需要安装PETSc。
我已将 PETSc 安装到/Users/hornymoose/petsc-3.13.3/
我已经从 GitHub 中提取了 zip 到/Users/hornymoose/dtu
DTU 项目makefile
有以下几行:
在这些行中,{PETSC_DIR}
被替换为用户的 PETSc 安装目录。因此,我将这些行更改为:
为了编译代码,我make topopt
在终端中编写。这样做会产生:
我已经回去手动检查了Users/hornymoose/petsc-3.13.3/lib/petsc/conf/variables
, ...rules
, 并且...test
肯定存在并且没有错误。
为什么我会收到此错误?我是否在我的 中错误地指示了目录makefile
?中的语法makefile
不正确吗?
我确信有一个简单的解决方案,我对在 MacOS 中使用终端非常陌生。先感谢您!
c - 如何将 PETSc Vec 数组传递给函数
我正在尝试将PETSc 中的 Vec数组传递给一个函数,在内部对其进行修改并检索结果。伪代码如下:
我确实收到了来自编译器的一条消息,指出variable "y" is used before its value is set
,但我看不到如何通过引用传递这些人。VecDuplicateVecs
必须在main中初始化吗?