Skip to content

Commit f3ea348

Browse files
authored
Merge monthly newsletter for February 2021 (#193)
2 parents 10eface + 59dc461 commit f3ea348

5 files changed

+1854
-4
lines changed
Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
1+
---
2+
layout: post
3+
title: "Fortran newsletter: February 2021"
4+
category: newsletter
5+
author: Sebastian Ehlert, Milan Curcic, Laurence Kedward, Jérémie Vandenplas, Alexis Perry-Holby
6+
---
7+
8+
Welcome to the February 2021 edition of the monthly Fortran newsletter.
9+
The newsletter comes out at the beginning of every month and details
10+
Fortran news from the previous month.
11+
12+
<ul id="page-nav"></ul>
13+
14+
## fortran-lang.org
15+
16+
This month we've had a few updates to the website:
17+
18+
* [#190](https://github.com/fortran-lang/fortran-lang.org/pull/190):
19+
Add links to fpm contributing guidelines
20+
21+
Ongoing work:
22+
23+
* [#191](https://github.com/fortran-lang/fortran-lang.org/pull/191) (WIP):
24+
Fix author/maintainer output in fpm registry
25+
* [#187](https://github.com/fortran-lang/fortran-lang.org/pull/187) (WIP):
26+
Correct compiler page and tutorial regarding Intel oneAPI and PGI to NVIDIA
27+
* [#174](https://github.com/fortran-lang/fortran-lang.org/issues/174) (WIP):
28+
We are searching for a representative Fortran code snippet for the website and are looking forward to suggestions.
29+
30+
[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content.
31+
We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/master/CONTRIBUTING.md) for how to get started.
32+
33+
## Fortran Standard Library
34+
35+
Here's what's new in `stdlib`:
36+
37+
* [#303](https://github.com/fortran-lang/stdlib/pull/303),
38+
[#301](https://github.com/fortran-lang/stdlib/pull/301),
39+
[#294](https://github.com/fortran-lang/stdlib/pull/294):
40+
Fixes and improvements for the manual Makefile build
41+
* [#293](https://github.com/fortran-lang/stdlib/pull/293):
42+
Write a more verbose introduction to building stdlib
43+
* [#291](https://github.com/fortran-lang/stdlib/pull/291):
44+
Export package files (CMake and pkg-config)
45+
* [#290](https://github.com/fortran-lang/stdlib/pull/290):
46+
Rename CMake project from stdlib to fortran\_stdlib
47+
* [#288](https://github.com/fortran-lang/stdlib/pull/288):
48+
Follow GNU install conventions
49+
* [#284](https://github.com/fortran-lang/stdlib/pull/284):
50+
Required changes to be able to use `stdlib` as a subproject in CMake
51+
* [CMake example](https://github.com/fortran-lang/stdlib-cmake-example):
52+
Integration of the Fortran standard library in CMake projects
53+
54+
Work in progress:
55+
56+
* [#304](https://github.com/fortran-lang/stdlib/pull/304) (WIP):
57+
Add supported compilers MinGW 8, 9, 10
58+
* [#269](https://github.com/fortran-lang/stdlib/pull/269) (WIP):
59+
Implementation of a module for handling lists of strings
60+
* [#271](https://github.com/fortran-lang/stdlib/pull/271) (WIP),
61+
[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP),
62+
[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP),
63+
[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP),
64+
[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP):
65+
Implementation of the `stdlib_stats_distribution` modules.
66+
It provides probability distribution and statistical functions.
67+
* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP):
68+
Initial implementation of sparse matrices.
69+
70+
Don't hesitate to test and review these pull requests!
71+
72+
Otherwise, ongoing discussions continue about usability of `stdlib`
73+
([#7](https://github.com/fortran-lang/stdlib/issues/7),
74+
[#215](https://github.com/fortran-lang/stdlib/issues/215),
75+
[#279](https://github.com/fortran-lang/stdlib/issues/279),
76+
[#280](https://github.com/fortran-lang/stdlib/issues/280),
77+
[#285](https://github.com/fortran-lang/stdlib/issues/285)),
78+
and new implementations for `stdlib`
79+
([#135](https://github.com/fortran-lang/stdlib/issues/135),
80+
[#212](https://github.com/fortran-lang/stdlib/issues/212),
81+
[#234](https://github.com/fortran-lang/stdlib/issues/234),
82+
[#241](https://github.com/fortran-lang/stdlib/issues/241),
83+
[#258](https://github.com/fortran-lang/stdlib/issues/258),
84+
[#259](https://github.com/fortran-lang/stdlib/issues/259),
85+
[#262](https://github.com/fortran-lang/stdlib/issues/262),
86+
[#268](https://github.com/fortran-lang/stdlib/issues/268),
87+
[#277](https://github.com/fortran-lang/stdlib/issues/277)).
88+
89+
90+
The candidate for file system operations to be included in stdlib is being developed by
91+
[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus)
92+
in [this repository](https://github.com/MarDiehl/stdlib_os).
93+
Please try it out and let us know how it works, if there are any issues, or if the API can be improved.
94+
95+
## Fortran Package Manager
96+
97+
Here's what's new in `fpm`:
98+
99+
* [#342](https://github.com/fortran-lang/fpm/pull/342):
100+
Fix broken link in contributing guidelines
101+
* [#337](https://github.com/fortran-lang/fpm/pull/337):
102+
Allow hyphens in fpm project names in "fpm new"
103+
* [#335](https://github.com/fortran-lang/fpm/pull/335):
104+
Fix: performance regression
105+
* [#334](https://github.com/fortran-lang/fpm/pull/334):
106+
Remove a name clash in the fpm testsuite
107+
108+
Work in progress:
109+
110+
* [First beta release](https://github.com/fortran-lang/fpm/milestone/1) (WIP):
111+
First feature-complete release of the Fortran implementation.
112+
* [#230](https://github.com/fortran-lang/fpm/pull/230),
113+
[#261](https://github.com/fortran-lang/fpm/pull/261) (WIP):
114+
Specification of the fpm CLI.
115+
* [#316](https://github.com/fortran-lang/fpm/pull/316) (WIP):
116+
Update subcommand "new" to reflect the addition of support for examples
117+
* [#345](https://github.com/fortran-lang/fpm/pull/345) (WIP):
118+
Update: fpm\_backend with dynamic openmp scheduling
119+
120+
`fpm` is still in early development and we need as much help as we can get.
121+
Here's how you can help today:
122+
123+
* Use it and let us know what you think! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/master/PACKAGING.md) to learn how to build your package with fpm, and the [manifest reference](https://github.com/fortran-lang/fpm/blob/master/manifest-reference.md) to learn what are all the things that you can specify in the fpm.toml file.
124+
* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm)
125+
* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features.
126+
* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry).
127+
* Improve the documentation.
128+
129+
The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier.
130+
Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy
131+
environment in which new open source Fortran projects are created and published with ease.
132+
133+
## Compilers
134+
135+
### Classic Flang
136+
137+
There are a number of pull requests out for evaluation.
138+
139+
A total of 12 pull requests were merged in January.
140+
141+
* [PR#932 Do not assume unempty derived types](https://github.com/flang-compiler/flang/pull/932)
142+
* [PR#957 Support Prefetch Directive](https://github.com/flang-compiler/flang/pull/957)
143+
* [PR#947 Fix gcc-10 compilaton issues](https://github.com/flang-compiler/flang/pull/947)
144+
* [PR#948 Expand CI to run with GCC-9/10 and LLVM-9/10/11](https://github.com/flang-compiler/flang/pull/948)
145+
* [PR#949 USE rename should check if renamed sptr is available in the scope](https://github.com/flang-compiler/flang/pull/949)
146+
* [PR#971 Remove dwarfdump_prolog.f90 test since it is dependent on codegen](https://github.com/flang-compiler/flang/pull/971)
147+
* [PR#940 Flang should generate debug location for limited instructions in prolog](https://github.com/flang-compiler/flang/pull/940)
148+
* [PR#977 Update apt data before installing sphinx](https://github.com/flang-compiler/flang/pull/977)
149+
* [PR#751 Fix for len intrinsic returning int*8 in some cases](https://github.com/flang-compiler/flang/pull/751)
150+
* [PR#956 Minor FileCheck pattern fixes](https://github.com/flang-compiler/flang/pull/956)
151+
* [PR#978 Fix the readme to point to the correct flang-dev list](https://github.com/flang-compiler/flang/pull/978)
152+
* [PR#979 Rename direct header to avoid windows conflict](https://github.com/flang-compiler/flang/pull/979)
153+
154+
155+
### LLVM Flang
156+
157+
Recent development updates:
158+
159+
* OpenMP semantic checks: private, firstprivate, lastprivate, Workshare Construct, `DO` loop restrictions
160+
* Detect call to abstract interface
161+
* OpenMP - add task_reduction clause, make reduction clause part of OmpClause
162+
* New Driver - adding support for various options, testing improvements, standard macro pre-definitions, fixed-form detection, CMake improvements
163+
* OpenACC - semantic checks to enforce declare directive restrictions
164+
* Internal subprogram improvements
165+
* OpenMP/OpenACC - Extend CheckNoBranching to handle branching provided by LabelEnforce
166+
* Disallow `INTENT` attribute on procedure dummy arguments
167+
* Module file improvements and bug fixes
168+
* Add tests for procedure arguments with implicit interfaces
169+
170+
Call notes will be sent to the _flang-dev_ email list and also recorded [here](https://docs.google.com/document/d/10T-S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY).
171+
172+
173+
## Events
174+
175+
* We had our 8th Fortran Monthly call on January 19.
176+
You can watch the recording below:
177+
178+
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/QfiBUAgI3kw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
179+
180+
* This year fortran-lang will be applying as a mentor organisation for [Google Summer of Code](https://summerofcode.withgoogle.com/).
181+
We have started working on the application and the project ideas; you can join the ongoing discussion [here](https://fortran-lang.discourse.group/t/google-summer-of-code-2021/658).
182+
If you'd like to help us flesh out the ideas, or have a project idea of your own, please join our upcoming video calls on February 9 and 16 (call info will be posted in the Discourse thread), or write directly in the Discourse thread.
183+
If you're a student, or know students who are [eligible to participate](https://developers.google.com/open-source/gsoc/faq#what_are_the_eligibility_requirements_for_participation), and you'd like to help build the Fortran ecosystem please reach out and let us know.
184+
185+
As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or
186+
join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings.
187+
188+
## Contributors
189+
190+
We thank everybody who contributed to fortran-lang in the past month by
191+
commenting in any of these repositories:
192+
193+
* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib)
194+
* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example)
195+
* [fortran-lang/fpm](https://github.com/fortran-lang/fpm)
196+
* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry)
197+
* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm)
198+
* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org)
199+
* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks)
200+
* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals)
201+
202+
<div id="gh-contributors" data-startdate="January 01 2021" data-enddate="January 31 2021" height="500px"></div>

community/github_stats_data/data-fortran-lang-fortran-lang.org.json

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,62 @@
11
{
22
"name": "fortran-lang/fortran-lang.org",
33
"issues": [
4+
{
5+
"number": 193,
6+
"user": "awvwgk",
7+
"date": "2021-01-30 13:58:26+00:00",
8+
"title": "Monthly newsletter for February 2021",
9+
"text": "I put together a draft for the February monthly newsletter and populated it from the repository activities.\n\n collect PRs from stdlib\n collect PRs from fpm, setup-fpm and fpm-registry\n collect PRs from fortran-lang.org\n add link to Fortran monthly call recording\n update contributor data (@LKedward)\n add updates on classic flang\n add updates on LLVM flang\n add updates on LFortran (@certik)\n\nPlease review and edit if needed. As usual, please add your name to the authors list if you add, edit, or review content.",
10+
"comments": [
11+
{
12+
"user": "LKedward",
13+
"date": "2021-01-30 14:40:39+00:00",
14+
"text": "Thanks for starting! I'll update contributor data tomorrow."
15+
},
16+
{
17+
"user": "milancurcic",
18+
"date": "2021-01-30 16:38:50+00:00",
19+
"text": "Thanks for starting it. Do you think we should mention GSoC to try gather early interest from prospective students? Something like:\n\nThis year fortran-lang will be applying as an Org for Google Summer of Code. We started working on the application and the project ideas. If you'd like to help us flesh them out, please join our video call on (Milan TODO). If you're a student and you'd like to help build the Fortran ecosystem, or have a project idea you'd like to work on, please reach out and let us know (how exactly? Milan TODO).\n\nI think this would go in the Events section."
20+
},
21+
{
22+
"user": "milancurcic",
23+
"date": "2021-01-30 16:45:41+00:00",
24+
"text": "Regarding news from Classic Flang and LLVM Flang: @AlexisPerry, would you like to provide updates from both Flang projects for the monthly newsletter? We distribute these on the mailing list (131 subscribers), Discourse, and Twitter (604 followers). Flang updates in the newsletter may bring new users, and who knows, maybe even new contributors.\nHere's a sample newsletter from last month and what Flang updates look like: https://fortran-lang.org/newsletter/2021/01/01/Fortran-Newsletter-January-2021/#compilers\nPreviously @gklimowicz has been helping with these, but he stepped back and mentioned your name. It would be very helpful if you agreed to do it! :)"
25+
}
26+
]
27+
},
28+
{
29+
"number": 192,
30+
"user": "awvwgk",
31+
"date": "2021-01-03 09:21:26+00:00",
32+
"title": "Sort fpm registry alphabetically",
33+
"text": "The fpm registry at packages/fpm is currently sorted chronologically in the order of addition to the registry, a more useful sorting would be alphabetically.\nIt appears that Liquid is not able to sort a hash map alphabetically (!) by itself, therefore implementing this in Liquid will be ugly.",
34+
"comments": [
35+
{
36+
"user": "LKedward",
37+
"date": "2021-01-03 11:29:29+00:00",
38+
"text": "Perhaps the best option is to structure the index differently, as an array instead of a hash map"
39+
},
40+
{
41+
"user": "awvwgk",
42+
"date": "2021-01-03 12:23:25+00:00",
43+
"text": "A hash map is the right representation for the registry, I see no need to adapt it due to the shortcomings of a templating language. An easy fix from the fpm-registry side would be sorting the index before committing it, alternatively we have to search for a gem that can add the feature we need for the webpage here."
44+
},
45+
{
46+
"user": "LKedward",
47+
"date": "2021-01-04 10:52:45+00:00",
48+
"text": "True, though the index is only a serialisation, converting to an array serialisation does not preclude implementation as a hash map. I'd rather not complicate the build with additional Ruby code so sorting the index would be preferred. It's unfortunate to rely on the ordering of the data for rendering the site but your proposed solution is perhaps the simplest."
49+
}
50+
]
51+
},
52+
{
53+
"number": 191,
54+
"user": "awvwgk",
55+
"date": "2021-01-03 09:15:26+00:00",
56+
"title": "Fix author/maintainer output in fpm registry",
57+
"text": "Joins arrays of author/maintainer names with \" and \".\nAlso, simplifies fetching of registry in workflow file.",
58+
"comments": []
59+
},
460
{
561
"number": 190,
662
"user": "awvwgk",
@@ -30,6 +86,21 @@
3086
"user": "LKedward",
3187
"date": "2020-12-30 10:31:41+00:00",
3288
"text": "Thanks for starting @jvdp1 and thanks for populating the fpm section @awvwgk - it was a busy month for fpm!\nLeft a few minor suggestions but everything else looks good. I'll update the contributor data tomorrow."
89+
},
90+
{
91+
"user": "milancurcic",
92+
"date": "2021-01-04 16:36:04+00:00",
93+
"text": "Thank you, @gklimowicz!\n@certik are there any updates for LFortran or is this good to go?"
94+
},
95+
{
96+
"user": "certik",
97+
"date": "2021-01-04 17:30:49+00:00",
98+
"text": "There are updates, but I don't have time to write them down, so this is good to go."
99+
},
100+
{
101+
"user": "milancurcic",
102+
"date": "2021-01-04 18:25:45+00:00",
103+
"text": "Okay, sounds good, we can defer LFortran news to the next newsletter. I'll merge now. Thank you all!"
33104
}
34105
]
35106
},

0 commit comments

Comments
 (0)