Fortran 时事通讯:2021 年 5 月#
欢迎阅读 2021 年 5 月版 Fortran 月刊。该通讯每月初发布,详细介绍上个月的 Fortran 新闻。
fortran-lang.org#
本月我们对网站进行了几次更新:
#244: Add a first year announcement
#236: Add dl_poly_4 to package index
#220: Include learn resources to online courses
正在进行的工作:
#201 (WIP):fortran-lang 的国际化
#246 (WIP): Transferring fortran90.org “Fortran Best Practise” into a mini-book
让我们知道 如果你对网站及其内容有任何建议。我们欢迎任何新的贡献者加入网站,尤其是教程页面 —— 请参阅 贡献者指南 了解如何开始。
Fortran 标准库#
这是 stdlib
中的新内容:
#391: Add issue templates
#388: Changed filenames for bitset tests
#384: Implement starts_with and ends_with functions
#367: Add Intel compiler workflow for OSX
#360: Summarize build toolchain workflow and implied rules
#343: Implement strip and chomp as supplement to trim
#336: Add functions to convert integer/logical values to character values
工作正在进行中:
#189 (WIP):稀疏矩阵的初始实现。
#272(开发中), #273 (开发中),#276(开发中),#278(开发中):
stdlib_stats_distribution
模块的实现。它提供概率分布和统计功能。#311(开发中):用于处理字符串列表的模块的实现
#313 (WIP):勒让德多项式和高斯求积
#333 (施工中):为字符串对象提供抽象基类
#349(进行中):简化测试 Makefile
#353 (进行中):实现一个用于实数宽松比较的模块的初始版本
#355(进行中):实现 clip 函数
#359 (施工中):向 stdlib 添加一般贡献指南
#363 (进行中):在 stdlib_string_type 模块中添加 sort
#372 (WIP): Correct implementation of to_title
#386 (WIP): Start the addition of the module stdlib_sorting
请通过测试和审查拉取请求帮助改进 stdlib !
@MarDiehl 和 @arjenmarkus 在 该仓库。请尝试一下,如果有任何问题,或者 API 是否可以改进,请告诉我们它是如何工作的。
Fortran 包管理器#
以下是 fpm
中的新功能:
#420: Phase out Haskell fpm
#468: Identify OpenBSD
#465: Fix typo in README
#442: Use lib instead of ar on Windows
#440: Minor edits to README
#438: Add external-modules key to build table for non-fpm modules
#437: Remove coarray single from default Intel flags
#433: Fix to allow compiling C with Intel CC
#431: Use different compiler flags on differnt platforms for Intel
#429: Use wget if curl is missing in install.sh
工作正在进行中:
第一个 beta 版本 (WIP):Fortran 实现的第一个功能完整的版本。
#364 (施工中):插件的 alpha 版本
#423 (WIP): Use default instead of master to reference the repository HEAD
#444 (WIP): Allow to find include files / modules in CPATH environment variable
#449 (WIP): Response files with ar on Windows
#450 (WIP): Remove coarray flag from intel debug settings
#451 (WIP): Refactor: use objects to represent compilers and archiver
fpm
仍处于早期开发阶段,我们需要尽可能多的帮助。以下是你今天可以提供的帮助:
使用它,让我们知道你的想法!阅读 fpm 打包指南 了解如何使用 fpm 构建你的包,以及 清单参考 了解你可以在 fpm.toml 文件中指定的所有内容。
在 fortran-lang 网站 上浏览现有的 fpm 包
浏览 开启的 issues,看看你是否可以帮助实施任何修复或功能。
为 fpm 调整 Fortran 包并将其提交到 Registry。
改进文档。
fpm 的短期目标是使具有依赖关系的 Fortran 包的开发和安装更容易。其长期目标是构建一个丰富且分散的 Fortran 软件包生态系统,并创建一个健康的环境,在该环境中轻松创建和发布新的开源 Fortran 项目。
编译器#
经典 Flang#
四月份总共合并了 5 个请求拉取。
LLVM Flang#
最近的开发更新:
OpenMP
[OPENMP5.1]Initial support for novariants clause.
[OPENMP5.1]Initial support for nocontext clause.
Add functionality to check “close nesting” of regions, which can be used for Semantic checks
[OpenMP5.1] Initial support for masked directive and filter clause
修改对
ordered
区域嵌套的语义检查,以包括close
嵌套检查。Remove
OmpEndLoopDirective
handles from code.Add General Semantic Checks for Allocate Directive
New Driver
Add options for -Werror
Modify the existing test cases that use -Mstandard in f18, to use -pedantic and %flang_fc1 to share with the new driver
Add support for
-cpp/-nocpp
Fix
-fdebug-dump-provenance
Add debug options not requiring semantic checks
Remove
%flang-new
from the LIT configurationUpdate the regression tests to use the new driver when enabled
Add support for
-fget-definition
Move .f77 to the list of fixed-form file extensions
Runtime
Implement reductions
Implement numeric intrinsic functions
TRANSFER() intrinsic function
RANDOM_NUMBER, RANDOM_SEED, RANDOM_INIT
Implement IPARITY, PARITY, and FINDLOC reductions
Fix unit test failure on POWER
Improve constant folding for type parameter inquiries
Check for conflicting BIND(C) names
Enforce a limit on recursive PDT instantiations
Accept & fold IEEE_SELECTED_REAL_KIND
Define missing & needed IEEE_ARITHMETIC symbols
Handle instantiation of procedure pointer components
Fix checking of argument passing for parameterized derived types
修复运行时所派生的类型表构建中的假性错误
Check for attributes specific to dummy arguments
Handle structure constructors with forward references to PDTs
通话记录将发送到 flang-dev 电子邮件列表,并记录在 此处。
LFortran#
98 Merge Requests merged in April
Working towards compiling the SNAP proxy app (#313):
Code can be parsed to AST and transformed back to source code which compiles with other compilers and works
About 3rd of the files can be transformed from AST to ASR and the modules saved
Other improvements:
Runtime library (more functions work)
嵌套函数
Derived types
活动#
We had our 11th Fortran Monthly call on April 22. You can watch the recording below:
Wadud Miah (@wadudmiah) from the University of Southampton presented a webinar on Fortran for High Performance Computing, organized by Excellerat. You can find the slides and the recording here.
贡献者#
我们感谢过去一个月为 fortran-lang 做出贡献的每个人,他们在以下任何存储库中发表评论: