Fortran 通讯:2021 年 2 月#

欢迎阅读 2021 年 2 月版的每月 Fortran 通讯。时事通讯在每个月初发布,详细介绍上个月的 Fortran 新闻。

fortran-lang.org#

本月我们对网站进行了一些更新:

  • #190:添加指向 fpm 贡献指南的链接

正在进行的工作:

  • #191 (WIP):修复 fpm 注册表中的作者/维护者输出

  • #187(WIP):正确的编译器页面和关于 Intel oneAPI 和 PGI 到 NVIDIA 的教程

  • #174(WIP):我们正在为该网站寻找具有代表性的 Fortran 代码片段,并期待提出建议。

让我们知道 如果你对网站及其内容有任何建议。我们欢迎任何新的贡献者加入网站,尤其是教程页面 —— 请参阅 贡献者指南 了解如何开始。

Fortran 标准库#

这是 stdlib 中的新内容:

  • #303#301# 294:手动生成文件的修复和改进

  • #293:写一个更详细的关于构建 stdlib 的介绍

  • #291:导出包文件(CMake 和 pkg-config)

  • #290:将 CMake 项目从 stdlib 重命名为 fortran_stdlib

  • #288:遵循 GNU 安装约定

  • #284:需要更改才能在 CMake 中使用 stdlib 作为子项目

  • CMake示例:CMake项目中 Fortran 标准库的集成

工作正在进行中:

  • #304 (WIP):添加支持的编译器 MinGW 8, 9, 10

  • #269(WIP):用于处理字符串列表的模块的实现

  • #271 (WIP), #272 (WIP), #273 (WIP), #276 (WIP), #278 (WIP): stdlib_stats_distribution 模块的实现。它提供概率分布和统计功能。

  • #189 (WIP):稀疏矩阵的初始实现。

欢迎帮助测试和审查这些拉取请求!

否则,关于 stdlib 可用性的讨论仍在继续(#7, #215, #279, #280#285) 以及 stdlib 的新实现 (#135, #212, #234, #241, #258, #259, #262, #268, #277)。

@MarDiehl@arjenmarkus该仓库。请尝试一下,如果有任何问题,或者 API 是否可以改进,请告诉我们它是如何工作的。

Fortran 包管理器#

以下是 fpm 中的新功能:

  • #342:修复贡献指南中的断开链接

  • #337:允许在“fpm new”中的 fpm 项目名称中使用连字符

  • #335:修复:性能回归

  • #334:删除 fpm 测试套件中的名称冲突

工作正在进行中:

  • 第一个 beta 版本 (WIP):Fortran 实现的第一个功能完整的版本。

  • #230, #261 (WIP) : fpm CLI 的规范。

  • #316 (WIP):更新子命令“new”以反映添加对示例的支持

  • #345 (wip): 更新。 具有动态Openmp调度的fpm_backend

fpm 仍处于早期开发阶段,我们需要尽可能多的帮助。以下是你今天可以提供的帮助:

  • 使用它,让我们知道你的想法!阅读 fpm 打包指南 了解如何使用 fpm 构建你的包,以及 清单参考 了解你可以在 fpm.toml 文件中指定的所有内容。

  • fortran-lang 网站 上浏览现有的 fpm

  • 浏览 开启的 issues,看看你是否可以帮助实施任何修复或功能。

  • 为 fpm 调整 Fortran 包并将其提交到 Registry

  • 改进文档。

fpm 的短期目标是使具有依赖关系的 Fortran 包的开发和安装更容易。其长期目标是构建一个丰富且分散的 Fortran 软件包生态系统,并创建一个健康的环境,在该环境中轻松创建和发布新的开源 Fortran 项目。

编译器#

经典 Flang#

有许多拉取请求用于评估。

1月份共有12个拉动请求被合并。

LLVM Flang#

最近的开发更新:

  • OpenMP 语义检查:private、firstprivate、lastprivate、Workshare Construct、DO 循环限制

  • 检测对抽象接口的调用

  • OpenMP - 添加 task_reduction 子句,使 reduction 子句成为 OmpClause 的一部分

  • 新驱动程序 - 添加对各种选项的支持、测试改进、标准宏预定义、固定形式检测、CMake 改进

  • OpenACC - 执行声明指令限制的语义检查

  • 内部子程序改进

  • OpenMP/OpenACC - 扩展 CheckNoBranching 以处理 LabelEnforce 提供的分支

  • 禁止在过程虚拟参数上使用 INTENT 属性

  • 模块文件改进和错误修复

  • 添加对具有隐式接口的过程参数的测试

通话记录将发送到 flang-dev 电子邮件列表,并记录在 此处

活动#

  • 我们在 1 月 19 日举行了第 8 次 Fortran 月度电话会议。您可以观看下面的录音:

  • 今年fortran-lang将申请成为Google Summer of Code的导师组织。我们已经开始研究应用程序和项目构想;您可以在此处 加入正在进行的讨论。如果您想帮助我们充实想法,或者有自己的项目想法,请加入我们即将于 2 月 9 日和 16 日举行的视频通话(通话信息将发布在 Discourse 线程中),或直接在话语线程。如果您是学生,或者认识有资格参与 的学生,并且您愿意帮助构建 Fortran 生态系统请联系我们并告知我们。

像往常一样,订阅 邮件列表 和/或加入 Discourse 继续关注未来的会议。

贡献者#

我们感谢过去一个月为 fortran-lang 做出贡献的每个人,他们在以下任何存储库中发表评论: