Matlab配置Fortran编译器

matlab计算遇到了瓶颈,但想要提高计算效率,就要结合其他语言编程,Fortran语言是一个不错的选择。然而,matlab配置Fortran过程中遇到了很多问题,好在最终也成功了,现在分享一下心得。本人使用的是Matlab2021b和Intel API2024+visual studio 2019

Visual Studio 2019安装

        首先是安装visual studio。 我一开始使用的是visual studio 2022版的,但是后来发现这个版本问题太多了,始终实现不了matlab和Fortran进行配置,于是尝试选用2019版本的,结果成功了。2019版本的下载地址如下:Visual Studio 2019 版本 16.11 发行说明 | Microsoft Learn

我是下载community版的。然后具体安装过程可以参考这个大佬的:visual studio 2019安装教程(详细的很)_vs2019安装教程-CSDN博客

注意:visual studio2019安装过程中,一定要勾选使用C++桌面开发,不然安装了Intel API2024后还是看不到Fortran语言一栏

Intel API2024 安装

接下来是Intel API2024的安装,可以参考下面这位博主的:

Windows11安装oneAPI和Visual Studio 2022配置Fortran并行环境_visual studio fortran-CSDN博客

 下载地址如下:

 Download the Intel® oneAPI Base ToolkitDownload the Intel® HPC Toolkit

最后打开Visual Studio 2019,可以看到Fortran一项。

注意:先装 Visual Studio 2019后装Intel API2024

matlab配置Fortran

Matlab利用mex -setup FORTRAN语句配置FORTRAN编译器

但是也遇到了下面这位博主的情况:

解决Matlab配置Fortran编译器时mex -setup FORTRAN遇到找不到已安装的编译器问题_找不到已安装的编译器 'intel parallel studio xe 2020 for fort-CSDN博客

MATLAB R2022a: MEX does not support intel fortran OneApi 2022 - MATLAB Answers - MATLAB Central (mathworks.cn)

他的思路给了我很大的启发:那就是添加 intel_fortran_22_vs2022.xml文件。但是我是用的是Intel API2024+visual studio 2019,所以需要找到 intel_fortran_24_vs2019.xml文件,这个文件matlab2021b是没有的。具体长这样:

<?xml version="1.0" encoding="UTF-8" ?>
<config
    Name="Intel oneAPI 2024 for Fortran with Microsoft Visual Studio 2019"
    ShortName="INTELF24MSVS2019"
    Manufacturer="Intel"
    Version="24.0"
    Language="FORTRAN"
    Priority="X"
    Location="$FORTRANROOT" >
    <Details
        CompilerExecutable="$COMPILER"
        CompilerDefines="$COMPDEFINES"
        CompilerFlags="$COMPFLAGS"
        OptimizationFlags="$OPTIMFLAGS"
        DebugFlags="$
### OneAPI 2024.2 发布说明与特性 OneAPI 2024.2 是 Intel 推出的一个重要更新版本,旨在提供更强大的异构计算支持和优化工具链。此版本引入了一系列新特性和改进,以满足开发者对于高性能计算的需求。 #### 新增功能和支持 - **增强的跨架构编程模型**:该版本进一步增强了 DPC++ 编程语言的支持,允许开发人员编写可以在 CPU、GPU 和 FPGA 上运行的应用程序[^4]。 - **性能提升**:通过集成最新的编译器技术和库函数优化,应用程序的整体执行效率得到了显著提高。特别是针对机器学习工作负载进行了特别调优[^5]。 - **调试与分析工具集扩展**:新增加了多个用于性能剖析以及错误检测的功能模块,帮助用户更好地理解和解决复杂问题[^6]。 #### 工具链组件更新 - **Intel® oneAPI Math Kernel Library (oneMKL)**:提供了经过高度优化的线性代数子程序和其他数学运算接口,在科学工程领域有着广泛应用价值[^7]。 - **Data Parallel C++ (DPC++) Compiler**:作为核心组成部分之一,此次发布的编译器不仅兼容 OpenCL™ 设备代码生成路径,还增加了对更多硬件平台的支持[^8]。 ```cpp // 示例代码展示如何利用 Data Parallel C++ #include <CL/sycl.hpp> using namespace sycl; int main() { queue myQueue; buffer<int, 1> dataBuf(range<1>(10)); myQueue.submit([&](handler &h) { auto acc = dataBuf.get_access<handler::access_mode::write>(h); h.parallel_for<class WorkItem>(range<1>(10), [=](id<1> i) { acc[i] = static_cast<int>(i[0]); }); }); return 0; } ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值