Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 编译将“英特尔MKL”模块与gfortran结合使用的代码_Macos_Fortran_Gfortran_Intel Mkl - Fatal编程技术网

Macos 编译将“英特尔MKL”模块与gfortran结合使用的代码

Macos 编译将“英特尔MKL”模块与gfortran结合使用的代码,macos,fortran,gfortran,intel-mkl,Macos,Fortran,Gfortran,Intel Mkl,我想使用gfortran编译一些使用Mac上英特尔MKL库中的mlk_vsl.f90的代码 我正在做以下工作: gfortran-o filename.f90-I/${MKLROOT}/include 我得到了这个错误: "Can't open module file 'mkl_vsl_type.mod" for reading at (1): No such file or directory" 我知道我必须创建.mod文件,但我不确定如何创建。您的编译方法正确(如果添加-c)。一些建议:

我想使用
gfortran
编译一些使用Mac上英特尔MKL库中的
mlk_vsl.f90
的代码

我正在做以下工作:
gfortran-o filename.f90-I/${MKLROOT}/include

我得到了这个错误:

"Can't open module file 'mkl_vsl_type.mod" for reading at (1): No such file or directory"

我知道我必须创建
.mod
文件,但我不确定如何创建。

您的编译方法正确(如果添加
-c
)。一些建议:

  • 尝试添加
    -fno range check
    ,这是使gfortran正确编译mkl_vsl模块所必需的(.mod文件在编译主程序时自动创建)
  • 不知道为MKLROOT设置了什么,您可能会有一个额外的反斜杠;尝试
    -I${MKLROOT}/include

  • 然而,为了链接,您可能需要额外的库。查看如何链接的最简单方法是查看MKLROOT dir
    mkl/examples/vslf/source
    中的一个示例,其中包含使用mkl_vsl的源文件。在
    mkl/examples/vslf
    中有一个makefile,您可以运行它来生成可执行文件并打印链接行。使用
    生成帮助
    了解更多信息。例如,要使用gfortran和静态链接编译vslssort.f,请执行以下操作:
    make libintel64 compiler=gnu function=vslssort
    。请注意两个注意事项:链接行使用
    libmkl\u intel\u thread.a
    而不是
    libmkl\u gnu thread.a
    ,并且它使用-J标志将创建的.mod文件放在链接之前必须创建的不同目录中。

    是否有包含接口的MKL源代码,从中创建
    .mod
    文件?mkl_vsl.f90包含哪些内容?它是否包含
    mkl\u vsl\u类型
    模块?请注意,有关MKL的确切链接说明,请参见英特尔网站。你可以选择几个选项,网站会给你正确的命令。