13得票4回答
使用MPI,从Fortran程序向Python发送数据是否可行?

我正在开发一个模拟波浪能转换器的工具,需要将两个软件包耦合起来。其中一个程序是用Fortran编写的,另一个程序是用C++编写的。我需要在每个时间步骤将信息从Fortran程序发送到C++程序。但是,在将数据发送到C++程序之前,需要首先在Python中对其进行处理。我收到了使用MPI在程序之...

13得票2回答
在Fortran中获取免费的单元编号

我需要开发一个打开文件并解析内容的库。由于Fortran IO样式的原因,单元号必须由我决定,但我不知道客户端代码中是否有其他单元已经被使用。是否有类似 give_me_any_unit_number_that_is_free() 的标准函数可用?

10得票2回答
Fortran 2008中的并行化“do concurrent”系统化,可能使用OpenMP。

Fortran 2008的do concurrent结构是一个循环,告诉编译器每次迭代之间互不影响,因此可以安全地进行并行化。 一个有效的例子:program main implicit none integer :: i integer, dimension(10) :: ar...

21得票3回答
如何在Fortran中将可分配数组传递给子程序

以下代码返回了一个分段错误,因为我尝试传递的可分配数组未被正确识别(大小应为3,但返回1)。在这个页面(http://www.eng-tips.com/viewthread.cfm?qid=170599)中,类似的示例似乎表明它应该在F95中正常工作;我的代码文件扩展名为.F90,但我尝试将其...

148得票8回答
BLAS如何获得如此极致的性能?

出于好奇,我决定对比一下自己的矩阵乘法函数和BLAS实现...结果让我大吃一惊: Custom Implementation, 10 trials of 1000x1000 matrix multiplication: Took: 15.76542 seconds. BLAS Imp...

14得票2回答
Fortran中的纯子例程 - 编译器优化

我最近发现Fortran中纯函数和子程序的用法。根据Fortran手册所示,似乎我的大多数子程序实际上都可以定义为纯函数(因为我总是指定所有参数的意图,并且通常在大多数子程序中没有"save"、"pause"或外部I/O)。 那么我的问题是:我应该这样做吗?我想知道编译器是否优化纯函数更好,还...

8得票2回答
F2PY错误:可分配数组问题

我有一个Fortran子程序,我想在Python中使用它。 subroutine create_hist(a, n, dr, bins, hist) integer, intent(in) :: n real(8), intent(in) :: a(n) real(8...

9得票1回答
Fortran元素函数 vs 元素子程序

Fortran允许元素子程序具有intent(inout)和intent(out)参数,但仅允许元素函数具有intent(in)。 为什么会这样呢?这只是一种风格惯例,还是在调用函数和调用子程序方面有一些普遍不同的东西呢? 换句话说, Elemental Integer Function...

7得票1回答
Fortran:在“select type”子句中使用带参数派生类型

我正在尝试在子程序中使用带参数派生类型,使用无限多态指针。 是否可以使用“select type”子句来处理参数化类型? 我尝试了以下类似的代码,但是出现了编译错误。(在TYPE附近有语法错误) module mod_real implicit none type :: ty...

41得票1回答
如何为 Android NDK8b(x86 架构 Android)构建 i686-linux-android-gfortran?

我尝试使用build-gcc.sh构建i686-linux-android-gfortran,按照this(适用于androdindk-7b)的说明操作,但是我遇到了关于link.h的错误。我从here添加了link.h,但是它引发了更多的错误。 有人尝试启用i686-linux-andro...