当前位置: 首页 > news >正文

wordpress 链接主题20条优化措施

wordpress 链接主题,20条优化措施,陕西建设教育培训网,广州网站推广电话MATLAB R2023b配置Fortran编译器 引言1. 安装Visual Studio 20192. 安装Intel API20243. 配置xml文件文件4. 设置环境变量5. MATLAB编译Fortran 引言 当我们需要用到MATLAB编译Fortran代码后进行调用计算时,整个配置流程较繁琐。下面以MATLAB R2023b为例&#xff0…

MATLAB R2023b配置Fortran编译器

  • 引言
  • 1. 安装Visual Studio 2019
  • 2. 安装Intel API2024
  • 3. 配置xml文件文件
  • 4. 设置环境变量
  • 5. MATLAB编译Fortran

引言

当我们需要用到MATLAB编译Fortran代码后进行调用计算时,整个配置流程较繁琐。下面以MATLAB R2023b为例,介绍配置Fortran编译器的流程以及中间可能遇到的问题。
我的版本:
MATLAB R2023b:”https://mp.weixin.qq.com/s/KclU24GCUQj70j1s_cqE2g“
Visual Studio 2019:”https://mp.weixin.qq.com/s/Pc5U7lBrhUq06MYj6hSJWw“,(或:”https://learn.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes”)
w_BaseKit_p_2024.2.1.101_offline.exe:”https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html“
w_BaseKit_p_2024.2.1.101_offline.exe:”https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit-download.html“

1. 安装Visual Studio 2019

我尝试了使用Visual Studio 2022进行配置,但是出现了在MATLAB中使用MEX -setup命令,能够正常显示编译器,但是在使用MEX编译Fortran代码时出现了“错误使用 mex ‘ifx’ 不是内部或外部命令,也不是可运行的程序 或批处理文件”的提示,具体原因可能是”G:\Program Files (x86)\Intel\oneAPI\compiler\2024.2\bin“文件夹中的ifx.exe不能识别,未找到解决办法。因此就选择卸载VS2022,重新安装VS2019。

VS2019安装包在如下链接可以下载:https://mp.weixin.qq.com/s/Pc5U7lBrhUq06MYj6hSJWw

但是在下载的过程中又出现了下载速度贼慢的问题。后来按照网上检索的一个修改hosts的办法,亲测有效,如果没有遇到这个问题可直接跳过,进行第2步
1.使用DNS查找工具网站”https://tool.chinaz.com/dns/?type=1&host=download.visualstudio.microsoft.com&ip=“,查询微软的下载网站的域名 download.visualstudio.microsoft.com 找到TTL最低的那个节点。
在这里插入图片描述
2.找到TTL值最小的那个节点,复制IP地址,在我这里对应的最小IP就是 103.208.44.30。如下所示:
在这里插入图片描述
3.以记事本形式,打开”C:\Windows\System32\drivers\etc“文件夹下的hosts文件,在hosts里加入 IP地址+微软的下载网站的域名
在这里插入图片描述
这里可能需要另存后,再复制粘贴进这个文件夹里。
在这里插入图片描述
3.打开cmd,刷新dns,然后在ping一下微软的下载地址,查看hosts文件有没有生效。具体步骤如下:
(1)在cmd中输入ipconfig /flushdns 刷新dns
(2)ping微软的下载地址,在cmd中输入:
ping download.visualstudio.microsoft.com
(3)若没有丢包,且往返时间很小,则说明我们的hosts文件生效。
在这里插入图片描述
经过上述操作,VS2019的下载速度会非常快。
安装流程完全按照”https://mp.weixin.qq.com/s/Pc5U7lBrhUq06MYj6hSJWw“所提供的步骤来就行了。

2. 安装Intel API2024

  1. 先安装the Intel® oneAPI Base Toolkit:”https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html“
  2. 再安装the Intel® HPC Toolkit:”https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit-download.html“
  3. 安装步骤很简单,修改安装路径,其他默认即可。
  4. 最后打开Visual Studio 2019,看到Fortran一项即说明安装配置成果。
    在这里插入图片描述

3. 配置xml文件文件

