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
Removing the field dimension in the DataLayouts will allow us to specialize on all pointwise operations to use linear indexing, resulting in a 2x speedup (#1403).
The text was updated successfully, but these errors were encountered:
One option that I looked into was to see if we could change the user code to have Nf = 1 (almost) everywhere, and simply drop the use of views. One issue I ran into, however, is that: Expressions like @. ᶜts = ts_gs(thermo_args..., ᶜspecific, ᶜK, ᶜΦ, Y.c.ρ) results in ERROR: LoadError: ArgumentError: broadcasting over dictionaries and NamedTuples is reserved. We can technically resolve this by passing in the only parts that are needed, but this could require lots of changes on the user-side. It would be much more ideal if DataLayouts themselves have NamedFields stored in contiguous memory.
One important note is that memory coalescence "comes for free" with linear indexing on the gpu. I'd be curious if linear indexing is similarly important on the gpu, or if it's only a matter of memory coalescence. We should definitely verify this, first.
Using the thermo state assignment is probably a good representative example. We should probably also have a FD operation, so that we can include an example that uses LocalGeometry.
Removing the field dimension in the DataLayouts will allow us to specialize on all pointwise operations to use linear indexing, resulting in a 2x speedup (#1403).
The text was updated successfully, but these errors were encountered: