TypechoJoeTheme

MetMan's Blog

网站页面
2023-10-21

Intel MKL数学库使用辅助工具

Intel MKL数学库使用辅助工具
Intel oneMKL(oneAPI Math Kernel Library)数学库在Intel CPU上经过精心优化,其性能比普通的Blas/Lapack好很多。如果追求计算性能,建议使用oenMKL数学库。由于oneMKL支持以下特点使其编译链接选项复杂。多套编译器多种编程语言多种计算架构静态/动态库链接方式串行/多线程支持如何获取正取的MKL库编译链接信息呢?目前找到两种简单的方式,一种通过Intel官网网页工具,一种是MKL库自带的命令行工具。网页辅助工具Intel官方提供了一个网页帮助用户指定使用环境从而生成编译链接信息。网页链接:https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-link-line-advisor.html界面如下图所示:其中选择框含义如下:Select Intel@ product: 选择使用的MKL版本Select OS: 选择使用的操作系统Select programming language: 选择应用程序使用的编程语言,C/C++、Fortran、D...
2023年10月21日
128 阅读
0 评论
2023-10-21

Relocation truncated to fit链接错误解析

Relocation truncated to fit链接错误解析
在链接阶段有时会遇到relocation truncated to fit...错误。下面我们来探讨下原因及解决方法。问题试验环境$ cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) $ gfortran --version GNU Fortran (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2)首先通过以下代码示例重现链接重定位错误。program main   implicit none   integer,parameter :: nx = 1000, ny= 1000, nz =1000   real,dimension(nx,ny,nz) :: arr_a,arr_b   integer :: i,j,k   arr_a = 3.0   do k=1,nz     do j=1,ny       do i=1,nx         arr_b(i,j,k) = arr_a(i,k,j) + i + j + k       enddo     enddo   enddo ...
2023年10月21日
252 阅读
0 评论
2023-10-21

ssh和scp使用介绍

ssh和scp使用介绍
本文以本地主机A和远程主机B为例说明。配置本地主机A远程主机BIPip_aip_b主机名hostname_ahostname_b用户名user_auser_bssh简单使用从本地主机A登录到远程主机B$ ssh user_b@ip_b以上命令使用默认的SSH端口号22,如果远程主机为了安全考虑,改变了端口号,登录会报以下错误信息ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection refused解决方法:命令需要加上选项-p port指定端口号为port。$ ssh -p 12345 usr_b@ip_b #这里假设端口号为12345scp简单使用从本地主机A传输a.txt文件到远程主机B的目录/home/user_b/data目录下$ scp a.txt user_b@ip_b:/home/user_b/data如果需要传输整个目录的文件,需要加上-r选项。$ scp -r data user_b@ip_b:/home/user_b/data如果端口号不是22的话,需要加上-P port,注意是大写的P。$ scp...
2023年10月21日
157 阅读
0 评论
2023-10-21

NetCDF错误处理辅助程序

NetCDF错误处理辅助程序
使用NetCDF API时一定要加上函数返回码检查机制,这会给你节省很多调试时间因为NetCDF库设计为每一个API函数返回一个整数值用于表明函数执行状态(成功或者失败,失败的原因有多种可能,其错误码也不同),但程序不会因为函数执行未成功便终止程序,而是会继续执行下去,但通过API函数获取的信息是错误的。下面以读一个NetCDF文件获取其维数信息为例说明。有一个文件名为tos_O1_2001-2002.nc文件,元数据如下:dimensions: lon = 180 ; lat = 170 ; time = UNLIMITED ; // (24 currently) bnds = 2 ; variables: double lon(lon) ; lon:standard_name = "longitude" ; ...假如不小心敲错了文件名,如以下代码所示,同时调用netcdf api也没有检查函数返回值,你会发现程序会正常运行结束,输出lon/la...
2023年10月21日
154 阅读
0 评论
2023-10-21

scp connection closed错误解决记录

scp connection closed错误解决记录
使用scp传输数据到一台服务器,遇到以下错误:subsystem request failed on channel 0 scp: Connection closed加上-v选项输出详细信息debug1: Sending subsystem: sftp debug1: client_global_hostkeys_private_confirm: server used untrusted RSA signature algorithm ssh-rsa for key 0, disregarding debug1: update_known_hosts: known hosts file /home/user/.ssh/known_hosts2 does not exist subsystem request failed on channel 0 scp: Connection closed说明是sftp subsystem有问题,猜测是关闭了SFTP subsystem功能。解决方法:加上-O选项。scp -O test.f90 test@host:~/-O选项介绍-O ...
2023年10月21日
168 阅读
0 评论
2023-10-21

ECMWF进入集合预报时代

ECMWF进入集合预报时代
NWP领域最近有两件很重要的事,一件是发表在Nature上的华为盘古大模型研究成果《Accurate medium-range global weather forecasting with 3D neural networks》,另一件事是ECMWF在6月27日将IFS升级到版本48r1,将集合预报系统分辨率升级到全球9公里,与确定性模式分辨率一致。这两件事分别代表了新兴的人工智能方法和传统数值模式对中期全球天气预报的最新研究进展。 本文主要关注ECMWF IFS升级,以及计算相关内容。IFS升级内容IFS这次升级是将中期集合预报(ENS)的水平分辨率从原先18公里升级到9公里,使得集合预报成员的分辨率与高分辨率预报(HRES)分辨率一致。垂直分辨率仍保持137层不变。集合预报成员数保持51个不变。另外一个主要升级是延伸期集合预报(ENS extended)配置。过去是作为中期预报的扩展,每周启动两次,每次预报15天。升级后变成完全独立系统,每天00UTC运行一次,使用101个成员预报46天。但其分辨率仍保持不变:水平36公里、垂直137层。升级后,48r1 将提供两组后报(h...
2023年10月21日
173 阅读
0 评论
2023-10-21

Fortran代码格式化工具fprettify

Fortran代码格式化工具fprettify
作为程序员,可能读代码的时间要比写代码的时间还要长。在你不得不阅读那些“没有缩进、嵌套分支代码太长不能确定对应的代码段等”糟心代码时,可能一款格式化工具能够帮助你抚平暴怒的心情。fprettify就是一款针对Fortran项目代码的自动化格式工具。项目地址:https://github.com/pseewald/fprettify安装fpretty是基于Python开发的脚本工具,依赖Python3 (最新版本不再支持Python 2.7)。使用pip或者conda安装即可。$ pip install --upgrade fprettify #or $ conda install -c conda-forge fprettify使用查看fprettify选项说明$ fprettify -h常用选项-i INDENT, --indent INDENT相对缩进宽度,默认是3个空格-l LINE_LENGTH, --line-length LINE_LENGTH每行最多列数(默认132列)-w {0,1,2,3,4}, --whitespace {0,1,2,3,4}控制插入白空格...
2023年10月21日
322 阅读
0 评论
2023-10-21

Intel Fortran编译器的发展

Intel Fortran编译器的发展
作为商业Fortran编译器代表,Intel Fortran编译器在语言标准兼容性、性能方面非常出色,是很多NWP模式主要编译工具。Intel C/Fortran编译器之前是包含在Parallel Studio中,它是商业收费软件。但自2020年12月开始Intel oneAPI品牌取代Parallel Studio,并采用免费使用策略。现在Intel oneAPI套件中包含两套Fortran编译器:Intel Fortran Compiler Classic (ifort)Intel Fortran Compiler (ifx)其中ifort只用于CPU端,而ifx用于面向未来XPU(CPU/GPU等)异构计算。两套编译器使用相同的编译前端(Intel Fortran Frontend, FFE)。ifort 特点:Intel Fortran parser/analyzer + Intel optimizer/code generationF2018标准完全支持,只用于CPU端,性能优ifx特点:Intel Fortran parser/analyzer + LLVM opti...
2023年10月21日
126 阅读
0 评论
登录
X
用户名
密码