然后,需要添加intel_fortran_24_vs2019.xml文件。由于我用的是Intel API2024+visual studio 2019,所以在我的MATLAB安装路径”G:\MATLAB R2023b\bin\win64\mexopts“下需要有intel_fortran_24_vs2019.xml文件,这个文件matlab2023b是没有的。可将下面代码复制粘贴到记事本,再重命名为”intel_fortran_24_vs2019.xml“即可:

<?xml version="1.0" encoding="UTF-8" ?>
<configName="Intel oneAPI 2024 for Fortran with Microsoft Visual Studio 2019"ShortName="INTELF24MSVS2019"Manufacturer="Intel"Version="24.0"Language="FORTRAN"Priority="X"Location="$FORTRANROOT" ><DetailsCompilerExecutable="$COMPILER"CompilerDefines="$COMPDEFINES"CompilerFlags="$COMPFLAGS"OptimizationFlags="$OPTIMFLAGS"DebugFlags="$DEBUGFLAGS"IncludeFlags="$INCLUDE"LinkerExecutable="$LINKER"LinkerFlags="$LINKFLAGS"LinkerLibraries="$LINKLIBS"LinkerDebugFlags="$LINKDEBUGFLAGS"LinkerOptimizationFlags="$LINKOPTIMFLAGS"CommandLineShell="$FORTRANROOT\env\vars.bat "CommandLineShellArg="intel64"CompilerDefineFormatter="/D%s"LinkerLibrarySwitchFormatter="lib%s.lib;%s.lib"LinkerPathFormatter="/LIBPATH:%s"LibrarySearchPath="$$LIB;$$LIBPATH;$$PATH;$$INCLUDE;$MATLABROOT\extern\lib\$ARCH\microsoft"/><!-- Switch guide: http://msdn.microsoft.com/en-us/library/fwkeyyhe(v=vs.71).aspx --><varsCMDLINE100="$COMPILER /c $COMPFLAGS $OPTIM $SRC /Fo$OBJ"CMDLINE200="$LINKER $LINKFLAGS $LINKTYPE $LINKOPTIM $LINKEXPORTVER $OBJS $LINKLIBS /out:$EXE"CMDLINE300="del $EXP $LIB $ILK"
FORTRANROOT="$ONE_API_ROOT/compiler/$ONE_API_VERSION"
COMPILER="ifx.exe"
COMPFLAGS="/nologo /fpp /fixed /MD /fp:source /assume:bscc $INCLUDE  $COMPDEFINES"
COMPDEFINES="/DMATLAB_MEX_FILE"
MATLABMEX=" /DMATLAB_MEX_FILE"
OPTIMFLAGS="/O2 /DNDEBUG"
INCLUDE="-I&quot;$MATLABROOT\extern\include&quot;"
DEBUGFLAGS="/Z7"LINKER="link"
LINKFLAGS=" /nologo  /INCREMENTAL:NO"
LINKTYPE="/DLL"
LINKEXPORT="/EXPORT:MEXFUNCTION"
LINKEXPORTVER="/EXPORT:MEXFUNCTION /EXPORT:MEXFILEREQUIREDAPIVERSION"
LINKLIBS="/LIBPATH:&quot;$MATLABROOT\extern\lib\$ARCH\microsoft&quot; libmx.lib libmex.lib libmat.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib"
LINKDEBUGFLAGS="/debug /PDB:&quot;$TEMPNAME$LDEXT.pdb&quot;"
LINKOPTIMFLAGS=""OBJEXT=".obj"
LDEXT=".mexw64"
SETENV="set COMPILER=$COMPILERset COMPFLAGS=/c $COMPFLAGS $COMPDEFINES $MATLABMEXset OPTIMFLAGS=$OPTIMFLAGSset DEBUGFLAGS=$DEBUGFLAGSset LINKER=$LINKERset LINKFLAGS=$LINKFLAGS /export:%ENTRYPOINT% $LINKTYPE $LINKLIBS $LINKEXPORTset LINKDEBUGFLAGS=/debug /PDB:&quot;%OUTDIR%%MEX_NAME%$LDEXT.pdb&quot;set NAME_OUTPUT=/out:&quot;%OUTDIR%%MEX_NAME%%MEX_EXT%&quot;"
/><client><engineCMDLINE300="if exist $ILK del $ILK"LINKLIBS="$LINKLIBS libeng.lib"LINKEXPORT="/subsystem:console"LINKEXPORTVER="/subsystem:console"LDEXT=".exe"LINKTYPE=""MATLABMEX=""/></client><locationFinder><ONE_API_ROOT><envVarExists name="ONEAPI_ROOT" /></ONE_API_ROOT><ONE_API_VERSION><and><envVarExists name="ONEAPI_ROOT" /><cmdReturns name ="echo off &amp; (for /f %a IN ('dir &quot;$$\compiler\2024*&quot; /b /ad /on') do (@if exist &quot;$$\compiler\%a\bin\ifx.exe&quot; set &quot;oneapiVer=%a&quot;)) &amp; (@if defined oneapiVer call echo %oneapiVer%)"/></and></ONE_API_VERSION><VCROOT><or><and><envVarExists name="ProgramFiles(x86)" /><fileExists name="$$\Microsoft Visual Studio\Installer\vswhere.exe" /><cmdReturns name="&quot;$$\\vswhere.exe&quot; -version &quot;[16.0,17.0)&quot; -products Microsoft.VisualStudio.Product.Enterprise -property installationPath -format value" /><cmdReturns name="set &quot;vcroot=$$&quot;&amp;for /f &quot;delims= &quot; %a in ('type &quot;$$\VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt&quot;') do @if exist &quot;$$\VC\Tools\MSVC\%a\bin\HostX64\x64\cl.exe&quot; call echo %vcroot%" /></and><and><envVarExists name="ProgramFiles(x86)" /><fileExists name="$$\Microsoft Visual Studio\Installer\vswhere.exe" /><cmdReturns name="&quot;$$\\vswhere.exe&quot; -version &quot;[16.0,17.0)&quot; -products Microsoft.VisualStudio.Product.Professional -property installationPath -format value" /><cmdReturns name="set &quot;vcroot=$$&quot;&amp;for /f &quot;delims= &quot; %a in ('type &quot;$$\VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt&quot;') do @if exist &quot;$$\VC\Tools\MSVC\%a\bin\HostX64\x64\cl.exe&quot; call echo %vcroot%" /></and><and><envVarExists name="ProgramFiles(x86)" /><fileExists name="$$\Microsoft Visual Studio\Installer\vswhere.exe" /><cmdReturns name="&quot;$$\\vswhere.exe&quot; -version &quot;[16.0,17.0)&quot; -products Microsoft.VisualStudio.Product.Community -property installationPath -format value" /><cmdReturns name="set &quot;vcroot=$$&quot;&amp;for /f &quot;delims= &quot; %a in ('type &quot;$$\VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt&quot;') do @if exist &quot;$$\VC\Tools\MSVC\%a\bin\HostX64\x64\cl.exe&quot; call echo %vcroot%" /></and></or></VCROOT><SDKROOT><or><hklmExists path="SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0" name="InstallationFolder" /><hkcuExists path="SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0" name="InstallationFolder" /><hklmExists path="SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0" name="InstallationFolder" /><hkcuExists path="SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0" name="InstallationFolder" /></or></SDKROOT><VSINSTALLDIR><or><and><envVarExists name="ProgramFiles(x86)" /><fileExists name="$$\Microsoft Visual Studio\Installer\vswhere.exe" /><cmdReturns name="&quot;$$\\vswhere.exe&quot; -version &quot;[16.0,17.0)&quot; -products Microsoft.VisualStudio.Product.Enterprise -property installationPath -format value" /></and><and><envVarExists name="ProgramFiles(x86)" /><fileExists name="$$\Microsoft Visual Studio\Installer\vswhere.exe" /><cmdReturns name="&quot;$$\\vswhere.exe&quot; -version &quot;[16.0,17.0)&quot; -products Microsoft.VisualStudio.Product.Professional -property installationPath -format value" /></and><and><envVarExists name="ProgramFiles(x86)" /><fileExists name="$$\Microsoft Visual Studio\Installer\vswhere.exe" /><cmdReturns name="&quot;$$\\vswhere.exe&quot; -version &quot;[16.0,17.0)&quot; -products Microsoft.VisualStudio.Product.Community -property installationPath -format value" /></and></or></VSINSTALLDIR><VCINSTALLDIR><or><and><envVarExists name="ProgramFiles(x86)" /><fileExists name="$$\Microsoft Visual Studio\Installer\vswhere.exe" /><cmdReturns name="&quot;$$\\vswhere.exe&quot; -version &quot;[16.0,17.0)&quot; -products Microsoft.VisualStudio.Product.Enterprise -property installationPath -format value" /><cmdReturns name="set &quot;vcroot=$$&quot;&amp;for /f &quot;delims= &quot; %a in ('type &quot;$$\VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt&quot;') do @if exist &quot;$$\VC\Tools\MSVC\%a\bin\HostX64\x64\cl.exe&quot; call echo %vcroot%\VC\Tools\MSVC\%a" /></and><and><envVarExists name="ProgramFiles(x86)" /><fileExists name="$$\Microsoft Visual Studio\Installer\vswhere.exe" /><cmdReturns name="&quot;$$\\vswhere.exe&quot; -version &quot;[16.0,17.0)&quot; -products Microsoft.VisualStudio.Product.Professional -property installationPath -format value" /><cmdReturns name="set &quot;vcroot=$$&quot;&amp;for /f &quot;delims= &quot; %a in ('type &quot;$$\VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt&quot;') do @if exist &quot;$$\VC\Tools\MSVC\%a\bin\HostX64\x64\cl.exe&quot; call echo %vcroot%\VC\Tools\MSVC\%a" /></and><and><envVarExists name="ProgramFiles(x86)" /><fileExists name="$$\Microsoft Visual Studio\Installer\vswhere.exe" /><cmdReturns name="&quot;$$\\vswhere.exe&quot; -version &quot;[16.0,17.0)&quot; -products Microsoft.VisualStudio.Product.Community -property installationPath -format value" /><cmdReturns name="set &quot;vcroot=$$&quot;&amp;for /f &quot;delims= &quot; %a in ('type &quot;$$\VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt&quot;') do @if exist &quot;$$\VC\Tools\MSVC\%a\bin\HostX64\x64\cl.exe&quot; call echo %vcroot%\VC\Tools\MSVC\%a" /></and></or></VCINSTALLDIR><VCVARSALLDIR><or><and><envVarExists name="ProgramFiles(x86)" /><fileExists name="$$\Microsoft Visual Studio\Installer\vswhere.exe" /><cmdReturns name="&quot;$$\\vswhere.exe&quot; -version &quot;[16.0,17.0)&quot; -products Microsoft.VisualStudio.Product.Enterprise -property installationPath -format value" /><fileExists name="$$\VC\Auxiliary\Build\vcvarsall.bat" /><dirExists name="$$"/></and><and><envVarExists name="ProgramFiles(x86)" /><fileExists name="$$\Microsoft Visual Studio\Installer\vswhere.exe" /><cmdReturns name="&quot;$$\\vswhere.exe&quot; -version &quot;[16.0,17.0)&quot; -products Microsoft.VisualStudio.Product.Professional -property installationPath -format value" /><fileExists name="$$\VC\Auxiliary\Build\vcvarsall.bat" /><dirExists name="$$"/></and><and><envVarExists name="ProgramFiles(x86)" /><fileExists name="$$\Microsoft Visual Studio\Installer\vswhere.exe" /><cmdReturns name="&quot;$$\\vswhere.exe&quot; -version &quot;[16.0,17.0)&quot; -products Microsoft.VisualStudio.Product.Community -property installationPath -format value" /><fileExists name="$$\VC\Auxiliary\Build\vcvarsall.bat" /><dirExists name="$$"/></and></or></VCVARSALLDIR><KITSROOT><or><hklmExists path="SOFTWARE\Wow6432Node\Microsoft\Windows Kits\Installed Roots" name="KitsRoot10" /><hkcuExists path="SOFTWARE\Wow6432Node\Microsoft\Windows Kits\Installed Roots" name="KitsRoot10" /><hklmExists path="SOFTWARE\Microsoft\Windows Kits\Installed Roots" name="KitsRoot10" /><hkcuExists path="SOFTWARE\Microsoft\Windows Kits\Installed Roots" name="KitsRoot10" /></or></KITSROOT><SDKVERSION><and><or><hklmExists path="SOFTWARE\Wow6432Node\Microsoft\Windows Kits\Installed Roots" name="KitsRoot10" /><hkcuExists path="SOFTWARE\Wow6432Node\Microsoft\Windows Kits\Installed Roots" name="KitsRoot10" /><hklmExists path="SOFTWARE\Microsoft\Windows Kits\Installed Roots" name="KitsRoot10" /><hkcuExists path="SOFTWARE\Microsoft\Windows Kits\Installed Roots" name="KitsRoot10" /></or><!-- For each folder inside '<KITSROOT>\include' check for 'ucrt' and if exists return that folder name --><cmdReturns name="echo off&amp;set &quot;sdkversion=&quot;&amp;(for /f %a IN ('dir &quot;$$\include\&quot; /b /ad-h /on') do ( @if exist &quot;$$\include\%a\ucrt\&quot; set &quot;sdkversion=%a&quot; ))&amp;call echo %sdkversion%" /></and></SDKVERSION></locationFinder><envPATH="$FORTRANROOT\bin;$VCINSTALLDIR\bin\HostX64\x64\;$VCROOT\Common7\IDE\VC\vcpackages;$VCROOT\Common7\IDE;$VCROOT\Common7\Tools;$SDKROOT\Bin\$SDKVERSION\x64;$SDKROOT\Bin\$SDKVERSION\x86;$SDKROOT\Bin\x64;$SDKROOT\Bin\x86;"INCLUDE="$FORTRANROOT\include;$VCINSTALLDIR\include;$VCINSTALLDIR\atlmfc\include;$KITSROOT\include\$SDKVERSION\ucrt;$KITSROOT\include\$SDKVERSION\shared;$KITSROOT\include\$SDKVERSION\um;$KITSROOT\include\$SDKVERSION\winrt;$MATLABROOT\extern\include"LIB="$FORTRANROOT\lib;$VCINSTALLDIR\lib\x64;$VCINSTALLDIR\atlmfc\lib\x64;$KITSROOT\Lib\$SDKVERSION\ucrt\x64;$KITSROOT\lib\$SDKVERSION\um\x64;$MATLABROOT\lib\$ARCH"LIBPATH="$FORTRANROOT\lib;$VCINSTALLDIR\lib\x64;$VCINSTALLDIR\atlmfc\lib\x64"/>
</config>

