问题标签 [pgi-visual-fortran]

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.

0 投票
2 回答
141 浏览

fortran - 将数组声明为序列的编译时警告

MPI通过引用数组的第一个值将数组传递给调用时,我遇到了编译时警告。考虑以下示例代码,这是我能得到的最精简的代码:

请注意,我MPI_REDUCE只传递了 的第一个元素,inputoutput使用了 的计数N,即(在本例中)数组的完整大小。值得注意的是,像这样引用数组部分可能不是最佳实践,但无论如何我都在这样做。

我得到以下编译器警告和运行时输出:

我收到 PGI 14.3/OpenMPI 1.8.0 或 PGI 15.5/OpenMPI 1.8.6 的警告。我没有收到 PGI 12.9/OpenMPI 1.6.2、PGI 14.3/OpenMPI 1.6.5 或 Intel 14.0/OpenMPI 1.8.0 的警告。

据我了解,这sequence是一个仅影响派生数据类型的关键字,input这里output是纯整数。此外,这些是一维数组 - 它们是否必须是连续的?

我的问题是:这里发生了什么?我可以(并且应该)将整数声明为序列吗?

编辑 1按照 francescalus 的建议,我尝试将虚拟数组定义为contiguous. 我已经添加contiguousinput论点并询问了 main 和 sub 的连续性(这是一个词吗?)input并在其中output使用is_contiguous。我没有重新发布整个代码,而是编辑了上面显示的原始代码。不幸的是,我仍然收到相同的编译器警告。此外,该contiguous属性似乎没有做任何事情,因为is_contiguous在子例程中报告了 falseinputoutput

contiguous是否正确使用了该属性?input要求和output成为似乎是合理的contiguous,但不是sequence。也许我应该PGI直接报告这个问题,特别是现在我在一个相当新的版本上遇到了这个问题pgfortran

0 投票
0 回答
62 浏览

fortran - 我可以在 PGI Visual Fortran 2015 中分析普通/顺序(非并行)fortran .f90 文件吗?我只有 f90 文件,没有可执行文件

如何在 PGI Visual Fortran 2015 中分析 fortran .f90 文件?我的项目中只有 f90 文件,没有可执行文件。

0 投票
1 回答
395 浏览

cuda - Fortran 上的 CuSolver 稀疏接口

我正在尝试编写一个程序来将 cusolverSp 连接到 fortran。尽管我对用 C 编写 cuda 并不陌生,但我不确定如何在 fortran 上使用它。

以下是我的代码:

我构建期间的当前错误是

错误 S0188:参数号 # 到 cusolverspcreate/etc:类型不匹配

我不知道如何解决它。该程序是对工作 cusolverDn 的修改,我确信这意味着我犯了很多错误,因为我可以参考的接口示例并不多。

0 投票
0 回答
561 浏览

python - forrtl 严重(193):运行时检查失败。变量 \'TRNSYSFUNCTIONS_mp_GETOUTPUT VALUE$GETOUTPUT VALUE\' 正在使用但未启动

我正在尝试使用 pyFMI 模拟从 TRNSYS 创建的 FMU。当我尝试模拟它时,它会提示以下消息:

“forrtl 严重(193):运行时检查失败。变量 \'TRNSYSFUNCTIONS_mp_GETOUTPUT VALUE$GETOUTPUT VALUE\' 正在使用而未启动”

我的代码如下所示:

任何人都可以预测错误的原因。好像有初始化错误。

0 投票
0 回答
317 浏览

windows - 在 Windows 的 PGI 上安装 gfortran

我正在尝试学习 Fortran 进行研究并选择使用 PGI 社区版 2015。我已经安装了必要的 Visual Studios/其他软件包,以便编译器工作。由于 PGI 使用了一些 Cygwin 组件,我如何下载以下软件包以便将其安装到 PGI 编译器中?说:

https://cygwin.com/packages/x86_64/mingw64-i686-gcc-fortran/?C=D;O=A

https://cygwin.com/packages/x86_64/make/

我不知道正确的术语,但我将如何使用这些文件并将它们导入编译器(使用“make”命令)。您是否还可以提供有关如何执行此设置的示例代码,就像我执行 gfortran --version 时一样,没有检测到任何内容。

0 投票
1 回答
622 浏览

fortran - 使用 PGI Visual Fortran 编译 MPI 时未解析的外部符号 MPI_INIT

我正在使用 Visual Fortran,我正在尝试使用 MPI 实现一个非常简单的代码。

在我定义了库并完成了许多我在许多博客中发现的步骤后,我遇到了这个错误:

“错误 1 ​​错误 LNK2019:函数 MAIN__ hello_world.obj 中引用的未解析外部符号 MPI_INIT”

这是什么原因以及如何克服它?

0 投票
0 回答
254 浏览

visual-studio - 创建新项目 Visual Studio 2015 和 PGI Visual Fortran

我已经在我的机器上安装了 Visual Studio 和 PGI Visual Fortran 18.5。安装很顺利,但是当我尝试在 Visual Studio 上创建一个新项目时,我收到以下错误:

在此处输入图像描述

有谁知道发生了什么?

0 投票
1 回答
67 浏览

fortran - 空数组的边界检查——各种编译器的行为

更新20210914:Absoft 支持确认下面描述的af95/的行为af90是无意的,确实是一个错误。Absoft 开发人员将努力解决它。其他编译器在这方面表现正确。感谢@Vladimir F 的回答、评论和建议。


我的印象是,对于大小为 0 的数组,Fortran 很酷。但是,在 Absoft Pro 21.0 中,我遇到了一个涉及此类数组的(奇怪的)错误。相反,gfortranifortnagforpgfortransunf95g95都对同一段代码感到满意。

下面是一个最小的工作示例。

将这段代码命名为testempty.f90. 然后运行

这就是我的机器上发生的事情(Ubuntu 20.04,linux 5.4.0-77-generic,x86_64):

所以af95很恼火call bar(b)。,af90结果是一样的。

gfortran我使用, ifort, nagfor, pgfortran,sunf95和测试了相同的代码g95。尽管我明确实施了边界检查,但他们所有人都对代码感到非常满意。下面是Makefile用于测试的。

问题:

  1. af95/的行为是否af90符合标准?
  2. 我的代码是否包含任何违反 Fortran 标准的内容?
  3. 一般来说,在 Fortran 代码中涉及空数组是否被认为是危险的?有时它们是不可避免的,因为数据大小在运行前通常是不可确定的。

“标准”是指 2003 年、2008 年和 2018 年。

非常感谢您的任何评论或批评。

(同样的问题也出现在Fortran Discourse上,我希望它不会违反这里的规则。)