使用 mpi 和 mkl 在 Fortran 中进行矩阵乘法
我遇到的问题主要与 MPI 有关。我已经开发了使用 Fortran 中的 mpi 和 mkl 来乘以两个矩阵的代码。它给出了正确的输出,但问题是,如果我增加计算的处…
if (any(foo == (/1,2,3,4/)) 而不是 if ((foo == 1).or.(foo == 2).or. ...?
我有很多 if 语句,内容类似于 if ((foo == 1).or.(foo == 2).or.(foo == 3).or.(foo == 4)) then call bar1 end if if ((foo == 3).or.(foo == 4).or…
Fortran 中变量取值 E-318 的含义
我正在 Fortran 90 中执行一些计算。特定变量(声明为隐式双精度)正在获取类似 -1.0420437349566899E-318 的值。起初,我忽略了它,假设它可能只是零…
当我想更改工作目录时 Fortran 编译错误
在 Fortran 子例程中,我想更改工作目录并使用 CHDIR("/new/work/directory") ,但出现编译错误 error #5082: Syntax error, found END-OF-STATEMENT …
为什么节点零不会执行一些写入日志文件的语句
我有一个生产作业,通过 OPENMPI 使用两个节点(0=主节点和 1=从节点),并通过 OPENMP 使用每个节点上的所有线程。 我在master上提交了作业。 作业在…
OpenMP + Apple M1 上的 Fortran 比 MPI+Fortran 慢
我有一台配备 Apple M1 Max 处理器(总共 10 个核心)的新 MacBook Pro,运行操作系统 12.2.1。我使用 Homebrew 来安装 gcc: ~/homebrew/bin/gcc-11 …
读取文件并根据另一个文件更改编号
我知道如何更改一个文件中文本中的数字,但我需要使用这样的表格(假设 file=word): 1 # K 2 # L 3 # M 并在另一个文件 text.dat 中: 1 1 1 2 1 3 …
为 FreePascal / Lazarus 包装 Fortran 库
我想使用 DIERCKX 库(用 Fortran 编写)的一些例程)在 FreePascal 中使用 Lazarus 编写的程序中。由于我对 Lazarus 完全陌生,我想知道该走哪条路:…
在 Fortran 中调用子例程(分段错误)
以下代码在 Linux 系统上使用 pgf90 编译时出现分段错误,而在 Windows 上使用 Intel Visual FORTRAN 时运行成功。 program main implicit none integ…
如何使用 C# 解析科学格式的双精度数
我从 FORTRAN 程序中输出了以下格式的数字: 0.12961924D+01 如何使用 C# 将其解析为双精度? 我尝试了以下方法但没有成功: // note leading space, …
Fortran 90 中的优化例程
我正在 Windows 7 机器上使用 gfortran 编译器在 Fortran 90 中进行(尝试进行)数值优化。我有一个由其他人预先编写的函数,在传入大量参数(总共约 …