4. 设置环境变量

变量值是安装oneAPI地址
在这里插入图片描述

5. MATLAB编译Fortran

输入命令:mex -setup FORTRAN
输入编译的Fortran代码:mex ‘DC3D0wrapper.F’
在这里插入图片描述
在文件夹中生成了一个后缀”.mexw64“的文件,即表示编译成功!

http://www.hengruixuexiao.com/news/31034.html

相关文章:

  • 百度网站安全检测清远市发布
  • 个人主题网站视频剪辑培训班一般学费多少
  • 多个织梦dedecms网站怎么做站群整站营销系统
  • 舜元建设 集团 有限公司网站南宁seo费用服务
  • 网站及系统建设维护登封seo公司
  • 百度公司做网站可靠吗磁力搜索引擎下载
  • 基督教网站做父母怎样教养孩子关键词排名工具有哪些
  • 在线收费视频网站开发erp123登录入口
  • 自己装修设计软件陕西seo主管
  • 承德百度网站建设网络营销项目策划方案
  • 上海 房地产网站建设极速一区二区三区精品
  • 菏泽网站制作项目推广平台排行榜
  • ps制作网站导航图片网络推广平台网站推广
  • 昌乐网站设计武汉网站建设推广公司
  • 网站代码优化目的游戏推广平台有哪些
  • 德州市经济开发区建设局网站优化网站视频
  • 廊坊网站小姐私做培训计划方案
  • 祥云平台网站管理系统蔡甸seo排名公司
  • 填空秒懂网站花关键词排名系统
  • 北京大龙建设集团有限公司网站首页百度下载正版
  • 广告人网站武汉刚刚发生的新闻
  • 柳州市建委网站最近发生的新闻大事
  • 建设营销型网站有哪些步骤官方百度app下载
  • pc网站做成移动网站百度推广培训
  • 施工企业有没有制造费用武汉排名seo公司
  • 图片在线制作加字网站优化课程
  • 做网站注意的问题长沙正规竞价优化服务
  • 使用公网ip做网站地址竞价代运营
  • 做自己的独立外贸网站网站营销方案模板
  • 1688精品货源网站商业软文