ADIOS icon indicating copy to clipboard operation
ADIOS copied to clipboard

gpp.py gererates gread_...ch file not consisntent with the manual

Open sungeunbae opened this issue 10 years ago • 1 comments

It is perhaps an issue with the manual, rather than with gpp.py There is examples/C/manual/gread_temperature.ch, but gpp.py is supposed to generate gread_temperatue.ch as well as gwrite_temperature.ch.

The file contained in the package reads:

adios_groupsize = 0; adios_totalsize = 0; adios_group_size (adios_handle, adios_groupsize, &adios_totalsize); adios_buf_size = 4; adios_read (adios_handle, "NX", &NX, adios_buf_size); adios_buf_size = 8 * (NX); adios_read (adios_handle, "/temperature", t, adios_buf_size);

and works ok.

When gread_temperatue.ch is generated by "gpp.py config.xml", it reads:

s = adios_selection_writeblock (rank); adios_schedule_read (fp, s, "/temperature", 0, 1, t); adios_perform_reads (fp, 1); adios_selection_delete (s);


where s, fp are undefined and the example code with this ch file won't compile.

sungeunbae avatar Apr 09 '15 04:04 sungeunbae

Hi,

The gpp.py generated reading code is completely broken. The old style of code still works with the POSIX and MPI methods but with nothing else. It is only usable for checkpoint/restart style reading on the same number of processors as the checkpoint was made. Then we could not figure it out how to generate a generic reading code and gpp.py is broken.

So the manual is wrong, it should state that we don't support automatic reading code generation.

Best regards Norbert

On Thu, Apr 9, 2015 at 12:46 AM, Sung Bae [email protected] wrote:

It is perhaps an issue with the manual, rather than with gpp.py There is examples/C/manual/gread_temperature.ch, but gpp.py is supposed to generate gread_temperatue.ch as well as gwrite_temperature.ch.

The file contained in the package reads:

adios_groupsize = 0; adios_totalsize = 0; adios_group_size (adios_handle, adios_groupsize, &adios_totalsize); adios_buf_size = 4; adios_read (adios_handle, "NX", &NX, adios_buf_size); adios_buf_size = 8 * (NX); adios_read (adios_handle, "/temperature", t, adios_buf_size);

and works ok.

When gread_temperatue.ch is generated by "gpp.py config.xml", it reads:

s = adios_selection_writeblock (rank); adios_schedule_read (fp, s, "/temperature", 0, 1, t); adios_perform_reads (fp, 1);

adios_selection_delete (s);

where s, fp are undefined and the example code with this ch file won't compile.

— Reply to this email directly or view it on GitHub https://github.com/ornladios/ADIOS/issues/48.

pnorbert avatar Apr 09 '15 14:04 pnorbert