You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/joss/paper.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -171,6 +171,12 @@ The derived types in the Unified Modeling Language (UML) class diagram in \autor
171
171
172
172
{ width=100% }
173
173
174
+
{ width=50% }
175
+
176
+
{ width=35% }
177
+
178
+
{ width=70% }
179
+
174
180
\autoref{fig:derived-types} includes two of the [Julienne](https://go.lbl.gov/julienne) correctness-checking framework's derived types, `string_t` and `file_t`, because other parts of the figure reference these types.
175
181
The rightmost four types in \autoref{fig:derived-types} exist primarily to support inference.
176
182
The leftmost six types support training.
@@ -180,12 +186,6 @@ The `concurrent-inferences` example program, the simplest case, performs batch i
180
186
\autoref{fig:string_t} through \autoref{fig:neural_network_t} show class diagrams with more details on these types.
181
187
Each detailed diagram displays a top panel listing the type name, an empty middle panel where private components have been omitted, and a bottom panel listing public procedure bindings.
182
188
183
-
{ width=50% }
184
-
185
-
{ width=35% }
186
-
187
-
{ width=70% }
188
-
189
189
The bottom panel also lists what the Fortran 2023 standard describes as user-defined structure constructors: generic interfaces through which to invoke functions that define a result of the named type [@fortran2023].
190
190
We henceforth refer to these as "constructors."
191
191
From the bottom of the class hierarchy in \autoref{fig:derived-types}, the `concurrent-inferences` program
@@ -199,12 +199,12 @@ The program then repeatedly invokes the `infer` type-bound procedure on a three-
199
199
The array statement takes advantage of `infer` being `elemental`.
200
200
Lines [101](https://github.com/BerkeleyLab/fiats/blob/joss-line-references/example/concurrent-inferences.f90#101) and [109](https://github.com/BerkeleyLab/fiats/blob/joss-line-references/example/concurrent-inferences.f90#L109) of `example/concurrent-inferences.f90` at `git` tag `joss-line-references` demonstrate neural-network construction from a file and using the network for inference, respectively.
201
201
202
-
{ width=55% }
203
-
204
202
The `infer-aerosols` program performs inferences by invoking `double precision` versions of the `infer` generic binding on an object of type `unmapped_network_t` (see \autoref{fig:unmapped_network_t}), a parameterized derived type (PDT) that has a `kind` type parameter.
205
203
To match the expected behavior of the aerosol model, which was trained in PyTorch, the `unmapped_network_t` implementation ensures the use of raw network input and output tensors without the normalizations and remappings that are performed by default for a `neural_network_t` object.
206
204
The `double_precision_file_t` (see \autoref{fig:double_precision_file_t}) type serves to control the interpretation of the JSON network file: JSON does not distinguish between categories of numerical values such as `real`, `double precision`, or even `integer`, so something external to the file must determine the interpretation of the numbers a JSON file stores.
207
205
206
+
{ width=55% }
207
+
208
208
{ width=100% }
209
209
210
210
{ width=100% }
0 commit comments