ornladios / ADIOS

The old ADIOS 1.x code repository. Look for ADIOS2 for new repo
https://csmd.ornl.gov/adios
Other
54 stars 40 forks source link

skel gts benchmark output can not be read by the read API #192

Open khou2020 opened 5 years ago

khou2020 commented 5 years ago

Hi: I followed the steps in the document to generate and build the gts benchmark in examples/skel I edited gts.xml to use MPI method. I also edited gts_params.xml top use MPI method and to run on 1 processes (also tried 4 as well as leaving it 128). After I ran the program, I use examples/C/read_all/read_all to read the generated BP file. I found that the API fails to read all non-scalar variables. I tried to modify the array value in the benchmark program, the change do affect min and max shown by the read_all program, however, the content of the variable remains 0. I tried to debug the read_all program, I found that adios_perform_reads return without reading any data (The buffer remains unchanged). Anyone know what went wrong?

pnorbert commented 5 years ago

Hi Kaiyuan,

I think the skel example code is buggy. It declares the arrays wrong. 'me' is supposed to be a 128 element long 1D array, filled with some values. But only a single element is written (on every process) and the offset is outside the global boundary (0-127)

ADIOS/examples/skel/gts$ /opt/adios1/bin/bpls -l out_restart_write_1 -D me integer me {128} = -1067922552 / -574985336 / null / null step 0: block 0: [128:128] = -844620920 / -844620920/ N/A / N/A block 1: [128:128] = -763262072 / -763262072/ N/A / N/A block 2: [128:128] = -1067922552 / -1067922552/ N/A / N/A block 3: [128:128] = -574985336 / -574985336/ N/A / N/A

Reading the array will try to get the whole array, from 0:127 but that is entirely missing. It is not an error, missing parts of an array are unmodified in the reading. So the test "works" because it has nothing to do.

What are you trying to achieve with adios 1.13? We moved onto adios 2.x a long time ago.

Best regards Norbert

On Sun, Feb 10, 2019 at 2:17 AM Kaiyuan Hou notifications@github.com wrote:

Hi: I followed the steps in the document to generate and build the gts benchmark in examples/skel I edited gts.xml to use MPI method. I also edited gts_params.xml top use MPI method and to run on 1 processes (also tried 4 as well as leaving it 128). After I ran the program, I use examples/C/read_all/read_all to read the generated BP file. I found that the API fails to read all non-scalar variables. I tried to modify the array value in the benchmark program, the change do affect min and max shown by the read_all program, however, the content of the variable remains 0. I tried to debug the read_all program, I found that adios_perform_reads return without reading any data (The buffer remains unchanged). Anyone know what went wrong?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ornladios/ADIOS/issues/192, or mute the thread https://github.com/notifications/unsubscribe-auth/ADGMLebXxd53SEEPfKqNHVNRcoWLIGkoks5vL8dxgaJpZM4ay7cQ .

khou2020 commented 5 years ago

Hi:

I just want some BP formatted file from real application instead of example programs. Is there any open source programs that outputs ADIOS file? Or is there data in BP format for download?