-
Notifications
You must be signed in to change notification settings - Fork 128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HDF5 Engine needs to support memory selections #1866
Comments
Changing this to Bug level since it is an issue with the Tutorial. The "proper" adios code is not portable to HDF5 output, forcing gray-scott to use inefficient code (extra copy). |
@pnorbert
|
gray-scott/simulation/writer.cpp line 112
That function makes a copy of the data sim.u without the ghost cells.
will just use the sim.u data pointer as is. |
Hi Norbert,
I let adios_memory_selection = true in my setting
And tried both bp and h5.
The gs.bp and gs.h5 have the same content.
Anything else I shall set? This. is my json setting file:
"L": 64,
"Du": 0.2,
"Dv": 0.1,
"F": 0.01,
"k": 0.05,
"dt": 2.0,
"plotgap": 100,
"steps": 1000,
"noise": 0.0000001,
"output": "gs.h5",
"checkpoint": false,
"checkpoint_freq": 10,
"checkpoint_output": "gs_ckpt.h5",
"adios_config": "adios2.xml",
"adios_span": false,
"adios_memory_selection": true,
"mesh_type": "image"
- Junmin
… On Jan 30, 2020, at 10:30 AM, pnorbert ***@***.***> wrote:
gray-scott/simulation/writer.cpp line 112
std::vector<double> u = sim.u_noghost();
That function makes a copy of the data sim.u without the ghost cells.
The "proper" code uses memory selection, and in line 89
const std::vector<double> &u = sim.u_ghost();
will just use the sim.u data pointer as is.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub <#1866?email_source=notifications&email_token=ABY7OFUTSUNPRZ5KZO44H63RAMMFRA5CNFSM4JJ2D4P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKMA6HY#issuecomment-580390687>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABY7OFTORLNYIZ6PEYK4PMDRAMMFRANCNFSM4JJ2D4PQ>.
|
I was using 2.5.0. Is this the master? Maybe it was already fixed?
Can you run gsplot.py and make sure the plots look right?
Thanks
…On Fri, Jan 31, 2020 at 4:22 PM guj ***@***.***> wrote:
Hi Norbert,
I let adios_memory_selection = true in my setting
And tried both bp and h5.
The gs.bp and gs.h5 have the same content.
Anything else I shall set? This. is my json setting file:
"L": 64,
"Du": 0.2,
"Dv": 0.1,
"F": 0.01,
"k": 0.05,
"dt": 2.0,
"plotgap": 100,
"steps": 1000,
"noise": 0.0000001,
"output": "gs.h5",
"checkpoint": false,
"checkpoint_freq": 10,
"checkpoint_output": "gs_ckpt.h5",
"adios_config": "adios2.xml",
"adios_span": false,
"adios_memory_selection": true,
"mesh_type": "image"
- Junmin
> On Jan 30, 2020, at 10:30 AM, pnorbert ***@***.***> wrote:
>
> gray-scott/simulation/writer.cpp line 112
>
> std::vector<double> u = sim.u_noghost();
> That function makes a copy of the data sim.u without the ghost cells.
> The "proper" code uses memory selection, and in line 89
>
> const std::vector<double> &u = sim.u_ghost();
> will just use the sim.u data pointer as is.
>
> —
> You are receiving this because you were assigned.
> Reply to this email directly, view it on GitHub <
#1866?email_source=notifications&email_token=ABY7OFUTSUNPRZ5KZO44H63RAMMFRA5CNFSM4JJ2D4P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKMA6HY#issuecomment-580390687>,
or unsubscribe <
https://github.com/notifications/unsubscribe-auth/ABY7OFTORLNYIZ6PEYK4PMDRAMMFRANCNFSM4JJ2D4PQ
>.
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1866?email_source=notifications&email_token=AAYYYLKDG3ZWK2BBPJNGTYLRASJCLA5CNFSM4JJ2D4P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKQBOGA#issuecomment-580917016>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAYYYLNHUMNLWY4IGDPGNK3RASJCLANCNFSM4JJ2D4PQ>
.
|
Yes I am using master.
Here is video of gsplot.py on h5 file (plotga=10, steps=1000)
https://youtu.be/AmnNx29Q_HE <https://youtu.be/AmnNx29Q_HE>
- Junmin
… On Jan 31, 2020, at 6:30 PM, pnorbert ***@***.***> wrote:
I was using 2.5.0. Is this the master? Maybe it was already fixed?
Can you run gsplot.py and make sure the plots look right?
Thanks
On Fri, Jan 31, 2020 at 4:22 PM guj ***@***.***> wrote:
> Hi Norbert,
>
> I let adios_memory_selection = true in my setting
> And tried both bp and h5.
> The gs.bp and gs.h5 have the same content.
>
> Anything else I shall set? This. is my json setting file:
>
> "L": 64,
> "Du": 0.2,
> "Dv": 0.1,
> "F": 0.01,
> "k": 0.05,
> "dt": 2.0,
> "plotgap": 100,
> "steps": 1000,
> "noise": 0.0000001,
> "output": "gs.h5",
> "checkpoint": false,
> "checkpoint_freq": 10,
> "checkpoint_output": "gs_ckpt.h5",
> "adios_config": "adios2.xml",
> "adios_span": false,
> "adios_memory_selection": true,
> "mesh_type": "image"
>
>
> - Junmin
>
>
> > On Jan 30, 2020, at 10:30 AM, pnorbert ***@***.***> wrote:
> >
> > gray-scott/simulation/writer.cpp line 112
> >
> > std::vector<double> u = sim.u_noghost();
> > That function makes a copy of the data sim.u without the ghost cells.
> > The "proper" code uses memory selection, and in line 89
> >
> > const std::vector<double> &u = sim.u_ghost();
> > will just use the sim.u data pointer as is.
> >
> > —
> > You are receiving this because you were assigned.
> > Reply to this email directly, view it on GitHub <
> #1866?email_source=notifications&email_token=ABY7OFUTSUNPRZ5KZO44H63RAMMFRA5CNFSM4JJ2D4P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKMA6HY#issuecomment-580390687>,
> or unsubscribe <
> https://github.com/notifications/unsubscribe-auth/ABY7OFTORLNYIZ6PEYK4PMDRAMMFRANCNFSM4JJ2D4PQ
> >.
> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#1866?email_source=notifications&email_token=AAYYYLKDG3ZWK2BBPJNGTYLRASJCLA5CNFSM4JJ2D4P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKQBOGA#issuecomment-580917016>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AAYYYLNHUMNLWY4IGDPGNK3RASJCLANCNFSM4JJ2D4PQ>
> .
>
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub <#1866?email_source=notifications&email_token=ABY7OFT5WZNUSHM6A6IQ3RTRATNDBA5CNFSM4JJ2D4P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKQRH2I#issuecomment-580981737>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABY7OFTWHRLH7DZ2DWDO6FLRATNDBANCNFSM4JJ2D4PQ>.
|
Resolved. Thanks for testing this. The issue appears on the VM with the ADIOS 2.5.0 installation from github source (commit 837d1b0). It does not appear with master or with an installation from the downloaded 2.5.0 tarball. |
The Gray-Scott example has ghost cells that must not be written. Since memory selection is supported in ADIOS, there is an option (in simulation/settings-file.json "adios_memory_selection": true) to use it in Gray-Scott writer.cpp (var_u.SetMemorySelection()).
So far we have used the original writing code that used a function to copy out the actual data to provide a contiguous array for ADIOS Put() without memory selection. But BP and SST now supports memory selection and it's time to retire this code in Gray-Scott that does an extra memory copy.
Plotting with gsplot.py will make it obvious that the data is invalid when writing with the HDF5 engine and using memory selections.
The text was updated successfully, but these errors were encountered: