#220
(施工中):将学习资源纳入了在线课程
让我们知道
如果你对网站及其内容有任何建议。我们欢迎任何新的贡献者加入网站,尤其是教程页面 —— 请参阅
贡献者指南
了解如何开始。
Fortran 标准库
这是
stdlib
中的新内容:
#320
:实现非繁琐的函数式字符串类型
#362
:修复了样式指南中关于维度属性的措辞
#352
:将目录添加到自述性(README)文件中
#346
#356
:在 stdlib_string_type 模块中添加了 to_lower、to_upper、reverse 和 to_title 函数
工作正在进行中:
#189
(WIP):稀疏矩阵的初始实现。
#272
(开发中),
#273
(开发中),
#276
(开发中),
#278
(开发中):
stdlib_stats_distribution
模块的实现。它提供概率分布和统计功能。
#311
(开发中):用于处理字符串列表的模块的实现
#313
(WIP):勒让德多项式和高斯求积
#333
(施工中):为字符串对象提供抽象基类
#336
(施工中):添加将整数/逻辑值转换为字符值的函数
#343
(进行中):作为对 trim 的补充,实现 strip 和 chomp
#349
(进行中):简化测试 Makefile
#353
(进行中):实现一个用于实数宽松比较的模块的初始版本
#355
(进行中):实现 clip 函数
#359
(施工中):向 stdlib 添加一般贡献指南
#360
(进行中):总结构建工具链工作流程和隐含规则
#363
(进行中):在 stdlib_string_type 模块中添加 sort
#367
(施工中):添加适用于 OSX 的英特尔编译器工作流程
请通过测试和审查这些拉取请求来帮助改进 stdlib!
@MarDiehl
和
@arjenmarkus
在
该仓库
。请尝试一下,如果有任何问题,或者 API 是否可以改进,请告诉我们它是如何工作的。
Fortran 包管理器
以下是
fpm
中的新功能:
Alpha 发布版本 0.2.0
Fortran 包管理器嫌疑现已在 conda-forge 上可用
#352
: 对帮助测试的一种临时修复
#357
:Fortran fpm 的安装脚本
#369
: 将构建目标与模块结构分开
#370
: 更新 run 子命令
#377
: 在清单中添加显式的 include-dir 键
#378
: 在 fpm_strings.f90 中添加与 ford 兼容的文档
#386
: 在 debug_fortran 选项中替换已弃用的标志
#390
#407
: 为 Fortran fpm 实现 –flag 选项
#397
: 在 README 中添加 Conda 安装说明
#398
: 小修复:用于设置可执行链接库
#402
: 添加 fpm 描述并重新组织 README 介绍
#404
: 修正对空输入的连接
#409
: 使程序能够访问子目录中的代码
#414
: 在 README 中添加一些重要的链接
#412
: 重复的模块定义
#413
: 将 omp_lib 添加到内建模块列表中
#419
: 将 Haskell 和 Fortran fpm 的工作流拆分
工作正在进行中:
第一个 beta 版本
(WIP):Fortran 实现的第一个功能完整的版本。
#364
(施工中):插件的 alpha 版本
#420
(进行中): 逐渐淘汰 Haskell fpm
fpm-haskell
(进行中):Haskell 版本 fpm 的独立存储库
fpm
仍处于早期开发阶段,我们需要尽可能多的帮助。以下是你今天可以提供的帮助:
使用它,让我们知道你的想法!阅读
fpm 打包指南
了解如何使用 fpm 构建你的包,以及
清单参考
了解你可以在 fpm.toml 文件中指定的所有内容。
在
fortran-lang 网站
上浏览现有的
fpm
包
浏览
开启的 issues
,看看你是否可以帮助实施任何修复或功能。
为 fpm 调整 Fortran 包并将其提交到
Registry
。
改进文档。
fpm 的短期目标是使具有依赖关系的 Fortran 包的开发和安装更容易。其长期目标是构建一个丰富且分散的 Fortran 软件包生态系统,并创建一个健康的环境,在该环境中轻松创建和发布新的开源 Fortran 项目。
编译器
经典 Flang
在二月份总共合并了 10 个拉取请求。
PR#996 tests:一个测试用例,支持 PR #966
PR#968 修复 flang 中 CONTIGUOUS 和 SAVE 属性之间的冲突 (issue #673)
PR#955 不在使用字符种类 2 时发出错误
PR#975 添加使用 Github Actions 构建 llvm 的 release_11x 分支的选项
PR#974修复哈希冲突处理例程,由于致命错误未能正常工作 (issue #960).
PR#1000向 GitHub Actions 添加 ccache 支持
PR#952 使用升级的 DISubrange 实现数组调试支持
PR#1002 由 PR 引入的回归问题修复 #922 (issue #995)
PR#985 添加 asprintf
PR#966 修复以解决 cp2k 编译和运行时问题
三月份总共合并了 8 个拉取请求。
PR#963修复隐含 do 循环中的数组初始化错误
PR#1007 问题 #1006 的修复:停止传递未使用的未初始化值
PR#1004 实数类型的嵌套隐含 do 循环修复
PR#710 用于捕获过程指针到 OpenMP 并行区域的测试用例
PR#561 flang2:修复问题 #424 的正确方法
PR#778 修复 NCAR 测试问题,容忍度低于 E-12。
PR#1010 LLVM 12 upgrade
PR#1012 Remove release_90 from Github Actions
LLVM Flang
最近的开发更新:
新的驱动程序:
添加 -fdefault* 和 -flarge-sizes 的选项
完善模块搜索目录的测试
添加 -fdebug-dump-parsing-log
添加 -fdebug-module-writer 选项
添加 debug dump、measure-parse-tree 和 pre-fir-tree 选项
添加 -Xflang 并将 -test-io 设为仅前端的 flang
将 -J 和 -module-dir 添加到 f18 驱动程序
修复 -fdefault* 系列的错误
FIR(Fortran IR - MLIR 的一种方言):
为 FIR 操作验证器添加诊断测试
添加 FIR 类型解析器的诊断测试
上游预 FIR 树的更改(PFT 已更新以支持 Fortran 77)
更新 flang 测试工具支持类
添加 zero_bits、数组值和其他操作
上游实用函数 valueHasFirAttribute(),以便在后续合并中使用
OpenMP - 添加语义检查:
OpenMP 4.5 - 2.7.1 Do Loop 中对 Threadprivate 的限制
在 simd 指令的 aligned 子句中出现多个列表项
Flang OpenMP 4.5 - 2.15.3.6 Reduction 子句
2.15.4.2 - Copyprivate 子句
2.15.3.4 - Firstprivate 子句
2.15.3.5 - 最后私条款
Update character tests to use gtest
Adaptations to MLIR API changes
修复在覆盖错误的类型绑定过程时调用 CHECK() 的问题
处理具有交替返回的类型绑定过程
运行时间:执行INDEX内在功能
修复在 MinGW-w64 上的编译问题
Extension: forward refs to dummy args under IMPLICIT NONE
Detect circularly defined interfaces of procedures
Implement the related character intrinsic functions SCAN and VERIFY
通话记录将发送到
flang-dev
电子邮件列表,并记录在
此处
。
LFortran
LFortran is participating in GSoC under the NumFOCUS and Fortran-lang umbrella, if you are interested, please apply:
https://gitlab.com/lfortran/lfortran/-/wikis/GSoC-2021-Ideas
7 people contributed code in the last month:
Gagandeep Singh
,
Dominic Poerio
,
Himanshu Pandey
,
Thirumalai Shaktivel
,
Scot Halverson
,
Rohit Goswami
,
Ondřej Čertík
.
过去一个月有 114 个合并请求被
merged
,亮点
macOS support (both Intel and ARM), compilation and development of
LFortran itself (stacktraces work also)
Initial implentation of: modules (modfiles, dependencies, …),
interfaces, integer/real kinds, public/private attribute, derived types,
strings, variable initializations, pointers, modules
Many other fixes
LFortran is still in pre-alpha stage, but we are making rapid progress towards
getting it to compile more Fortran features. We are looking for contributors,
if you are interested, please get in touch and we will help you get started.
We can be contacted at Zulip Chat, mailinglist or GitLab issues (see
https://lfortran.org for links to all three).
We had our 10th Fortran Monthly call on March 24.
You can watch the recording below:
This year Fortran-lang is a mentor organization for
Google Summer of Code
.
If you’re a student, or know students who are
eligible to participate
, and you’d like to help build the Fortran ecosystem please reach out and let us know.
The student application window opened on March 29 and will close on April 13 at 14:00 Eastern Time.
The 223rd meeting of the US Fortran Standards Committee concluded on March 2.
Main topics of dicussion were the planned changes for the Fortran 202X revision of the Standard.
Here’s the
list of all submitted papers
,
and the
summary
of the papers discussed and voting results.
The committee also welcomed a new member, Milan Curcic (
@milancurcic
),
who is the voting alternate to Gary Klimowicz (
@gklimowicz
).
如果您对语言有新的改进意见,请在
此处
提出。
Registration is open for the upcoming free webinar on
Fortran for High Performance Computing
.
The webinar is organized by
Excellerat
and will be presented by Wadud Miah (
@wadudmiah
) from the University of Southampton.
像往常一样,订阅
邮件列表
和/或加入
Discourse
继续关注未来的会议。
贡献者
我们感谢过去一个月为 fortran-lang 做出贡献的每个人,他们在以下任何存储库中发表评论:
fortran-lang/stdlib
fortran-lang/stdlib-cmake-example
fortran-lang/fpm
fortran-lang/fpm-registry
fortran-lang/setup-fpm
fortran-lang/fpm-haskell
fortran-lang/fortran-lang.org
fortran-lang/benchmarks
fortran-lang/fortran-forum-article-template
j3-fortran/fortran_proposals